StatefulSymbolicContext#
- class torch.fx.experimental.symbolic_shapes.StatefulSymbolicContext(dynamic_sizes, dynamic_strides=None, constraint_sizes=None, constraint_strides=None, specialize_on=None, view_base_context=None, tensor_source=None, shape_env_to_source_to_symbol_cache=None)[source]#
通过象征性上下文,由 Source:Symbol 的缓存决定,在 `create_symbolic_sizes_strides_storage_offset` 中创建符号。缓存命中将重用已存储的符号,而缓存未命中将写入此缓存。
这与 StatelessSymbolicContext 的行为类似,除了缓存会优先于其他值——如果我们命中缓存,则不会读取 dynamic_sizes 和 constraint_sizes。
缓存所有者有责任维护缓存生命周期,使其与不同的 shape_env、清除等保持同步。