nvidia.dali.fn.one_hot#
- nvidia.dali.fn.one_hot(__input, /, *, axis=-1, axis_name=None, bytes_per_sample_hint=[0], dtype=DALIDataType.FLOAT, num_classes=0, off_value=0.0, on_value=1.0, preserve=False, device=None, name=None)#
生成输入的 one-hot 编码。
添加新轴,或将标量输入转换为
num_classes
个元素的轴。对于给定的输入坐标
(x0, x1, ..., xn)
和axis = k
,输出样本被指定为cls = input[x0, x1, ..., xn] output[x0, x1, ..., xk-1, i, xk, ..., xn] = on_value if i == cls else off_value
对于范围
[0, num_classes)
中的所有i
。对于标量,输出在从
input
获取的索引处设置为on_value
,在其他地方设置为off_value
output[i] = on_value if i == input else off_value
为了向后兼容,任何所有张量都只有一个元素(无论维度数量)的输入都被认为是标量。如果指定了
axis
参数,则不支持将张量解释为标量的旧版方式。- 支持的后端
‘cpu’
‘gpu’
- 参数:
__input¶ (TensorList) – 操作器的输入。
- 关键字参数:
axis¶ (int, optional, default = -1) – 放置 one-hot 编码轴的维度,大小为
num_classes
。默认情况下,对于非标量输入,它作为最后一个维度追加。对于标量输入,它成为唯一的维度。axis_name¶ (str, optional) – 将用作输出布局中新添加维度的名称的单个字符。如果未提供字符,则输出布局将为空。
bytes_per_sample_hint¶ (int or list of int, optional, default = [0]) –
输出大小提示,以字节/样本为单位。
如果指定,则操作器位于 GPU 或页锁定主机内存中的输出将被预先分配,以容纳此大小的样本批次。
dtype¶ (
nvidia.dali.types.DALIDataType
, optional, default = DALIDataType.FLOAT) – 输出数据类型。num_classes¶ (int, optional, default = 0) – 数据中所有类别的数量。
off_value¶ (float, optional, default = 0.0) –
将用于填充输出的值,以指示相应输入坐标中缺少给定类别。
此值将被强制转换为
dtype
类型。on_value¶ (float, optional, default = 1.0) –
将用于填充输出的值,以指示相应输入坐标中给定的类别。
此值将被强制转换为
dtype
类型。preserve¶ (bool, optional, default = False) – 即使操作器的输出未使用,也阻止将其从图中删除。