StatefulSymbolicContext¶
- class torch.fx.experimental.symbolic_shapes.StatefulSymbolicContext(dynamic_sizes, dynamic_strides=None, constraint_sizes=None, constraint_strides=None, view_base_context=None, tensor_source=None, shape_env_to_source_to_symbol_cache=None)[source]¶
在
create_symbolic_sizes_strides_storage_offset
中通过符号上下文确定来创建符号,该确定由 Source:Symbol 的缓存给出。缓存命中将重用存储的符号,缓存未命中将写入此缓存。这与 StatelessSymbolicContext 的行为类似,除了缓存会取代其他值 - 如果我们缓存命中,将不会读取 dynamic_sizes 和 constraint_sizes。
维护缓存生命周期的责任在于缓存所有者,相对于不同的 shape_env、清除等。