TensorRT
7.1.3.0
|
A Softmax layer in a network definition. More...
#include <NvInfer.h>
Public Member Functions | |
virtual void | setAxes (uint32_t axes)=0 |
Set the axis along which softmax is computed. Currently, only one axis can be set. More... | |
virtual uint32_t | getAxes () const =0 |
Get the axis along which softmax occurs. 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... | |
virtual void | setInput (int index, ITensor &tensor)=0 |
Replace an input of this layer with a specific tensor. More... | |
virtual void | setPrecision (DataType dataType)=0 |
Set the computational precision of this layer. More... | |
virtual DataType | getPrecision () const =0 |
get the computational precision of this layer More... | |
virtual bool | precisionIsSet () const =0 |
whether the computational precision has been set for this layer More... | |
virtual void | resetPrecision ()=0 |
reset the computational precision for this layer More... | |
virtual void | setOutputType (int index, DataType dataType)=0 |
Set the output type of this layer. More... | |
virtual DataType | getOutputType (int index) const =0 |
get the output type of this layer More... | |
virtual bool | outputTypeIsSet (int index) const =0 |
whether the output type has been set for this layer More... | |
virtual void | resetOutputType (int index)=0 |
reset the output type for this layer More... | |
A Softmax layer in a network definition.
This layer applies a per-channel softmax to its input.
The output size is the same as the input size.
|
pure virtual |
Get the axis along which softmax occurs.
|
pure virtual |
Set the axis along which softmax is computed. Currently, only one axis can be set.
The axis is specified by setting the bit corresponding to the axis to 1. Let's say we have an NCHW tensor as input (three non-batch dimensions).
In implicit mode : Bit 0 corresponds to the C dimension boolean. Bit 1 corresponds to the H dimension boolean. Bit 2 corresponds to the W dimension boolean. By default, softmax is performed on the axis which is the number of axes minus three. It is 0 if there are fewer than 3 non-batch axes. For example, if the input is NCHW, the default axis is C. If the input is NHW, then the default axis is H.
In explicit mode : Bit 0 corresponds to the N dimension boolean. Bit 1 corresponds to the C dimension boolean. Bit 2 corresponds to the H dimension boolean. Bit 3 corresponds to the W dimension boolean. By default, softmax is performed on the axis which is the number of axes minus three. It is 0 if there are fewer than 3 axes. For example, if the input is NCHW, the default axis is C. If the input is NHW, then the default axis is N.
For example, to perform softmax on axis R of a NPQRCHW input, set bit 2 with implicit batch mode, set bit 3 with explicit batch mode.
axes | The axis along which softmax is computed. Here axes is a bitmap. For example, when doing softmax along axis 0, bit 0 is set to 1, axes = 1 << axis = 1. |