TensorRT 10.8.0
|
网络定义中的归一化层。 更多...
#include <NvInfer.h>
公共成员函数 | |
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 |
获取此层的计算精度。 更多... | |
![]() | |
LayerType | getType () const noexcept |
返回层的类型。 更多... | |
void | setName (char const *name) noexcept |
设置层的名称。 更多... | |
char const * | getName () const noexcept |
返回层的名称。 更多... | |
int32_t | getNbInputs () const noexcept |
获取层的输入数量。 更多... | |
ITensor * | getInput (int32_t index) const noexcept |
获取与给定索引对应的层输入。 更多... | |
int32_t | getNbOutputs () const noexcept |
获取层的输出数量。 更多... | |
ITensor * | getOutput (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 |
![]() | |
virtual | ~ILayer () noexcept=default |
![]() | |
INoCopy ()=default | |
virtual | ~INoCopy ()=default |
INoCopy (INoCopy const &other)=delete | |
INoCopy & | operator= (INoCopy const &other)=delete |
INoCopy (INoCopy &&other)=delete | |
INoCopy & | operator= (INoCopy &&other)=delete |
保护属性 | |
apiv::VNormalizationLayer * | mImpl |
![]() | |
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)。
|
protectedvirtualdefaultnoexcept |
|
inlinenoexcept |
获取用于归一化计算的轴值。
|
inlinenoexcept |
获取此层的计算精度。
|
inlinenoexcept |
获取用于归一化计算的 epsilon 值。
|
inlinenoexcept |
获取用于拆分通道以进行归一化计算的组数。
|
inlinenoexcept |
设置归一化计算的缩减轴。
axesMask | 用于归一化计算的轴。 |
|
inlinenoexcept |
设置此层的计算精度。
type | 用于此层计算精度的数据类型。 |
此方法用于通过在混合精度模式下控制归一化计算来避免溢出错误。计算精度默认为 DataType::kFLOAT32。要覆盖此默认值,请使用此方法设置所需的计算精度。
对于弱类型网络
强类型网络拒绝调用此方法,因为计算精度通常通过将输入张量转换为所需的类型来控制。
只有 DataType::kFLOAT32 和 DataType::kHALF 是 type
的有效类型。
|
inlinenoexcept |
设置用于归一化计算的 epsilon 值。
eps
的默认值为 1e-5F。
eps | 用于归一化计算的 epsilon 值。 |
|
inlinenoexcept |
设置用于在归一化计算中拆分通道的组数。
输入张量通道被分成 nbGroups
组,并且每组执行归一化。通道维度被认为是 [N, C, H, W, ...] 格式张量中的第二个维度。
默认的 nbGroups
为 1。
nbGroups
设置为不能均匀地除输入张量的通道数的值是错误的。nbGroups
!= 1 时,预计提供的 axesMask 将把所有与通道维度之后的维度对应的位设置为 1,而所有其他位设置为 0。nbGroups | 用于拆分通道以进行归一化计算的组数。 |
|
protected |
版权所有 © 2024 NVIDIA Corporation
隐私政策 | 管理我的隐私 | 请勿出售或分享我的数据 | 服务条款 | 辅助功能 | 公司政策 | 产品安全 | 联系我们