nvidia.dali.fn.lookup_table#
- nvidia.dali.fn.lookup_table(__input, /, *, bytes_per_sample_hint=[0], default_value=0.0, dtype=DALIDataType.FLOAT, keys=[], preserve=False, values=[], device=None, name=None)#
通过使用由
keys
和values
指定的查找表,以及未指定键的default_value
,将输入映射到输出。例如,当
keys
和values
用于以下方式定义查找表时keys[] = {0, 2, 3, 4, 5, 3} values[] = {0.2, 0.4, 0.5, 0.6, 0.7, 0.10} default_value = 0.99 0 <= i < max(keys) lut[i] = values[keys.index[i]] if i in keys lut[i] = default_value otherwise
操作符创建以下表
lut[] = {0.2, 0.99, 0.4, 0.10, 0.6, 0.7} // only last occurrence of a key is considered
并根据以下公式生成输出
Output[i] = lut[Input[i]] if 0 <= Input[i] <= len(lut) Output[i] = default_value otherwise
这是一个实际示例,考虑上面定义的表
Input[] = {1, 4, 1, 0, 100, 2, 3, 4} Output[] = {0.99, 0.6, 0.99, 0.2, 0.99, 0.4, 0.10, 0.6}
注意
只有整数类型可以用作此操作符的输入。
此操作符允许序列输入并支持体积数据。
- 支持的后端
‘cpu’
‘gpu’
- 参数:
__input¶ (TensorList) – 操作符的输入。
- 关键字参数:
bytes_per_sample_hint¶ (int 或 list of int, 可选, 默认 = [0]) –
输出大小提示,以每样本字节为单位。
如果指定,则将预先分配驻留在 GPU 或分页锁定主机内存中的操作符输出,以适应此大小的样本批次。
default_value¶ (float, 可选, 默认 = 0.0) – 表中不存在的键的默认输出值。
dtype¶ (
nvidia.dali.types.DALIDataType
, 可选, 默认 = DALIDataType.FLOAT) – 输出数据类型。keys¶ (int 或 list of int, 可选, 默认 = []) –
查找表中输入值(键)的列表。
output_dtype¶ (
nvidia.dali.types.DALIDataType
) –preserve¶ (bool, 可选, 默认 = False) – 即使操作符的输出未使用,也阻止将其从图中删除。
values¶ (float 或 list of float, 可选, 默认 = []) –