TensorRT 10.12.0
nvinfer1::ILoopOutputLayer Class Reference

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

#include <NvInfer.h>

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

Public Member Functions

LoopOutput getLoopOutput () const noexcept
 Get which kind a loop output has. More...
 
void setAxis (int32_t axis) noexcept
 Set where to insert the contenation axis. Ignored if getLoopOutput() is kLAST_VALUE. More...
 
int32_t getAxis () const noexcept
 Get axis being concatenated over. More...
 
void setInput (int32_t index, ITensor &tensor) noexcept
 Append or replace an input of this layer with a specific tensor. More...
 
- Public Member Functions inherited from nvinfer1::ILoopBoundaryLayer
ILoopgetLoop () const noexcept
 Get a pointer to ILoop associated with this boundary layer. More...
 
- Public Member Functions inherited from nvinfer1::ILayer
LayerType getType () const noexcept
 Return the type of a layer. More...
 
void setName (char const *name) noexcept
 Set the name of a layer. More...
 
char const * getName () const noexcept
 Return the name of a layer. More...
 
int32_t getNbInputs () const noexcept
 Get the number of inputs of a layer. More...
 
ITensorgetInput (int32_t index) const noexcept
 Get the layer input corresponding to the given index. More...
 
int32_t getNbOutputs () const noexcept
 Get the number of outputs of a layer. More...
 
ITensorgetOutput (int32_t index) const noexcept
 Get the layer output corresponding to the given index. More...
 
void setInput (int32_t index, ITensor &tensor) noexcept
 Replace an input of this layer with a specific tensor. More...
 
TRT_DEPRECATED void setPrecision (DataType dataType) noexcept
 Set the preferred or required computational precision of this layer in a weakly-typed network. More...
 
DataType getPrecision () const noexcept
 get the computational precision of this layer More...
 
TRT_DEPRECATED bool precisionIsSet () const noexcept
 whether the computational precision has been set for this layer More...
 
TRT_DEPRECATED void resetPrecision () noexcept
 reset the computational precision for this layer More...
 
TRT_DEPRECATED void setOutputType (int32_t index, DataType dataType) noexcept
 Set the output type of this layer in a weakly-typed network. More...
 
DataType getOutputType (int32_t index) const noexcept
 get the output type of this layer More...
 
TRT_DEPRECATED bool outputTypeIsSet (int32_t index) const noexcept
 whether the output type has been set for this layer More...
 
TRT_DEPRECATED void resetOutputType (int32_t index) noexcept
 reset the output type for this layer More...
 
void setMetadata (char const *metadata) noexcept
 Set the metadata for this layer. More...
 
char const * getMetadata () const noexcept
 Get the metadata of the layer. More...
 

Protected Member Functions

virtual ~ILoopOutputLayer () noexcept=default
 
- Protected Member Functions inherited from nvinfer1::ILoopBoundaryLayer
virtual ~ILoopBoundaryLayer () noexcept=default
 
- Protected Member Functions inherited from nvinfer1::ILayer
virtual ~ILayer () noexcept=default
 
- Protected Member Functions inherited from nvinfer1::INoCopy
 INoCopy ()=default
 
virtual ~INoCopy ()=default
 
 INoCopy (INoCopy const &other)=delete
 
INoCopyoperator= (INoCopy const &other)=delete
 
 INoCopy (INoCopy &&other)=delete
 
INoCopyoperator= (INoCopy &&other)=delete
 

Protected Attributes

apiv::VLoopOutputLayer * mImpl
 
- Protected Attributes inherited from nvinfer1::ILoopBoundaryLayer
apiv::VLoopBoundaryLayer * mBoundary
 
- Protected Attributes inherited from nvinfer1::ILayer
apiv::VLayer * mLayer
 

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 be from an IRecurrenceLayer in the same loop.

If getLoopOutput() is kCONCATENATE or kREVERSE, a second input must be provided. The second input must be a 0D 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.

Constructor & Destructor Documentation

◆ ~ILoopOutputLayer()

virtual nvinfer1::ILoopOutputLayer::~ILoopOutputLayer ( )
protectedvirtualdefaultnoexcept

Member Function Documentation

◆ getAxis()

int32_t nvinfer1::ILoopOutputLayer::getAxis ( ) const
inlinenoexcept

Get axis being concatenated over.

◆ getLoopOutput()

LoopOutput nvinfer1::ILoopOutputLayer::getLoopOutput ( ) const
inlinenoexcept

Get which kind a loop output has.

◆ setAxis()

void nvinfer1::ILoopOutputLayer::setAxis ( int32_t  axis)
inlinenoexcept

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::ILayer::setInput ( int32_t  index,
ITensor tensor 
)
inlinenoexcept

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:

  • 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 shape tensor of type Int32 or Int64.

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

Member Data Documentation

◆ mImpl

apiv::VLoopOutputLayer* nvinfer1::ILoopOutputLayer::mImpl
protected

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

  Copyright © 2024 NVIDIA Corporation
  Privacy Policy | Manage My Privacy | Do Not Sell or Share My Data | Terms of Service | Accessibility | Corporate Policies | Product Security | Contact