未验证 提交 edd0541b 编写于 作者: J JYChen 提交者: GitHub

add deprecated decorator for paddle.utils.profiler (#50134)

上级 4c82e455
...@@ -23,15 +23,27 @@ from ..fluid.profiler import start_profiler ...@@ -23,15 +23,27 @@ from ..fluid.profiler import start_profiler
from ..fluid.profiler import profiler # noqa: F401 from ..fluid.profiler import profiler # noqa: F401
from ..fluid.profiler import stop_profiler from ..fluid.profiler import stop_profiler
from ..fluid.profiler import reset_profiler from ..fluid.profiler import reset_profiler
from .deprecated import deprecated
__all__ = [ #noqa
'Profiler', 'get_profiler', 'ProfilerOptions', 'cuda_profiler', __all__ = [ # noqa
'start_profiler', 'profiler', 'stop_profiler', 'reset_profiler' 'Profiler',
'get_profiler',
'ProfilerOptions',
'cuda_profiler',
'start_profiler',
'profiler',
'stop_profiler',
'reset_profiler',
] ]
@deprecated(
since="2.4.2",
update_to="paddle.profiler.Profiler",
level=1,
reason="Please use new profiler tool, this profiler tool is no longer maintained.",
)
class ProfilerOptions(object): class ProfilerOptions(object):
def __init__(self, options=None): def __init__(self, options=None):
self.options = { self.options = {
'state': 'All', 'state': 'All',
...@@ -41,7 +53,7 @@ class ProfilerOptions(object): ...@@ -41,7 +53,7 @@ class ProfilerOptions(object):
'output_thread_detail': False, 'output_thread_detail': False,
'profile_path': 'none', 'profile_path': 'none',
'timeline_path': 'none', 'timeline_path': 'none',
'op_summary_path': 'none' 'op_summary_path': 'none',
} }
if options is not None: if options is not None:
for key in self.options.keys(): for key in self.options.keys():
...@@ -56,10 +68,13 @@ class ProfilerOptions(object): ...@@ -56,10 +68,13 @@ class ProfilerOptions(object):
def __getitem__(self, name): def __getitem__(self, name):
if self.options.get(name, None) is None: if self.options.get(name, None) is None:
raise ValueError( raise ValueError(
"ProfilerOptions does not have an option named %s." % name) "ProfilerOptions does not have an option named %s." % name
)
else: else:
if isinstance(self.options[name], if (
str) and self.options[name] == 'none': isinstance(self.options[name], str)
and self.options[name] == 'none'
):
return None return None
else: else:
return self.options[name] return self.options[name]
...@@ -68,8 +83,13 @@ class ProfilerOptions(object): ...@@ -68,8 +83,13 @@ class ProfilerOptions(object):
_current_profiler = None _current_profiler = None
@deprecated(
since="2.4.2",
update_to="paddle.profiler.Profiler",
level=1,
reason="Please use new profiler tool, this profiler tool is no longer maintained.",
)
class Profiler(object): class Profiler(object):
def __init__(self, enabled=True, options=None): def __init__(self, enabled=True, options=None):
if options is not None: if options is not None:
self.profiler_options = options self.profiler_options = options
...@@ -101,22 +121,28 @@ class Profiler(object): ...@@ -101,22 +121,28 @@ class Profiler(object):
try: try:
start_profiler( start_profiler(
state=self.profiler_options['state'], state=self.profiler_options['state'],
tracer_option=self.profiler_options['tracer_level']) tracer_option=self.profiler_options['tracer_level'],
)
except Exception as e: except Exception as e:
warnings.warn( warnings.warn(
"Profiler is not enabled becuase following exception:\n{}". "Profiler is not enabled becuase following exception:\n{}".format(
format(e)) e
)
)
def stop(self): def stop(self):
if self.enabled: if self.enabled:
try: try:
stop_profiler( stop_profiler(
sorted_key=self.profiler_options['sorted_key'], sorted_key=self.profiler_options['sorted_key'],
profile_path=self.profiler_options['profile_path']) profile_path=self.profiler_options['profile_path'],
)
except Exception as e: except Exception as e:
warnings.warn( warnings.warn(
"Profiler is not disabled becuase following exception:\n{}". "Profiler is not disabled becuase following exception:\n{}".format(
format(e)) e
)
)
def reset(self): def reset(self):
if self.enabled and core.is_profiler_enabled(): if self.enabled and core.is_profiler_enabled():
...@@ -137,6 +163,12 @@ class Profiler(object): ...@@ -137,6 +163,12 @@ class Profiler(object):
self.stop() self.stop()
@deprecated(
since="2.4.2",
update_to="paddle.profiler.Profiler",
level=1,
reason="Please use new profiler tool, this profiler tool is no longer maintained.",
)
def get_profiler(): def get_profiler():
global _current_profiler global _current_profiler
if _current_profiler is None: if _current_profiler is None:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册