Browse Source

!210 Add set context rule for Profiler example

Merge pull request !210 from wangyue/r0.3_profiler_set_context
pull/210/MERGE
mindspore-ci-bot Gitee 5 years ago
parent
commit
359a80bb80
2 changed files with 14 additions and 8 deletions
  1. +10
    -8
      mindinsight/profiler/README.md
  2. +4
    -0
      mindinsight/profiler/profiling.py

+ 10
- 8
mindinsight/profiler/README.md View File

@@ -12,16 +12,18 @@ The Profiler enables users to:
To enable profiling on MindSpore, the MindInsight Profiler apis should be added to the script: To enable profiling on MindSpore, the MindInsight Profiler apis should be added to the script:


1. Import MindInsight Profiler 1. Import MindInsight Profiler
```
from mindinsight.profiler import Profiler from mindinsight.profiler import Profiler
2. Initialize the Profiler before training
```
2. Initialize the Profiler after set context, and before the network initialization.


Example: Example:
context.set_context(mode=context.GRAPH_MODE, device_target="Ascend", device_id=int(os.environ["DEVICE_ID"]))
profiler = Profiler(output_path="./data", is_detail=True, is_show_op_path=False, subgraph='All') profiler = Profiler(output_path="./data", is_detail=True, is_show_op_path=False, subgraph='All')
Parameters including:
net = Net()
Parameters of Profiler including:
subgraph (str): Defines which subgraph to monitor and analyse, can be 'all', 'Default', 'Gradients'. subgraph (str): Defines which subgraph to monitor and analyse, can be 'all', 'Default', 'Gradients'.
is_detail (bool): Whether to show profiling data for op_instance level, only show optype level if False. is_detail (bool): Whether to show profiling data for op_instance level, only show optype level if False.
@@ -31,9 +33,9 @@ To enable profiling on MindSpore, the MindInsight Profiler apis should be added
will deal with all op if null. will deal with all op if null.
optypes_not_deal (list): Op type names, the data of which optype will not be collected and analysed. optypes_not_deal (list): Op type names, the data of which optype will not be collected and analysed.


3. Call Profiler.analyse() at the end of the program
3. Call ```Profiler.analyse()``` at the end of the program


Profiler.analyse() will collect profiling data and generate the analysis results.
```Profiler.analyse()``` will collect profiling data and generate the analysis results.


After training, we can open MindInsight UI to analyse the performance. After training, we can open MindInsight UI to analyse the performance.




+ 4
- 0
mindinsight/profiler/profiling.py View File

@@ -50,6 +50,8 @@ class Profiler:


Examples: Examples:
>>> from mindinsight.profiler import Profiler >>> from mindinsight.profiler import Profiler
>>> context.set_context(mode=context.GRAPH_MODE, device_target=“Ascend”,
>>> device_id=int(os.environ["DEVICE_ID"]))
>>> profiler = Profiler(subgraph='all', is_detail=True, is_show_op_path=False, output_path='./data') >>> profiler = Profiler(subgraph='all', is_detail=True, is_show_op_path=False, output_path='./data')
>>> model = Model(train_network) >>> model = Model(train_network)
>>> dataset = get_dataset() >>> dataset = get_dataset()
@@ -127,6 +129,8 @@ class Profiler:


Examples: Examples:
>>> from mindinsight.profiler import Profiler >>> from mindinsight.profiler import Profiler
>>> context.set_context(mode=context.GRAPH_MODE, device_target=“Ascend”,
>>> device_id=int(os.environ["DEVICE_ID"]))
>>> profiler = Profiler(subgraph='all', is_detail=True, is_show_op_path=False, output_path='./data') >>> profiler = Profiler(subgraph='all', is_detail=True, is_show_op_path=False, output_path='./data')
>>> model = Model(train_network) >>> model = Model(train_network)
>>> dataset = get_dataset() >>> dataset = get_dataset()


Loading…
Cancel
Save