|
TensorRT
|
A fully connected layer in a network definition. This layer expects an input tensor of three or more non-batch dimensions. The input is automatically reshaped into an MxV tensor X, where V is a product of the last three dimensions and M is a product of the remaining dimensions (where the product over 0 dimensions is defined as 1). For example:
More...
#include <NvInfer.h>
Public Member Functions | |
| virtual void | setNbOutputChannels (int nbOutputs)=0 |
Set the number of output channels K from the fully connected layer. More... | |
| virtual int | getNbOutputChannels () const =0 |
Get the number of output channels K from the fully connected layer. More... | |
| virtual void | setKernelWeights (Weights weights)=0 |
Set the kernel weights, given as a KxC matrix in row-major order. More... | |
| virtual Weights | getKernelWeights () const =0 |
| Get the kernel weights. More... | |
| virtual void | setBiasWeights (Weights weights)=0 |
| Set the bias weights. More... | |
| virtual Weights | getBiasWeights () const =0 |
| Get the bias weights. More... | |
Public Member Functions inherited from nvinfer1::ILayer | |
| virtual LayerType | getType () const =0 |
| Return the type of a layer. More... | |
| virtual void | setName (const char *name)=0 |
| Set the name of a layer. More... | |
| virtual const char * | getName () const =0 |
| Return the name of a layer. More... | |
| virtual int | getNbInputs () const =0 |
| Get the number of inputs of a layer. | |
| virtual ITensor * | getInput (int index) const =0 |
| Get the layer input corresponding to the given index. More... | |
| virtual int | getNbOutputs () const =0 |
| Get the number of outputs of a layer. | |
| virtual ITensor * | getOutput (int index) const =0 |
| Get the layer output corresponding to the given index. More... | |
A fully connected layer in a network definition. This layer expects an input tensor of three or more non-batch dimensions. The input is automatically reshaped into an MxV tensor X, where V is a product of the last three dimensions and M is a product of the remaining dimensions (where the product over 0 dimensions is defined as 1). For example:
{C, H, W}, then the tensor is reshaped into {1, C*H*W}.{P, C, H, W}, then the tensor is reshaped into {P, C*H*W}.The layer then performs the following operation:
Where X is the MxV tensor defined above, W is the KxV weight tensor of the layer, and bias is a row vector size K that is broadcasted to MxK. K is the number of output channels, and configurable via setNbOutputChannels(). If bias is not specified, it is implicitly 0.
The MxK result Y is then reshaped such that the last three dimensions are {K, 1, 1} and the remaining dimensions match the dimensions of the input tensor. For example:
{C, H, W}, then the output tensor will have shape {K, 1, 1}.{P, C, H, W}, then the output tensor will have shape {P, K, 1, 1}.
|
pure virtual |
Get the bias weights.
|
pure virtual |
Get the kernel weights.
|
pure virtual |
Get the number of output channels K from the fully connected layer.
|
pure virtual |
Set the bias weights.
Bias is optional. To omit bias, set the count value in the weights structure to zero.
|
pure virtual |
Set the kernel weights, given as a KxC matrix in row-major order.
|
pure virtual |
Set the number of output channels K from the fully connected layer.