mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-21 13:44:15 +08:00
Added API to change logging levels for JIT (#58821)
Summary: Description: - Before this, logging level could only be changed by changing the env variable "PYTORCH_JIT_LOG_LEVEL" - Can change the level from python now - Have not added stream configuration for now - Configuration is stored in a singleton class managing the options Issue Link: https://github.com/pytorch/pytorch/issues/54188 Gotchas: - Created separate functions `::torch::jit::get_jit_logging_levels/set_jit_logging_levels` instead of using the singleton class's method directly - This is because when running test cases, two different instances of the singleton are created for the test suite and the actual code (`jit_log.cpp`) - On using these methods directly, `is_enabled` calls the singleton in `jit_log.cpp` while we are setting the config using another singleton - See: https://stackoverflow.com/questions/55467246/my-singleton-can-be-called-multiple-times API: - To set the level: `torch._C._jit_set_logging_option("level")` - To get the level: `torch._C._jit_get_logging_option()` Testing: - UTs were added for C++ - A very simple UT was added for python to just check if the API is being called correctly - The API was checked by running trace in a sample python file - Set env variable to "" and used `_jit_set_logging_option` in python to set the variable to `>dead_code_elimination` - The error output had logs of form [DUMP..] [UPDATE...] etc Fixes https://github.com/pytorch/pytorch/issues/54188 Pull Request resolved: https://github.com/pytorch/pytorch/pull/58821 Reviewed By: soulitzer Differential Revision: D29116712 Pulled By: ZolotukhinM fbshipit-source-id: 8f2861ee2bd567fb63b405953d035ca657a3200f
This commit is contained in:
committed by
Facebook GitHub Bot
parent
82a6574d89
commit
9d1d799034
@ -9,6 +9,7 @@
|
||||
#include <torch/csrc/jit/frontend/ir_emitter.h>
|
||||
#include <torch/csrc/jit/frontend/tracer.h>
|
||||
#include <torch/csrc/jit/ir/irparser.h>
|
||||
#include <torch/csrc/jit/jit_log.h>
|
||||
#include <torch/csrc/jit/passes/canonicalize.h>
|
||||
#include <torch/csrc/jit/passes/canonicalize_graph_fuser_ops.h>
|
||||
#include <torch/csrc/jit/passes/common_subexpression_elimination.h>
|
||||
@ -639,6 +640,14 @@ void initJITBindings(PyObject* module) {
|
||||
.def(
|
||||
"_jit_get_inline_everything_mode",
|
||||
[]() { return getInlineEverythingMode(); })
|
||||
.def(
|
||||
"_jit_get_logging_option",
|
||||
[]() { return ::torch::jit::get_jit_logging_levels(); })
|
||||
.def(
|
||||
"_jit_set_logging_option",
|
||||
[](std::string loggingOption) -> void {
|
||||
::torch::jit::set_jit_logging_levels(loggingOption);
|
||||
})
|
||||
.def(
|
||||
"_jit_try_infer_type",
|
||||
[](py::object obj) -> InferredType {
|
||||
|
Reference in New Issue
Block a user