Struct CompileSpec¶
结构体文档¶
-
struct CompileSpec¶
Torch-TensorRT TorchScript 编译的设置数据结构
公共函数
-
TORCHTRT_API CompileSpec(std::vector<std::vector<int64_t>> fixed_sizes)¶
从描述输入张量大小的向量构造新的 Compile Spec 对象。用于设置固定输入大小的便捷构造函数。向量中的每个条目代表一个输入,应按调用顺序提供。
在所有输入均为静态大小且您可以使用默认输入数据类型和格式(对于 FP32 和 INT8 权重使用 FP32,对于 FP16 权重使用 FP16,contiguous)的情况下,应使用此构造函数作为便捷方式。
- 参数
fixed_sizes –
-
TORCHTRT_API CompileSpec(std::vector<c10::ArrayRef<int64_t>> fixed_sizes)¶
从 c10::ArrayRef (tensor.sizes() 的输出) 描述输入张量大小构造新的 Compile Spec 对象。用于设置固定输入大小的便捷构造函数。向量中的每个条目代表一个输入,应按调用顺序提供。
在所有输入均为静态大小且您可以使用默认输入数据类型和格式(对于 FP32 和 INT8 权重使用 FP32,对于 FP16 权重使用 FP16,contiguous)的情况下,应使用此构造函数作为便捷方式。
- 参数
fixed_sizes –
-
TORCHTRT_API CompileSpec(std::vector<Input> inputs)¶
从输入范围构造新的 Compile Spec 对象。向量中的每个条目代表一个输入,应按调用顺序提供。
使用此构造函数定义具有动态形状、特定输入类型或张量格式的输入
- 参数
inputs –
-
TORCHTRT_API CompileSpec(torch::jit::IValue input_signature)¶
从表示模块输入张量嵌套的 IValue 构造新的 Compile Spec 对象。
- 参数
input_signature –
公共成员
-
GraphInputs graph_inputs¶
-
bool disable_tf32 = false¶
阻止 Float32 层使用 TF32 数据格式
TF32 通过在乘法前将输入四舍五入到 10 位尾数来计算内积,但使用 23 位尾数累积总和。这是 FP32 层默认的行为。
-
bool sparse_weights = false¶
对卷积层和全连接层的权重启用稀疏性
-
bool refit = false¶
构建一个可重配(refitable)的引擎
-
bool debug = false¶
构建一个可调试(debugable)的引擎
-
bool truncate_long_and_double = false¶
将 long/double 类型截断为 int/float 类型
-
bool allow_shape_tensors = false¶
允许图中的形状张量 (来自 IShape 层)
-
EngineCapability capability = EngineCapability::kSTANDARD¶
设置引擎的限制 (CUDA 安全)
-
uint64_t num_avg_timing_iters = 1¶
用于选择内核的平均计时迭代次数
-
uint64_t workspace_size = 0¶
提供给 TensorRT 的最大工作空间大小
-
uint64_t dla_sram_size = 1048576¶
DLA 用于层间通信的快速软件管理 RAM。
-
uint64_t dla_local_dram_size = 1073741824¶
DLA 用于在操作之间共享中间张量数据的主机 RAM
-
uint64_t dla_global_dram_size = 536870912¶
DLA 用于存储权重和执行元数据的主机 RAM
-
nvinfer1::IInt8Calibrator *ptq_calibrator = nullptr¶
用于训练后量化的每个输入的校准数据加载器
-
bool require_full_compilation = false¶
要求完整模块编译到 TensorRT,而不是可能在 PyTorch 中运行不支持的操作
-
uint64_t min_block_size = 3¶
将子图编译到 TensorRT 所需的连续支持操作符的最小数量
-
std::vector<std::string> torch_executed_ops¶
必须在 PyTorch 中运行的 aten 操作符列表。如果此列表不为空但
require_full_compilation
为 True,则会抛出错误。
-
std::vector<std::string> torch_executed_modules¶
必须在 PyTorch 中运行的模块列表。如果此列表不为空但
require_full_compilation
为 True,则会抛出错误。
-
TORCHTRT_API CompileSpec(std::vector<std::vector<int64_t>> fixed_sizes)¶