Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MindSpore
docs
提交
f244dfaa
D
docs
项目概览
MindSpore
/
docs
通知
4
Star
2
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
f244dfaa
编写于
5月 20, 2020
作者:
M
mindspore-ci-bot
提交者:
Gitee
5月 20, 2020
浏览文件
操作
浏览文件
下载
差异文件
!135 fix distributed_training doc shell script
Merge pull request !135 from lichen/update_distributed_training_doc
上级
0d474f28
e0025301
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
35 addition
and
3 deletion
+35
-3
tutorials/source_zh_cn/advanced_use/distributed_training.md
tutorials/source_zh_cn/advanced_use/distributed_training.md
+18
-2
tutorials/tutorial_code/distributed_training/run.sh
tutorials/tutorial_code/distributed_training/run.sh
+17
-1
未找到文件。
tutorials/source_zh_cn/advanced_use/distributed_training.md
浏览文件 @
f244dfaa
...
...
@@ -270,7 +270,7 @@ def test_train_cifar(num_classes=10, epoch_size=10):
## 运行脚本
上述已将训练所需的脚本编辑好了,接下来通过命令调用对应的脚本。
目前MindSpore分布式执行采用单卡单进程运行方式,即每张卡上运行1个进程,进程数量与使用的卡的数量一致。每个进程创建1个目录,用来保存日志信息以及算子编译信息。下面以使用8张卡的分布式训练脚本为例,演示如何运行脚本:
目前MindSpore分布式执行采用单卡单进程运行方式,即每张卡上运行1个进程,进程数量与使用的卡的数量一致。
其中,0卡在前台执行,其他卡放在后台执行。
每个进程创建1个目录,用来保存日志信息以及算子编译信息。下面以使用8张卡的分布式训练脚本为例,演示如何运行脚本:
```
bash
#!/bin/bash
...
...
@@ -295,7 +295,7 @@ test_dist_2pcs()
test_dist_
${
RANK_SIZE
}
pcs
for
((
i
=
0
;
i<
${
RANK_SIZE
}
;
i++
))
for
((
i
=
1
;
i<
${
RANK_SIZE
}
;
i++
))
do
rm
-rf
device
$i
mkdir
device
$i
...
...
@@ -308,6 +308,22 @@ do
pytest
-s
-v
./resnet50_distributed_training.py
>
train.log
$i
2>&1 &
cd
../
done
rm
-rf
device0
mkdir
device0
cp
./resnet50_distributed_training.py ./resnet.py ./device0
cd
./device0
export
DEVICE_ID
=
0
export
RANK_ID
=
0
echo
"start training for device 0"
env
>
env0.log
pytest
-s
-v
./resnet50_distributed_training.py
>
train.log0 2>&1
if
[
$i
-eq
0
]
;
then
echo
"training success"
else
echo
"training failed"
exit
2
fi
cd
../
```
脚本需要传入变量
`DATA_PATH`
和
`RANK_SIZE`
,分别表示数据集的路径和卡的数量。
...
...
tutorials/tutorial_code/distributed_training/run.sh
浏览文件 @
f244dfaa
...
...
@@ -20,7 +20,7 @@ test_dist_2pcs()
test_dist_
${
RANK_SIZE
}
pcs
for
((
i
=
0
;
i<
${
RANK_SIZE
}
;
i++
))
for
((
i
=
1
;
i<
${
RANK_SIZE
}
;
i++
))
do
rm
-rf
device
$i
mkdir
device
$i
...
...
@@ -33,3 +33,19 @@ do
pytest
-s
-v
./resnet50_distributed_training.py
>
train.log
$i
2>&1 &
cd
../
done
rm
-rf
device0
mkdir
device0
cp
./resnet50_distributed_training.py ./resnet.py ./device0
cd
./device0
export
DEVICE_ID
=
0
export
RANK_ID
=
0
echo
"start training for device 0"
env
>
env0.log
pytest
-s
-v
./resnet50_distributed_training.py
>
train.log0 2>&1
if
[
$i
-eq
0
]
;
then
echo
"training success"
else
echo
"training failed"
exit
2
fi
cd
../
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录