TensorRT
6.0.0.6

A fully connected layer in a network definition. This layer expects an input tensor of three or more nonbatch 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) TRTNOEXCEPT=0 
Set the number of output channels K from the fully connected layer. More...  
virtual int  getNbOutputChannels () const TRTNOEXCEPT=0 
Get the number of output channels K from the fully connected layer. More...  
virtual void  setKernelWeights (Weights weights) TRTNOEXCEPT=0 
Set the kernel weights, given as a KxC matrix in rowmajor order. More...  
virtual Weights  getKernelWeights () const TRTNOEXCEPT=0 
Get the kernel weights. More...  
virtual void  setBiasWeights (Weights weights) TRTNOEXCEPT=0 
Set the bias weights. More...  
virtual Weights  getBiasWeights () const TRTNOEXCEPT=0 
Get the bias weights. More...  
Public Member Functions inherited from nvinfer1::ILayer  
virtual LayerType  getType () const TRTNOEXCEPT=0 
Return the type of a layer. More...  
virtual void  setName (const char *name) TRTNOEXCEPT=0 
Set the name of a layer. More...  
virtual const char *  getName () const TRTNOEXCEPT=0 
Return the name of a layer. More...  
virtual int  getNbInputs () const TRTNOEXCEPT=0 
Get the number of inputs of a layer.  
virtual ITensor *  getInput (int index) const TRTNOEXCEPT=0 
Get the layer input corresponding to the given index. More...  
virtual int  getNbOutputs () const TRTNOEXCEPT=0 
Get the number of outputs of a layer.  
virtual ITensor *  getOutput (int index) const TRTNOEXCEPT=0 
Get the layer output corresponding to the given index. More...  
virtual void  setInput (int index, ITensor &tensor) TRTNOEXCEPT=0 
replace an input of this layer with a specific tensor More...  
virtual void  setPrecision (DataType dataType) TRTNOEXCEPT=0 
Set the computational precision of this layer. More...  
virtual DataType  getPrecision () const TRTNOEXCEPT=0 
get the computational precision of this layer More...  
virtual bool  precisionIsSet () const TRTNOEXCEPT=0 
whether the computational precision has been set for this layer More...  
virtual void  resetPrecision () TRTNOEXCEPT=0 
reset the computational precision for this layer More...  
virtual void  setOutputType (int index, DataType dataType) TRTNOEXCEPT=0 
Set the output type of this layer. More...  
virtual DataType  getOutputType (int index) const TRTNOEXCEPT=0 
get the output type of this layer More...  
virtual bool  outputTypeIsSet (int index) const TRTNOEXCEPT=0 
whether the output type has been set for this layer More...  
virtual void  resetOutputType (int index) TRTNOEXCEPT=0 
reset the output type for this layer More...  
A fully connected layer in a network definition. This layer expects an input tensor of three or more nonbatch 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 rowmajor order.

pure virtual 
Set the number of output channels K
from the fully connected layer.
If executing this layer on DLA, number of output channels must in the range [1,8192].