快捷方式

Struct CompileSpec

Struct 文件

struct CompileSpec

Torch-TensorRT TorchScript 編譯的設定資料結構

Public Functions

TORCHTRT_API CompileSpec(std::vector<std::vector<int64_t>> fixed_sizes)

建構新的 Compile Spec 物件。便利建構函式,可從描述輸入張量大小的向量設定固定的輸入大小。向量中的每個條目代表一個輸入,應按呼叫順序提供。

此建構函式應用於所有輸入大小都是靜態大小,且您可以接受預設輸入 dtype 和格式(FP32 用於 FP32 和 INT8 權重,FP16 用於 FP16 權重,連續)的情況,以提供便利。

參數

fixed_sizes

TORCHTRT_API CompileSpec(std::vector<c10::ArrayRef<int64_t>> fixed_sizes)

建構新的 Compile Spec 物件。便利建構函式,可從 c10::ArrayRef(tensor.sizes() 的輸出)設定固定的輸入大小,描述輸入張量的大小。向量中的每個條目代表一個輸入,應按呼叫順序提供。

此建構函式應用於所有輸入大小都是靜態大小,且您可以接受預設輸入 dtype 和格式(FP32 用於 FP32 和 INT8 權重,FP16 用於 FP16 權重,連續)的情況,以提供便利。

參數

fixed_sizes

TORCHTRT_API CompileSpec(std::vector<Input> inputs)

從輸入範圍建構新的 Compile Spec 物件。向量中的每個條目代表一個輸入,應按呼叫順序提供。

使用此建構函式定義具有動態形狀、特定輸入類型或張量格式的輸入

參數

inputs

TORCHTRT_API CompileSpec(torch::jit::IValue input_signature)

從 IValue 建構新的 Compile Spec 物件,IValue 代表模組的輸入張量巢狀結構。

參數

input_signature

Public Members

GraphInputs graph_inputs

引擎輸入的規格,可以儲存 IValue,其中儲存了複雜的 Input 或扁平化的 Input

std::set<DataType> enabled_precisions = {DataType::kFloat}

TensorRT 在編譯期間允許核心使用的精度集合。

bool disable_tf32 = false

防止 Float32 層使用 TF32 資料格式

TF32 透過將輸入四捨五入到 10 位元尾數再相乘來計算內積,但使用 23 位元尾數累加總和。這是 FP32 層的預設行為。

bool sparse_weights = false

為卷積層和 FC 層的權重啟用稀疏性

bool refit = false

建構可重新調整的引擎

bool debug = false

建構可偵錯的引擎

bool truncate_long_and_double = false

將 long/double 類型截斷為 int/float 類型

bool allow_shape_tensors = false

允許圖形中存在形狀張量(來自 IShape 層)

Device device

目標 Device

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,則會擲回錯誤

文件

存取 PyTorch 的完整開發者文件

檢視文件

教學

取得適用於初學者和進階開發者的深入教學

檢視教學

資源

尋找開發資源並獲得問題解答

檢視資源