TensorRT 8.6.0
nvinfer1::IFillLayer Class Reference

Generate an output tensor with specified mode. More...

#include <NvInfer.h>

Inheritance diagram for nvinfer1::IFillLayer:
nvinfer1::ILayer nvinfer1::INoCopy

Public Member Functions

void setDimensions (Dims dimensions) noexcept
 Set the output tensor's dimensions. More...
 
Dims getDimensions () const noexcept
 Get the output tensor's dimensions. More...
 
void setOperation (FillOperation op) noexcept
 Set the fill operation for the layer. More...
 
FillOperation getOperation () const noexcept
 Get the fill operation for the layer. More...
 
void setAlpha (double alpha) noexcept
 Set the alpha parameter. More...
 
double getAlpha () const noexcept
 Get the value of alpha parameter. More...
 
void setBeta (double beta) noexcept
 Set the beta parameter. More...
 
double getBeta () const noexcept
 Get the value of beta parameter. More...
 
void setInput (int32_t index, ITensor &tensor) noexcept
 replace an input of this layer with a specific tensor. 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...
 
void setPrecision (DataType dataType) noexcept
 Set the computational precision of this layer. More...
 
DataType getPrecision () const noexcept
 get the computational precision of this layer More...
 
bool precisionIsSet () const noexcept
 whether the computational precision has been set for this layer More...
 
void resetPrecision () noexcept
 reset the computational precision for this layer More...
 
void setOutputType (int32_t index, DataType dataType) noexcept
 Set the output type of this layer. More...
 
DataType getOutputType (int32_t index) const noexcept
 get the output type of this layer More...
 
bool outputTypeIsSet (int32_t index) const noexcept
 whether the output type has been set for this layer More...
 
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 ~IFillLayer () 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::VFillLayer * mImpl
 
- Protected Attributes inherited from nvinfer1::ILayer
apiv::VLayer * mLayer
 

Detailed Description

Generate an output tensor with specified mode.

The fill layer has two variants, static and dynamic. Static fill specifies its parameters at layer creation time via Dims and the get/set accessor functions of the IFillLayer. Dynamic fill specifies one or more of its parameters as ITensors, by using ILayer::setInput to add a corresponding input. The corresponding static parameter is used if an input is missing or null.

The shape of the output is specified by the parameter Dimension, or if non-null and present, the first input, which must be a 1D Int32 shape tensor. Thus an application can determine if the IFillLayer has a dynamic output shape based on whether it has a non-null first input.

Alpha and Beta are treated differently based on the Fill Operation specified. See details in IFillLayer::setAlpha(), IFillLayer::setBeta(), and IFillLayer::setInput().

A fill layer can produce a shape tensor if the following restrictions are met:

  • The FillOperation is kLINSPACE.
  • The output is an Int32 or Float tensor within the volume limit of a shape tensor.
  • There is at most one input, and if so, that input is input 0.
  • If input 0 exists, the length of the output tensor must be computable by constant folding.
See also
FillOperation
Warning
Do not inherit from this class, as doing so will break forward-compatibility of the API and ABI.

Constructor & Destructor Documentation

◆ ~IFillLayer()

virtual nvinfer1::IFillLayer::~IFillLayer ( )
protectedvirtualdefaultnoexcept

Member Function Documentation

◆ getAlpha()

double nvinfer1::IFillLayer::getAlpha ( ) const
inlinenoexcept

Get the value of alpha parameter.

Returns
A double value of alpha.

If the second input is present and non-null, this function returns -1.0.

See also
setAlpha

◆ getBeta()

double nvinfer1::IFillLayer::getBeta ( ) const
inlinenoexcept

Get the value of beta parameter.

Returns
A double value of beta.

If the third input is present and non-null, this function returns -1.0.

See also
setBeta

◆ getDimensions()

Dims nvinfer1::IFillLayer::getDimensions ( ) const
inlinenoexcept

Get the output tensor's dimensions.

Returns
The output tensor's dimensions, or an invalid Dims structure.

If the first input is present and non-null, this function returns a Dims with nbDims = -1.

See also
setDimensions

◆ getOperation()

FillOperation nvinfer1::IFillLayer::getOperation ( ) const
inlinenoexcept

Get the fill operation for the layer.

See also
setOperation(), FillOperation

◆ setAlpha()

void nvinfer1::IFillLayer::setAlpha ( double  alpha)
inlinenoexcept

Set the alpha parameter.

Parameters
alphahas different meanings for each operator:

Operation | Usage kLINSPACE | the start value, defaults to 0.0; kRANDOM_UNIFORM | the minimum value, defaults to 0.0; kRANDOM_NORMAL | the mean of the normal distribution, default is 0.0;

If a second input had been used to create this layer, that input is reset to null by this method.

See also
getAlpha

◆ setBeta()

void nvinfer1::IFillLayer::setBeta ( double  beta)
inlinenoexcept

Set the beta parameter.

Parameters
betahas different meanings for each operator:

Operation | Usage kLINSPACE | the delta value, defaults to 1.0; kRANDOM_UNIFORM | the maximal value, defaults to 1.0; kRANDOM_NORMAL | the standard deviation of the normal distribution, default is 1.0;

If a third input had been used to create this layer, that input is reset to null by this method.

See also
getBeta

◆ setDimensions()

void nvinfer1::IFillLayer::setDimensions ( Dims  dimensions)
inlinenoexcept

Set the output tensor's dimensions.

Parameters
dimensionsThe output tensor's dimensions.

If the first input had been used to create this layer, that input is reset to null by this method.

See also
getDimensions

◆ setInput()

void nvinfer1::ILayer::setInput ( int32_t  index,
ITensor tensor 
)
inlinenoexcept

replace an input of this layer with a specific tensor.

Parameters
indexthe index of the input to set.
tensorthe new input tensor

Indices for kLINSPACE are described as:

  • 0: Shape tensor, represents the output tensor's dimensions.
  • 1: Start, a scalar, represents the start value.
  • 2: Delta, a 1D tensor, length equals to shape tensor's nbDims, represents the delta value for each dimension.

Indices for kRANDOM_UNIFORM are described as:

  • 0: Shape tensor, represents the output tensor's dimensions.
  • 1: Minimum, a scalar, represents the minimum random value.
  • 2: Maximum, a scalar, represents the maximal random value.

Indices for kRANDOM_NORMAL are described as:

  • 0: Shape tensor, represents the output tensor's dimensions.
  • 1: Mean, a scalar, represents the mean of the normal distribution,.
  • 2: Scale, a scalar, represents the standard deviation of the normal distribution.

Using the corresponding setter resets the input to null.

If either inputs 1 or 2, is non-null, then both must be non-null and have the same data type.

If this function is called for an index greater or equal to getNbInputs(), then afterwards getNbInputs() returns index + 1, and any missing intervening inputs are set to null.

◆ setOperation()

void nvinfer1::IFillLayer::setOperation ( FillOperation  op)
inlinenoexcept

Set the fill operation for the layer.

See also
getOperation(), FillOperation

Member Data Documentation

◆ mImpl

apiv::VFillLayer* nvinfer1::IFillLayer::mImpl
protected

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