Skip to content

Commit 9d0514b

Browse files
committed
add doc
1 parent caf10b4 commit 9d0514b

File tree

2 files changed

+27
-15
lines changed

2 files changed

+27
-15
lines changed

doc/fluid/howto/optimization/timeline_cn.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,27 @@
11
# 如何使用timeline工具做性能分析
22

3-
1. 在训练的主循环外加上`with profiler.profiler(...)`。运行之后,代码会在`/tmp/profile`目录下生成一个profile的记录文件。
3+
1. 在训练的主循环外加上`profiler.start_profiler(...)``profiler.start_profiler(...)`。运行之后,代码会在`/tmp/profile`目录下生成一个profile的记录文件。
44

55
**提示:**
66
请不要在timeline记录信息时运行太多次迭代,因为timeline中的记录数量和迭代次数是成正比的。
77

88
```python
9-
with profiler.profiler('All', 'total', '/tmp/profile') as prof:
10-
for pass_id in range(pass_num):
11-
for batch_id, data in enumerate(train_reader()):
12-
exe.run(fluid.default_main_program(),
13-
feed=feeder.feed(data),
14-
fetch_list=[])
9+
for pass_id in range(pass_num):
10+
for batch_id, data in enumerate(train_reader()):
11+
if pass_id == 0 and batch_id == 5:
12+
profiler.start_profiler("All")
13+
elif pass_id == 0 and batch_id == 10:
14+
profiler.stop_profiler("total", "/tmp/profile")
15+
exe.run(fluid.default_main_program(),
16+
feed=feeder.feed(data),
17+
fetch_list=[])
1518
...
1619
```
1720

1821
1. 运行`python paddle/tools/timeline.py`来处理`/tmp/profile`,这个程序默认会生成一个`/tmp/timeline`文件,你也可以用命令行参数来修改这个路径,请参考[timeline.py](https://github.com/PaddlePaddle/Paddle/blob/develop/tools/timeline.py)
22+
```python
23+
python Paddle/tools/timeline.py --profile_path=/tmp/profile --timeline_path=timeline
24+
```
1925

2026
1. 打开chrome浏览器,访问<chrome://tracing/>,用`load`按钮来加载生成的`timeline`文件。
2127

doc/fluid/howto/optimization/timeline_en.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,28 @@
11
# how to use timeline tool to do profile
22

3-
1. Add `with profiler.profiler(...)` to the main training loop. After run, the code will generate a profile record file `/tmp/profile`. **Warning**: Please do not run too many batches when use profiler to record timeline information, for the profile record will grow with the batch number.
3+
1. Add `profiler.start_profiler(...)``profiler.start_profiler(...)` to the main training loop. After run, the code will generate a profile record file `/tmp/profile`. **Warning**: Please do not run too many batches when use profiler to record timeline information, for the profile record will grow with the batch number.
44

55
```python
6-
with profiler.profiler('All', 'total', '/tmp/profile') as prof:
7-
for pass_id in range(pass_num):
8-
for batch_id, data in enumerate(train_reader()):
9-
exe.run(fluid.default_main_program(),
10-
feed=feeder.feed(data),
11-
fetch_list=[],
12-
use_program_cache=True)
6+
for pass_id in range(pass_num):
7+
for batch_id, data in enumerate(train_reader()):
8+
if pass_id == 0 and batch_id == 5:
9+
profiler.start_profiler("All")
10+
elif pass_id == 0 and batch_id == 10:
11+
profiler.stop_profiler("total", "/tmp/profile")
12+
exe.run(fluid.default_main_program(),
13+
feed=feeder.feed(data),
14+
fetch_list=[])
1315
...
1416
```
1517

1618
1. Run `python paddle/tools/timeline.py` to process `/tmp/profile`, it will generate another
1719
file `/tmp/timeline` by default. You can change the path by cmd parameter, please take a look at
1820
[timeline.py](https://github.com/PaddlePaddle/Paddle/blob/develop/tools/timeline.py) for details.
1921

22+
```python
23+
python Paddle/tools/timeline.py --profile_path=/tmp/profile --timeline_path=timeline
24+
```
25+
2026
1. Open chrome and visit <chrome://tracing/>, use `load` button to load the generated `timeline` file.
2127

2228
![chrome tracing](./tracing.jpeg)

0 commit comments

Comments
 (0)