nvidia.dali.fn.box_encoder#
- nvidia.dali.fn.box_encoder(__input_0, __input_1, /, *, anchors, bytes_per_sample_hint=[0], criteria=0.5, means=[0.0, 0.0, 0.0, 0.0], offset=False, preserve=False, scale=1.0, stds=[1.0, 1.0, 1.0, 1.0], device=None, name=None)#
使用作为参数传递的一组默认框(锚点)对输入边界框和标签进行编码。
此操作符遵循“SSD: Single Shot MultiBox Detector”中描述的算法,并在 mlperf/training 中实现。输入必须作为以下张量提供
BBoxes
包含边界框,表示为[l,t,r,b]
。Labels
包含每个边界框的对应标签。
结果是两个张量
EncodedBBoxes
包含 M 编码的边界框,表示为[l,t,r,b]
,其中 M 是锚点的数量。EncodedLabels
包含每个编码框的对应标签。
- 支持的后端
‘cpu’
‘gpu’
- 参数:
- 关键字参数:
anchors¶ (float 或 float 列表) – 用于编码的锚点,浮点数列表采用
ltrb
格式。bytes_per_sample_hint¶ (int 或 int 列表, 可选, 默认 = [0]) –
每个样本的输出大小提示,以字节为单位。
如果指定,则操作符位于 GPU 或页锁定主机内存中的输出将被预分配,以适应此大小的样本批次。
criteria¶ (float, 可选, 默认 = 0.5) –
用于将边界框与锚点匹配的 IoU 阈值。
该值需要在 0 和 1 之间。
means¶ (float 或 float 列表, 可选, 默认 = [0.0, 0.0, 0.0, 0.0]) – 用于归一化的 [x y w h] 均值。
offset¶ (bool, 可选, 默认 = False) – 在 EncodedBBoxes 中返回归一化的偏移量
((encoded_bboxes*scale - anchors*scale) - mean) / stds
,它使用std
以及mean
和scale
参数。preserve¶ (bool, 可选, 默认 = False) – 阻止操作符从图中移除,即使其输出未使用。
scale¶ (float, 可选, 默认 = 1.0) – 在计算偏移量之前重新缩放框和锚点值(例如,返回到绝对值)。
stds¶ (float 或 float 列表, 可选, 默认 = [1.0, 1.0, 1.0, 1.0]) – 用于偏移量归一化的 [x y w h] 标准差。