评价此页

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]#

通过 symbolic_context(由 Source:Symbol 的缓存决定)在 create_symbolic_sizes_strides_storage_offset 中创建符号。缓存命中会重用已存储的符号,而缓存未命中则会写入此缓存。

此类的行为类似于 StatelessSymbolicContext,不同之处在于缓存会覆盖其他值——如果发生缓存命中,将不会读取 dynamic_sizes 和 constraint_sizes。

缓存所有者有责任维护缓存与不同 shape_env 的生命周期,包括清除等。