TensorRT  8.2.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 (const char *name) noexcept
 Set the name of a layer. More...
 
const char * getName () const noexcept
 Return the name of a layer. More...
 
int32_t getNbInputs () const noexcept
 Get the number of inputs of a layer.
 
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.
 
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...
 

Protected Attributes

apiv::VFillLayer * mImpl
 
- Protected Attributes inherited from nvinfer1::ILayer
apiv::VLayer * mLayer
 

Additional Inherited Members

- Protected Member Functions inherited from nvinfer1::INoCopy
 INoCopy (const INoCopy &other)=delete
 
INoCopyoperator= (const INoCopy &other)=delete
 
 INoCopy (INoCopy &&other)=delete
 
INoCopyoperator= (INoCopy &&other)=delete
 

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::setTensor 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 a 1D Int32 tensor with length not exceeding 2*Dims::MAX_DIMS.
  • 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.

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 a Dims with nbDims = -1.

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 a Dims with nbDims = -1.

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; kRANDOMUNIFORM | the minimum value;

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; kRANDOMUNIFORM | the maximal value;

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
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.

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

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