#pragma once #include #include #include #include #include #include namespace torch { namespace jit { struct Module; namespace tracer { void initPythonTracerBindings(PyObject* module); SourceRange getPythonInterpreterSourceRange(); Node* preRecordPythonTrace( THPObjectPtr pyobj, const std::string& arg_types, at::ArrayRef inputs, std::vector scalar_args); std::pair, Stack> createGraphByTracingWithDict( const py::function& func, const py::dict& inputs_dict, Stack inputs, const py::function& var_name_lookup_fn, bool strict, bool force_outplace, Module* self = nullptr, const std::vector& argument_names = {}); std::pair, Stack> createGraphByTracing( const py::function& func, Stack inputs, const py::function& var_name_lookup_fn, bool strict, bool force_outplace, Module* self = nullptr, const std::vector& argument_names = {}); } // namespace tracer } // namespace jit } // namespace torch