TensorRT 10.8.0
nvinfer1::INormalizationLayer 类参考

网络定义中的归一化层。 更多...

#include <NvInfer.h>

nvinfer1::INormalizationLayer 的继承关系图
nvinfer1::ILayer nvinfer1::INoCopy

公共成员函数

void setEpsilon (float eps) noexcept
 设置用于归一化计算的 epsilon 值。 更多...
 
float getEpsilon () const noexcept
 获取用于归一化计算的 epsilon 值。 更多...
 
void setAxes (uint32_t axesMask) noexcept
 设置归一化计算的缩减轴。 更多...
 
uint32_t getAxes () const noexcept
 获取用于归一化计算的轴值。 更多...
 
void setNbGroups (int64_t nbGroups) noexcept
 设置用于在归一化计算中拆分通道的组数。 更多...
 
int64_t getNbGroups () const noexcept
 获取用于拆分通道以进行归一化计算的组数。 更多...
 
void setComputePrecision (DataType type) noexcept
 设置此层的计算精度。 更多...
 
DataType getComputePrecision () const noexcept
 获取此层的计算精度。 更多...
 
- 继承自 nvinfer1::ILayer 的公共成员函数
LayerType getType () const noexcept
 返回层的类型。 更多...
 
void setName (char const *name) noexcept
 设置层的名称。 更多...
 
char const * getName () const noexcept
 返回层的名称。 更多...
 
int32_t getNbInputs () const noexcept
 获取层的输入数量。 更多...
 
ITensorgetInput (int32_t index) const noexcept
 获取与给定索引对应的层输入。 更多...
 
int32_t getNbOutputs () const noexcept
 获取层的输出数量。 更多...
 
ITensorgetOutput (int32_t index) const noexcept
 获取与给定索引对应的层输出。 更多...
 
void setInput (int32_t index, ITensor &tensor) noexcept
 用特定的张量替换此层的输入。 更多...
 
void setPrecision (DataType dataType) noexcept
 在弱类型网络中设置此层的首选或必需的计算精度。 更多...
 
DataType getPrecision () const noexcept
 获取此层的计算精度 更多...
 
bool precisionIsSet () const noexcept
 是否已为此层设置计算精度 更多...
 
void resetPrecision () noexcept
 重置此层的计算精度 更多...
 
void setOutputType (int32_t index, DataType dataType) noexcept
 在弱类型网络中设置此层的输出类型。 更多...
 
DataType getOutputType (int32_t index) const noexcept
 获取此层的输出类型 更多...
 
bool outputTypeIsSet (int32_t index) const noexcept
 是否已为此层设置输出类型 更多...
 
void resetOutputType (int32_t index) noexcept
 重置此层的输出类型 更多...
 
void setMetadata (char const *metadata) noexcept
 为此层设置元数据。 更多...
 
char const * getMetadata () const noexcept
 获取层的元数据。 更多...
 

保护成员函数

virtual ~INormalizationLayer () noexcept=default
 
- 继承自 nvinfer1::ILayer 的保护成员函数
virtual ~ILayer () noexcept=default
 
- 继承自 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
 

保护属性

apiv::VNormalizationLayer * mImpl
 
- 继承自 nvinfer1::ILayer 的保护属性
apiv::VLayer * mLayer
 

详细描述

网络定义中的归一化层。

归一化层执行以下操作

X - 输入张量 Y - 输出张量 S - 缩放张量 B - 偏置张量

Y = (X - Mean(X, axes)) / Sqrt(Variance(X) + epsilon) * S + B

其中 Mean(X, axes) 是对一组轴的缩减,而 Variance(X) = Mean((X - Mean(X, axes)) ^ 2, axes)。

警告
请勿从此类继承,因为这样做会破坏 API 和 ABI 的向前兼容性。

构造函数 & 析构函数文档

◆ ~INormalizationLayer()

virtual nvinfer1::INormalizationLayer::~INormalizationLayer ( )
protectedvirtualdefaultnoexcept

成员函数文档

◆ getAxes()

uint32_t nvinfer1::INormalizationLayer::getAxes ( ) const
inlinenoexcept

获取用于归一化计算的轴值。

返回值
用于归一化计算的轴。

◆ getComputePrecision()

DataType nvinfer1::INormalizationLayer::getComputePrecision ( ) const
inlinenoexcept

获取此层的计算精度。

返回值
用于此层计算精度的数据类型。

◆ getEpsilon()

float nvinfer1::INormalizationLayer::getEpsilon ( ) const
inlinenoexcept

获取用于归一化计算的 epsilon 值。

返回值
用于归一化计算的 epsilon 值。

◆ getNbGroups()

int64_t nvinfer1::INormalizationLayer::getNbGroups ( ) const
inlinenoexcept

获取用于拆分通道以进行归一化计算的组数。

返回值
用于拆分通道以进行归一化计算的组数。

◆ setAxes()

void nvinfer1::INormalizationLayer::setAxes ( uint32_t  axesMask)
inlinenoexcept

设置归一化计算的缩减轴。

参数
axesMask用于归一化计算的轴。

◆ setComputePrecision()

void nvinfer1::INormalizationLayer::setComputePrecision ( DataType  type)
inlinenoexcept

设置此层的计算精度。

参数
type用于此层计算精度的数据类型。

此方法用于通过在混合精度模式下控制归一化计算来避免溢出错误。计算精度默认为 DataType::kFLOAT32。要覆盖此默认值,请使用此方法设置所需的计算精度。

对于弱类型网络

  • 方法 setOutputType() 仍然可以调用以控制输出数据类型。
  • 方法 setPrecision() 仍然可以调用。输入数据在转换为计算精度之前会被转换为该精度。

强类型网络拒绝调用此方法,因为计算精度通常通过将输入张量转换为所需的类型来控制。

只有 DataType::kFLOAT32 和 DataType::kHALFtype 的有效类型。

◆ setEpsilon()

void nvinfer1::INormalizationLayer::setEpsilon ( float  eps)
inlinenoexcept

设置用于归一化计算的 epsilon 值。

eps 的默认值为 1e-5F。

参数
eps用于归一化计算的 epsilon 值。

◆ setNbGroups()

void nvinfer1::INormalizationLayer::setNbGroups ( int64_t  nbGroups)
inlinenoexcept

设置用于在归一化计算中拆分通道的组数。

输入张量通道被分成 nbGroups 组,并且每组执行归一化。通道维度被认为是 [N, C, H, W, ...] 格式张量中的第二个维度。

默认的 nbGroups 为 1。

警告
nbGroups 设置为不能均匀地除输入张量的通道数的值是错误的。
nbGroups != 1 时,预计提供的 axesMask 将把所有与通道维度之后的维度对应的位设置为 1,而所有其他位设置为 0。
参数
nbGroups用于拆分通道以进行归一化计算的组数。

成员数据文档

◆ mImpl

apiv::VNormalizationLayer* nvinfer1::INormalizationLayer::mImpl
protected

此类文档从以下文件生成

  版权所有 © 2024 NVIDIA Corporation
  隐私政策 | 管理我的隐私 | 请勿出售或分享我的数据 | 服务条款 | 辅助功能 | 公司政策 | 产品安全 | 联系我们