Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MindSpore
docs
提交
1ed177e6
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看板
提交
1ed177e6
编写于
8月 05, 2020
作者:
L
lichenever
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update_distributed_training_doc_r0.6
上级
5857c9ae
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
5 addition
and
3 deletion
+5
-3
tutorials/source_zh_cn/advanced_use/distributed_training_ascend.md
.../source_zh_cn/advanced_use/distributed_training_ascend.md
+1
-1
tutorials/source_zh_cn/advanced_use/distributed_training_gpu.md
...als/source_zh_cn/advanced_use/distributed_training_gpu.md
+3
-1
tutorials/tutorial_code/distributed_training/resnet50_distributed_training.py
...ode/distributed_training/resnet50_distributed_training.py
+1
-1
未找到文件。
tutorials/source_zh_cn/advanced_use/distributed_training_ascend.md
浏览文件 @
1ed177e6
...
...
@@ -182,7 +182,7 @@ class SoftmaxCrossEntropyExpand(nn.Cell):
self
.
onehot
=
P
.
OneHot
()
self
.
on_value
=
Tensor
(
1.0
,
mstype
.
float32
)
self
.
off_value
=
Tensor
(
0.0
,
mstype
.
float32
)
self
.
div
=
P
.
Div
()
self
.
div
=
P
.
Real
Div
()
self
.
log
=
P
.
Log
()
self
.
sum_cross_entropy
=
P
.
ReduceSum
(
keep_dims
=
False
)
self
.
mul
=
P
.
Mul
()
...
...
tutorials/source_zh_cn/advanced_use/distributed_training_gpu.md
浏览文件 @
1ed177e6
...
...
@@ -82,6 +82,8 @@ if __name__ == "__main__":
> 你可以在这里找到样例的运行脚本:
>
> <https://gitee.com/mindspore/docs/blob/r0.6/tutorials/tutorial_code/distributed_training/run_gpu.sh>。
>
> 如果通过root用户执行脚本,`mpirun`需要加上`--allow-run-as-root`参数。
```
bash
#!/bin/bash
...
...
@@ -97,7 +99,7 @@ echo "start training"
mpirun
-n
8 pytest
-s
-v
./resnet50_distributed_training.py
>
train.log 2>&1 &
```
脚本需要传入变量
`DATA_PATH`
,表示数据集的路径。此外,我们需要修改下
`resnet50_distributed_training.py`
文件,
将
`device_target`
设置为
`GPU`
,并调用
`init("nccl")`
来使能NCCL。日志文件保存
`device`
目录下,关于Loss部分结果保存在
`train.log`
中。将loss值
`grep`
出来后,示例如下:
脚本需要传入变量
`DATA_PATH`
,表示数据集的路径。此外,我们需要修改下
`resnet50_distributed_training.py`
文件,
由于在GPU上,我们无需设置
`DEVICE_ID`
环境变量,因此,在脚本中不需要调用
`int(os.getenv('DEVICE_ID'))`
来获取卡的物理序号,同时
`context`
中也无需传入
`device_id`
。我们需要将
`device_target`
设置为
`GPU`
,并调用
`init("nccl")`
来使能NCCL。日志文件保存到device目录下,关于Loss部分结果保存在train.log中。将loss值grep
出来后,示例如下:
```
epoch: 1 step: 1, loss is 2.3025854
...
...
tutorials/tutorial_code/distributed_training/resnet50_distributed_training.py
浏览文件 @
1ed177e6
...
...
@@ -89,7 +89,7 @@ class SoftmaxCrossEntropyExpand(nn.Cell):
self
.
onehot
=
P
.
OneHot
()
self
.
on_value
=
Tensor
(
1.0
,
mstype
.
float32
)
self
.
off_value
=
Tensor
(
0.0
,
mstype
.
float32
)
self
.
div
=
P
.
Div
()
self
.
div
=
P
.
Real
Div
()
self
.
log
=
P
.
Log
()
self
.
sum_cross_entropy
=
P
.
ReduceSum
(
keep_dims
=
False
)
self
.
mul
=
P
.
Mul
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录