TensorRT 10.0.0
nvinfer1::IFillLayer Class Reference

Generate a tensor according to a specified mode. More...

#include <NvInfer.h>

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

Public Member Functions

void setDimensions (Dims const &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 setAlphaInt64 (int64_t alpha) noexcept
 Set the alpha parameter with int64 datatype. More...
 
int64_t getAlphaInt64 () const noexcept
 Get the value of alpha parameter with int64 datatype. More...
 
void setBetaInt64 (int64_t beta) noexcept
 Set the beta parameter with int64 datatype. More...
 
int64_t getBetaInt64 () const noexcept
 Get the value of beta parameter with int64 datatype. More...
 
bool isAlphaBetaInt64 () const noexcept
 Return true if alpha/beta have type int64, false if they have type double. More...
 
void setToType (DataType toType) noexcept
 Set the fill layer output type. More...
 
DataType getToType () const noexcept
 Get the fill layer output type. 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 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...
 
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 in a weakly-typed network. 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 a tensor according to a specified mode.

The fill layer generates a tensor with values that are drawn from a random distribution or an affine function of their indices, as specified by the FillMode.

When an IFillLayer is initially added to a network, all of its parameters are static. Each parameter may be changed to dynamic by setting a corresponding input. A parameter is considered dynamic even if that input is the output of an IConstantLayer. The inputs for each parameter are:

  • 0: Dimensions
  • 1: Alpha
  • 2: Beta

The parameter Dimensions describes the shape of the output. If the Dimensions input is provided, it must be a 1D tensor of type Int32 or Int64 whose length is computable by constant folding.

The meanings of Alpha and Beta depend on the mode, as described in IFillLayer::setAlpha(), IFillLayer::setBeta(), and IFillLayer::setInput(). Parameters Alpha and Beta must both be static or both be dynamic.

An IFillLayer can produce a shape tensor if the following restrictions are met:

  • The FillOperation is kLINSPACE.
  • The output has type Int32, Int64, or Float.
  • The volume of the output is within the volume limit imposed on shape tensors.
  • If input 0 exists, the values of input 0 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

◆ getAlphaInt64()

int64_t nvinfer1::IFillLayer::getAlphaInt64 ( ) const
inlinenoexcept

Get the value of alpha parameter with int64 datatype.

Returns
A int64 value of alpha.

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

See also
setAlphaInt64

◆ 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, setBetaInt64

◆ getBetaInt64()

int64_t nvinfer1::IFillLayer::getBetaInt64 ( ) const
inlinenoexcept

Get the value of beta parameter with int64 datatype.

Returns
A int64 value of beta.

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

See also
setBetaInt64

◆ 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

◆ getToType()

DataType nvinfer1::IFillLayer::getToType ( ) const
inlinenoexcept

Get the fill layer output type.

Returns
toType parameter set during layer creation or by setToType(). The return value is the output type of the fill layer. The default value is DataType::kFLOAT.

◆ isAlphaBetaInt64()

bool nvinfer1::IFillLayer::isAlphaBetaInt64 ( ) const
inlinenoexcept

Return true if alpha/beta have type int64, false if they have type double.

◆ 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 input 1 exists, it is reset to null by this method.

See also
getAlpha, setAlphaInt64

◆ setAlphaInt64()

void nvinfer1::IFillLayer::setAlphaInt64 ( int64_t  alpha)
inlinenoexcept

Set the alpha parameter with int64 datatype.

Parameters
alphahas different meanings for each operator:

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

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

See also
getAlphaInt64

◆ 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 input 2 exists, it is reset to null by this method.

See also
getBeta

◆ setBetaInt64()

void nvinfer1::IFillLayer::setBetaInt64 ( int64_t  beta)
inlinenoexcept

Set the beta parameter with int64 datatype.

Parameters
betahas different meanings for each operator:

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

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

See also
getBetaInt64

◆ setDimensions()

void nvinfer1::IFillLayer::setDimensions ( Dims const &  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

The three inputs correspond to these setters of IFillLayer:

  • 0: setDimensions
  • 1: setAlpha
  • 2: setBeta

The following descriptions give more intuitive names for the inputs.

Indices for kLINSPACE are:

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

Indices for kRANDOM_UNIFORM are:

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

Indices for kRANDOM_NORMAL are:

  • 0: Shape, a 1D shape tensor, specifies the output tensor's dimensions.
  • 1: Mean, a scalar, specifies the mean of the normal distribution,.
  • 2: Scale, a scalar, specifies 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

◆ setToType()

void nvinfer1::IFillLayer::setToType ( DataType  toType)
inlinenoexcept

Set the fill layer output type.

Parameters
toTypeThe DataType of the output tensor.

Set the output type of the fill layer. Valid values are DataType::kFLOAT, DataType::kINT32, and DataType::kINT64. If the network is strongly typed, setToType must be used to set the output type, and use of setOutputType is an error. Otherwise, types passed to setOutputType and setToType must be the same.

See also
NetworkDefinitionCreationFlag::kSTRONGLY_TYPED

Member Data Documentation

◆ mImpl

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

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