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) – 放置
num_classes
大小的 one-hot 编码轴的维度。 默认情况下,对于非标量输入,它作为最后一个维度附加。 对于标量输入,它成为唯一的维度。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) – 阻止操作符从图中删除,即使其输出未使用。