```{eval-rst} .. currentmodule:: torch.fx.experimental ``` # torch.fx.experimental :::{warning} These APIs are experimental and subject to change without notice. ::: ```{eval-rst} .. autoclass:: torch.fx.experimental.sym_node.DynamicInt ``` ## torch.fx.experimental.sym_node ```{eval-rst} .. currentmodule:: torch.fx.experimental.sym_node ``` ```{eval-rst} .. automodule:: torch.fx.experimental.sym_node ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: is_channels_last_contiguous_2d is_channels_last_contiguous_3d is_channels_last_strides_2d is_channels_last_strides_3d is_contiguous is_non_overlapping_and_dense_indicator method_to_operator sympy_is_channels_last_contiguous_2d sympy_is_channels_last_contiguous_3d sympy_is_channels_last_strides_2d sympy_is_channels_last_strides_3d sympy_is_channels_last_strides_generic sympy_is_contiguous sympy_is_contiguous_generic to_node ``` ## torch.fx.experimental.symbolic_shapes ```{eval-rst} .. currentmodule:: torch.fx.experimental.symbolic_shapes ``` ```{eval-rst} .. automodule:: torch.fx.experimental.symbolic_shapes ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: ShapeEnv DimDynamic StrictMinMaxConstraint RelaxedUnspecConstraint EqualityConstraint SymbolicContext StatelessSymbolicContext StatefulSymbolicContext SubclassSymbolicContext DimConstraints ShapeEnvSettings ConvertIntKey CallMethodKey PropagateUnbackedSymInts DivideByKey InnerTensorKey Specialization is_concrete_int is_concrete_bool is_concrete_float has_free_symbols has_free_unbacked_symbols guard_or_true guard_or_false guard_size_oblivious sym_and sym_eq sym_or constrain_range constrain_unify canonicalize_bool_expr statically_known_true statically_known_false has_static_value lru_cache check_consistent compute_unbacked_bindings rebind_unbacked resolve_unbacked_bindings is_accessor_node cast_symbool_to_symint_guardless create_contiguous error eval_guards eval_is_non_overlapping_and_dense find_symbol_binding_fx_nodes free_symbols free_unbacked_symbols fx_placeholder_targets fx_placeholder_vals guard_bool guard_float guard_int guard_scalar guarding_hint_or_throw has_guarding_hint has_symbolic_sizes_strides is_nested_int is_symbol_binding_fx_node is_symbolic optimization_hint expect_true log_lru_cache_stats ``` ## torch.fx.experimental.proxy_tensor ```{eval-rst} .. currentmodule:: torch.fx.experimental.proxy_tensor ``` ```{eval-rst} .. automodule:: torch.fx.experimental.proxy_tensor ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: make_fx handle_sym_dispatch get_proxy_mode maybe_enable_thunkify maybe_disable_thunkify thunkify track_tensor track_tensor_tree decompose disable_autocast_cache disable_proxy_modes_tracing dispatch_trace extract_val fake_signature fetch_object_proxy fetch_sym_proxy has_proxy_slot is_sym_node maybe_handle_decomp proxy_call set_meta set_original_aten_op set_proxy_slot snapshot_fake ``` ## torch.fx.experimental.optimization ```{eval-rst} .. currentmodule:: torch.fx.experimental.optimization ``` ```{eval-rst} .. automodule:: torch.fx.experimental.optimization ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: extract_subgraph matches_module_pattern modules_to_mkldnn optimize_for_inference remove_dropout replace_node_module reset_modules use_mkl_length ``` ## torch.fx.experimental.recording ```{eval-rst} .. currentmodule:: torch.fx.experimental.recording ``` ```{eval-rst} .. automodule:: torch.fx.experimental.recording ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: record_shapeenv_event replay_shape_env_events shape_env_check_state_equal ``` ## torch.fx.experimental.unification.core ```{eval-rst} .. currentmodule:: torch.fx.experimental.unification.core ``` ```{eval-rst} .. automodule:: torch.fx.experimental.unification.core ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: reify ``` ## torch.fx.experimental.unification.multipledispatch.utils ```{eval-rst} .. currentmodule:: torch.fx.experimental.unification.multipledispatch.utils ``` ```{eval-rst} .. automodule:: torch.fx.experimental.unification.multipledispatch.utils ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: typename expand_tuples groupby raises reverse_dict ``` ## torch.fx.experimental.unification.unification_tools ```{eval-rst} .. currentmodule:: torch.fx.experimental.unification.unification_tools ``` ```{eval-rst} .. automodule:: torch.fx.experimental.unification.unification_tools ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: assoc assoc_in dissoc first groupby keyfilter keymap merge merge_with update_in valfilter valmap itemfilter itemmap ``` ## torch.fx.experimental.migrate_gradual_types.transform_to_z3 ```{eval-rst} .. currentmodule:: torch.fx.experimental.migrate_gradual_types.transform_to_z3 ``` ```{eval-rst} .. automodule:: torch.fx.experimental.migrate_gradual_types.transform_to_z3 ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: transform_algebraic_expression transform_all_constraints transform_all_constraints_trace_time transform_dimension transform_to_z3 transform_var evaluate_conditional_with_constraints ``` ## torch.fx.experimental.migrate_gradual_types.constraint ```{eval-rst} .. currentmodule:: torch.fx.experimental.migrate_gradual_types.constraint ``` ```{eval-rst} .. automodule:: torch.fx.experimental.migrate_gradual_types.constraint ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: is_algebraic_expression is_bool_expr is_dim ``` ## torch.fx.experimental.migrate_gradual_types.constraint_generator ```{eval-rst} .. currentmodule:: torch.fx.experimental.migrate_gradual_types.constraint_generator ``` ```{eval-rst} .. automodule:: torch.fx.experimental.migrate_gradual_types.constraint_generator ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: adaptive_inference_rule assert_inference_rule batchnorm_inference_rule bmm_inference_rule embedding_inference_rule embedding_inference_rule_functional eq_inference_rule equality_inference_rule expand_inference_rule full_inference_rule gt_inference_rule lt_inference_rule masked_fill_inference_rule neq_inference_rule tensor_inference_rule torch_dim_inference_rule torch_linear_inference_rule type_inference_rule view_inference_rule register_inference_rule transpose_inference_rule range_check ``` ## torch.fx.experimental.migrate_gradual_types.constraint_transformation ```{eval-rst} .. currentmodule:: torch.fx.experimental.migrate_gradual_types.constraint_transformation ``` ```{eval-rst} .. automodule:: torch.fx.experimental.migrate_gradual_types.constraint_transformation ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: apply_padding calc_last_two_dims create_equality_constraints_for_broadcasting is_target_div_by_dim no_broadcast_dim_with_index register_transformation_rule transform_constraint transform_get_item transform_get_item_tensor transform_index_select transform_transpose valid_index valid_index_tensor is_dim_div_by_target ``` ## torch.fx.experimental.graph_gradual_typechecker ```{eval-rst} .. currentmodule:: torch.fx.experimental.graph_gradual_typechecker ``` ```{eval-rst} .. automodule:: torch.fx.experimental.graph_gradual_typechecker ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: adaptiveavgpool2d_check adaptiveavgpool2d_inference_rule all_eq bn2d_inference_rule calculate_out_dimension conv_refinement_rule conv_rule element_wise_eq expand_to_tensor_dim first_two_eq register_algebraic_expressions_inference_rule register_inference_rule register_refinement_rule transpose_inference_rule ``` ## torch.fx.experimental.meta_tracer ```{eval-rst} .. currentmodule:: torch.fx.experimental.meta_tracer ``` ```{eval-rst} .. automodule:: torch.fx.experimental.meta_tracer ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: embedding_override functional_relu_override nn_layernorm_override proxys_to_metas symbolic_trace torch_abs_override torch_nn_relu_override torch_relu_override torch_where_override ``` ## torch.fx.experimental.accelerator_partitioner ```{eval-rst} .. automodule:: torch.fx.experimental.accelerator_partitioner ``` ```{eval-rst} .. currentmodule:: torch.fx.experimental.accelerator_partitioner ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: check_dependency combine_two_partitions reorganize_partitions reset_partition_device set_parents_and_children ``` ## torch.fx.experimental.debug ```{eval-rst} .. automodule:: torch.fx.experimental.debug ``` ```{eval-rst} .. currentmodule:: torch.fx.experimental.debug ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: set_trace ``` ## torch.fx.experimental.merge_matmul ```{eval-rst} .. automodule:: torch.fx.experimental.merge_matmul ``` ```{eval-rst} .. currentmodule:: torch.fx.experimental.merge_matmul ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: are_nodes_independent may_depend_on merge_matmul ``` ## torch.fx.experimental.unification.match ```{eval-rst} .. automodule:: torch.fx.experimental.unification.match ``` ```{eval-rst} .. currentmodule:: torch.fx.experimental.unification.match ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: edge match ordering supercedes ``` ## torch.fx.experimental.unification.more ```{eval-rst} .. automodule:: torch.fx.experimental.unification.more ``` ```{eval-rst} .. currentmodule:: torch.fx.experimental.unification.more ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: reify_object unifiable unify_object ``` ## torch.fx.experimental.unification.multipledispatch.conflict ```{eval-rst} .. automodule:: torch.fx.experimental.unification.multipledispatch.conflict ``` ```{eval-rst} .. currentmodule:: torch.fx.experimental.unification.multipledispatch.conflict ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: ambiguities ambiguous consistent edge ordering super_signature supercedes ``` ## torch.fx.experimental.unification.multipledispatch.core ```{eval-rst} .. automodule:: torch.fx.experimental.unification.multipledispatch.core ``` ```{eval-rst} .. currentmodule:: torch.fx.experimental.unification.multipledispatch.core ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: dispatch ismethod ``` ## torch.fx.experimental.unification.multipledispatch.dispatcher ```{eval-rst} .. automodule:: torch.fx.experimental.unification.multipledispatch.dispatcher ``` ```{eval-rst} .. currentmodule:: torch.fx.experimental.unification.multipledispatch.dispatcher ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: ambiguity_warn halt_ordering restart_ordering source str_signature variadic_signature_matches variadic_signature_matches_iter warning_text ``` ## torch.fx.experimental.unification.multipledispatch.variadic ```{eval-rst} .. automodule:: torch.fx.experimental.unification.multipledispatch.variadic ``` ```{eval-rst} .. currentmodule:: torch.fx.experimental.unification.multipledispatch.variadic ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: isvariadic ``` ## torch.fx.experimental.unification.utils ```{eval-rst} .. automodule:: torch.fx.experimental.unification.utils ``` ```{eval-rst} .. currentmodule:: torch.fx.experimental.unification.utils ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: freeze hashable raises reverse_dict transitive_get xfail ``` ## torch.fx.experimental.unification.variable ```{eval-rst} .. automodule:: torch.fx.experimental.unification.variable ``` ```{eval-rst} .. currentmodule:: torch.fx.experimental.unification.variable ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: var variables vars ``` ## torch.fx.experimental.unify_refinements ```{eval-rst} .. automodule:: torch.fx.experimental.unify_refinements ``` ```{eval-rst} .. currentmodule:: torch.fx.experimental.unify_refinements ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: check_for_type_equality infer_symbolic_types infer_symbolic_types_single_pass substitute_all_types substitute_solution_one_type unify_eq ``` ## torch.fx.experimental.validator ```{eval-rst} .. automodule:: torch.fx.experimental.validator ``` ```{eval-rst} .. currentmodule:: torch.fx.experimental.validator ``` ```{eval-rst} .. autosummary:: :toctree: generated :nosignatures: bisect translation_validation_enabled translation_validation_timeout z3op z3str ```