Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
00f7a936
M
mindspore
项目概览
magicwindyyd
/
mindspore
与 Fork 源项目一致
Fork自
MindSpore / mindspore
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mindspore
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
00f7a936
编写于
7月 29, 2020
作者:
G
gengdongjie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add resnet50 support multi node training
上级
1b699234
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
23 addition
and
7 deletion
+23
-7
model_zoo/official/cv/resnet/scripts/run_distribute_train.sh
model_zoo/official/cv/resnet/scripts/run_distribute_train.sh
+4
-1
model_zoo/official/cv/resnet/src/dataset.py
model_zoo/official/cv/resnet/src/dataset.py
+19
-6
未找到文件。
model_zoo/official/cv/resnet/scripts/run_distribute_train.sh
浏览文件 @
00f7a936
...
...
@@ -79,10 +79,13 @@ export RANK_SIZE=8
export
MINDSPORE_HCCL_CONFIG_PATH
=
$PATH1
export
RANK_TABLE_FILE
=
$PATH1
export
SERVER_ID
=
0
rank_start
=
$((
DEVICE_NUM
*
SERVER_ID
))
for
((
i
=
0
;
i<
${
DEVICE_NUM
}
;
i++
))
do
export
DEVICE_ID
=
$i
export
RANK_ID
=
$
i
export
RANK_ID
=
$
((
rank_start
+
i
))
rm
-rf
./train_parallel
$i
mkdir
./train_parallel
$i
cp
../
*
.py ./train_parallel
$i
...
...
model_zoo/official/cv/resnet/src/dataset.py
浏览文件 @
00f7a936
...
...
@@ -37,8 +37,7 @@ def create_dataset1(dataset_path, do_train, repeat_num=1, batch_size=32, target=
dataset
"""
if
target
==
"Ascend"
:
device_num
=
int
(
os
.
getenv
(
"DEVICE_NUM"
))
rank_id
=
int
(
os
.
getenv
(
"RANK_ID"
))
device_num
,
rank_id
=
_get_rank_info
()
else
:
init
(
"nccl"
)
rank_id
=
get_rank
()
...
...
@@ -93,8 +92,7 @@ def create_dataset2(dataset_path, do_train, repeat_num=1, batch_size=32, target=
dataset
"""
if
target
==
"Ascend"
:
device_num
=
int
(
os
.
getenv
(
"DEVICE_NUM"
))
rank_id
=
int
(
os
.
getenv
(
"RANK_ID"
))
device_num
,
rank_id
=
_get_rank_info
()
else
:
init
(
"nccl"
)
rank_id
=
get_rank
()
...
...
@@ -153,8 +151,7 @@ def create_dataset3(dataset_path, do_train, repeat_num=1, batch_size=32):
Returns:
dataset
"""
device_num
=
int
(
os
.
getenv
(
"RANK_SIZE"
))
rank_id
=
int
(
os
.
getenv
(
"RANK_ID"
))
device_num
,
rank_id
=
_get_rank_info
()
if
device_num
==
1
:
ds
=
de
.
ImageFolderDatasetV2
(
dataset_path
,
num_parallel_workers
=
8
,
shuffle
=
True
)
...
...
@@ -203,3 +200,19 @@ def create_dataset3(dataset_path, do_train, repeat_num=1, batch_size=32):
ds
=
ds
.
repeat
(
repeat_num
)
return
ds
def
_get_rank_info
():
"""
get rank size and rank id
"""
rank_size
=
int
(
os
.
environ
.
get
(
"RANK_SIZE"
,
1
))
if
rank_size
>
1
:
rank_size
=
get_group_size
()
rank_id
=
get_rank
()
else
:
rank_size
=
1
rank_id
=
0
return
rank_size
,
rank_id
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录