使用空张量
8.使用空张量
NVIDIA®TensorRT™支持空张量。 如果张量具有一个或多个长度为零的尺寸,则它是一个空张量。 零长度尺寸通常没有特殊处理。 如果规则适用于长度为L的维度,且长度为L的任意正值,则通常也适用于L = 0。
例如,当沿最后一个轴将两个张量分别为[x,y,z]和[x,y,w]的张量级联时,无论x,y, z或w为零。
隐式广播规则保持不变,因为只有单位长度尺寸才是特殊广播。 例如,给定两个张量分别为[1,y,z]和[x,1,z]的张量,无论x,y或z为零,由IElementWiseLayer计算得出的它们的总和的尺寸为[x,y,z]。 。
请注意,如果引擎绑定为空张量,则仍至少需要为其分配一个字节的内存。
8.1 IReduce层和空张量
如果图层的所有输入均为空,则输出通常为空,但也有例外。 例外情况是数学中如何定义空集的减少:空集的减少产生操作的标识元素。
下表显示与TensorRT相关的案例: