用于构建 IDimensionExpr 的对象。 更多...
#include <NvInferRuntime.h>
|
apiv::VExprBuilder * | mImpl |
|
◆ ~IExprBuilder()
virtual nvinfer1::IExprBuilder::~IExprBuilder |
( |
| ) |
|
|
protectedvirtualdefaultnoexcept |
◆ constant()
IDimensionExpr const * nvinfer1::IExprBuilder::constant |
( |
int64_t |
value | ) |
|
|
inlinenoexcept |
◆ declareSizeTensor()
在给定的输出索引处声明一个尺寸张量,带有指定的自动调优公式和上限。
尺寸张量允许插件具有无法仅从输入维度计算的输出维度。 例如,假设一个插件为 2D 输入实现了 INonZeroLayer 的等效功能。 该插件可以有一个输出用于非零元素的索引,以及第二个输出包含非零元素的数量。 假设输入的大小为 [M,N] 并且有 K 个非零元素。 插件可以将 K 写入第二个输出。 当告诉 TensorRT 第一个输出的形状为 [2,K] 时,插件使用 IExprBuilder::constant() 和 IExprBuilder::declareSizeTensor(1,...) 来创建分别表示 2 和 K 的 IDimensionExpr。
TensorRT 还需要知道 K 的值,以便用于自动调优以及 K 的上限,以便它可以为输出张量分配内存。 在示例中,假设通常插件输入元素的一半是非零的,并且所有元素都可能为非零。 那么使用 M*N/2 可能是 opt 参数的一个很好的表达式,而 M*N 是上限。 这些表达式的 IDimensionsExpr 可以从输入维度的 IDimensionsExpr 构建。
- 参数
-
outputIndex | 作为尺寸张量的插件输出的索引。 |
opt | 用于计算自动调优值的公式。 不得依赖于尺寸张量。 |
upper | 尺寸张量的上限。 |
- 返回值
- 表示尺寸张量值的 IDimensionExpr。
- 参见
- IPluginV3OneBuild::getOutputShapes()
◆ operation()
获取运算。
返回指向 IDimensionExpr 的指针,该指针表示应用于 first 和 second 的给定运算。 如果 op 不是有效的 DimensionOperation,则返回 nullptr。
◆ mImpl
apiv::VExprBuilder* nvinfer1::IExprBuilder::mImpl |
|
protected |
此类文档根据以下文件生成