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)¶