nvidia.dali.fn.per_frame#
- nvidia.dali.fn.per_frame(__input, /, *, bytes_per_sample_hint=[0], preserve=False, replace=False, device=None, name=None)#
将输入张量标记为序列。
该操作符修改输入数据的布局字符串,以指示批次包含序列。只有布局受到影响,而数据保持不变。
该操作符可用于在处理序列时馈送每帧张量参数。例如,以下代码片段显示了如何将
gaussian_blur
应用于序列批次,以便为每个序列中的每个帧使用不同的sigma
@pipeline_def def random_per_frame_blur(): video, _ = fn.readers.video_resize(sequence_length=50, ...) sigma = fn.random.uniform(range=[0.5, 5], shape=(50,)) blurred = fn.gaussian_blur(video, sigma=fn.per_frame(sigma)) return blurred
请注意,指定为每帧参数的批次中每个张量的最外层维度必须与给定运算符处理的相应序列中的帧数匹配。例如,在提供的示例中,
video
批次中的每个序列都有 50 帧,因此sigma
的形状为(50,)
。请查阅给定序列处理运算符的参数文档,以了解它是否支持每帧输入。
如果传递给
per-frame
运算符的输入没有布局,则会设置一个新的布局,该布局以F
开头,并用*
填充以匹配输入的维度。否则,根据replace
标志,运算符要么检查布局的第一个字符是否等于F
,要么将该字符替换为F
。- 支持的后端
‘cpu’
‘gpu’
- 参数:
__input¶ (TensorList) – 操作符的输入。
- 关键词参数: