評價此頁

DimDynamic#

class torch.fx.experimental.symbolic_shapes.DimDynamic(value)[source]#

控制如何為維度執行符號分配。將其預設設定為 DYNAMIC 始終是安全的,但 DUCK 和 STATIC 策略可以帶來更好的追蹤時和編譯時效能,因為它們減少了分配的符號數量,並通常使圖更加靜態。

注意:如果我們發現您已對某個維度應用了約束,我們將為簡化起見將其強制設定為 DYNAMIC。

DimDynamic 由各種更高級別的使用者體驗功能控制。當前

  • 在 eager 模式下,預設策略是 DUCK。
    • 使用 assume_static_by_default 可將預設值更改為 STATIC。

    • 如果使用 mark_dynamic_dim 標記了單個維度,則該維度被標記為 DYNAMIC。

  • 在 export 模式下,預設策略是 STATIC。
    • 如果在一個傳遞給 export 的 dynamic_shapes 中指定了單個維度,則該維度被標記為 DYNAMIC。