动态维度 ¶
- class torch.fx.experimental.symbolic_shapes.DimDynamic(value, names=<未提供>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source][source] ¶
控制如何为维度执行符号分配。始终将此默认设置为动态是合理的,但策略 DUCK 和 STATIC 可以带来更好的跟踪时间和编译时间性能,因为它们减少了分配的符号数量,并且通常使您的图更加静态。
注意到您对维度应用了约束,我们将强制将其设置为动态,以简化操作。
DimDynamic 受多种高级 UX 功能控制。目前:
- 在急切模式下,默认策略是 DUCK。
默认值更改为 STATIC,使用 assume_static_by_default。
如果您勾选了标记动态维度,则单个维度会被标记为动态。
- 在导出模式下,默认策略是静态。
如果您在传递给导出的 dynamic_shapes 中指定了它,则单个维度会被标记为动态。