TensorRT  7.1.3.0
nvinfer1::ILoopOutputLayer Class Referenceabstract

#include <NvInfer.h>

Inheritance diagram for nvinfer1::ILoopOutputLayer:
nvinfer1::ILoopBoundaryLayer nvinfer1::ILayer

Public Member Functions

virtual LoopOutput getLoopOutput () const noexcept=0
 
virtual void setAxis (int axis) noexcept=0
 Set where to insert the contenation axis. Ignored if getLoopOutput() is kLAST_VALUE. More...
 
virtual int getAxis () const noexcept=0
 Get axis being concatenated over.
 
void setInput (int index, ITensor &tensor) _TENSORRT_OVERRIDE=0
 Append or replace an input of this layer with a specific tensor. More...
 
- Public Member Functions inherited from nvinfer1::ILoopBoundaryLayer
virtual ILoopgetLoop () const noexcept=0
 Return pointer to ILoop associated with this boundary layer.
 
- 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 ITensorgetInput (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 ITensorgetOutput (int index) const =0
 Get the layer output corresponding to the given index. 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...
 

Detailed Description

An ILoopOutputLayer is the sole way to get output from a loop.

The first input tensor must be defined inside the loop; the output tensor is outside the loop. The second input tensor, if present, must be defined outside the loop.

If getLoopOutput() is kLAST_VALUE, a single input must be provided, and that input must from a IRecurrenceLayer in the same loop.

If getLoopOutput() is kCONCATENATE or kREVERSE, a second input must be provided. The second input must be a scalar “shape tensor”, defined before the loop commences, that specifies the concatenation length of the output.

The output tensor has j more dimensions than the input tensor, where j == 0 if getLoopOutput() is kLAST_VALUE j == 1 if getLoopOutput() is kCONCATENATE or kREVERSE.

Member Function Documentation

◆ setAxis()

virtual void nvinfer1::ILoopOutputLayer::setAxis ( int  axis)
pure virtualnoexcept

Set where to insert the contenation axis. Ignored if getLoopOutput() is kLAST_VALUE.

For example, if the input tensor has dimensions [b,c,d], and getLoopOutput() is kCONCATENATE, the output has four dimensions. Let a be the value of the second input. setAxis(0) causes the output to have dimensions [a,b,c,d]. setAxis(1) causes the output to have dimensions [b,a,c,d]. setAxis(2) causes the output to have dimensions [b,c,a,d]. setAxis(3) causes the output to have dimensions [b,c,d,a]. Default is axis is 0.

◆ setInput()

void nvinfer1::ILoopOutputLayer::setInput ( int  index,
ITensor tensor 
)
pure virtual

Append or replace an input of this layer with a specific tensor.

Parameters
indexthe index of the input to modify.
tensorthe new input tensor Sets the input tensor for the given index. The index must be 0 for a kLAST_VALUE loop output layer. Loop output layer is converted to a kCONCATENATE or kREVERSE loop output layer by calling setInput with an index 1. A kCONCATENATE or kREVERSE loop output layer cannot be converted back to a kLAST_VALUE loop output layer.

For a kCONCATENATE or kREVERSE loop output layer, the values 0 and 1 are valid. The indices in the kCONCATENATE or kREVERSE cases are as follows:

Index | Description 0 | Contribution to the output tensor. The contribution must come from inside the loop. 1 | The concatenation length scalar value, must come from outside the loop, as a 0D Int32 shape tensor.

If this function is called with a value 1, then the function getNbInputs() changes from returning 1 to 2.

Implements nvinfer1::ILayer.


The documentation for this class was generated from the following file: