nvidia.dali.fn.coord_transform#
- nvidia.dali.fn.coord_transform(__input, /, *, M=None, MT=None, T=None, bytes_per_sample_hint=[0], dtype=DALIDataType.FLOAT, preserve=False, device=None, name=None)#
对点或向量应用线性变换。
变换形式为
out = M * in + T
其中
M
是一个m x n
矩阵,T
是一个具有 m 个分量的平移向量。输入必须由 n 元素向量或点组成,输出具有 m 个分量。此操作符可用于许多操作。以下是不完整的列表
对点云应用仿射变换
将点投影到子空间上
一些色彩空间转换,例如 RGB 到 YCbCr 或灰度
对颜色进行线性操作,如色调旋转、亮度和对比度调整
此操作符允许序列输入。
- 支持的后端
‘cpu’
‘gpu’
- 参数:
__input¶ (TensorList) – 操作符的输入。
- 关键字参数:
M¶ (float 或 float 列表或 TensorList 的 float,可选) –
用于变换输入向量的矩阵。
如果未指定,则使用单位矩阵。
矩阵
M
不需要是方阵 - 如果不是,则输出向量的分量数将等于M
中的行数。如果提供标量值,则假定
M
是对角线上具有该值的方阵。然后假定矩阵的大小与输入向量中的分量数匹配。支持
per-frame
输入。MT¶ (float 或 float 列表或 TensorList 的 float,可选) –
为此参数提供标量值等同于为 M 提供相同的标量值并使 T 未指定。
列数必须比输入中的分量数多一个。此参数与
M
和T
互斥。支持
per-frame
输入。T¶ (float 或 float 列表或 TensorList 的 float,可选) –
平移向量。
如果未指定,则不应用平移,除非使用了 MT 参数。
此向量的分量数必须与矩阵
M
中的行数匹配。如果提供标量值,则该值将广播到T
的所有分量,并且选择分量数以匹配M
中的行数。支持
per-frame
输入。bytes_per_sample_hint¶ (int 或 int 列表,可选,默认值 = [0]) –
输出大小提示,以每样本字节数为单位。
如果指定,则位于 GPU 或页锁定主机内存中的操作符输出将预先分配以容纳此大小的样本批次。
dtype¶ (
nvidia.dali.types.DALIDataType
,可选,默认值 = DALIDataType.FLOAT) –输出坐标的数据类型。
如果使用整数类型,则输出值将四舍五入到最接近的整数并钳制到此类型的动态范围。
preserve¶ (bool,可选,默认值 = False) – 阻止操作符从图中删除,即使其输出未使用。
另请参阅