Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ModelZoo
ResNet50_tensorflow
Commits
5ab49e19
Commit
5ab49e19
authored
Aug 25, 2023
by
“qianyj”
Browse files
Update README
parent
4e398183
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
49 additions
and
34 deletions
+49
-34
README.md
README.md
+49
-34
No files found.
README.md
View file @
5ab49e19
...
@@ -16,14 +16,14 @@ ResNet50使用了多个具有残差连接的残差块来解决梯度消失或梯
...
@@ -16,14 +16,14 @@ ResNet50使用了多个具有残差连接的残差块来解决梯度消失或梯
```
```
docker pull image.sourcefind.cn:5000/dcu/admin/base/tensorflow:2.7.0-centos7.6-dtk-22.10.1-py38-latest
docker pull image.sourcefind.cn:5000/dcu/admin/base/tensorflow:2.7.0-centos7.6-dtk-22.10.1-py38-latest
# <Your Image ID>用上面拉取docker镜像的ID替换
# <Your Image ID>用上面拉取docker镜像的ID替换
docker run --shm-size 16g --network=host --name=
R
es
N
et50
-T
ensorFlow
2x
--privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v $PWD/
R
es
N
et50
-T
ensor
F
low
2x
:/home/
R
es
N
et50
-T
ensor
F
low
2x
-it <Your Image ID> bash
docker run --shm-size 16g --network=host --name=
r
es
n
et50
_t
ensorFlow --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v $PWD/
r
es
n
et50
_t
ensor
f
low:/home/
r
es
n
et50
_t
ensor
f
low -it <Your Image ID> bash
pip install -r requirements.txt
pip install -r requirements.txt
```
```
### Dockerfile(方法二)
### Dockerfile(方法二)
```
```
cd
R
es
N
et50
-T
ensor
F
low
2x
/docker
cd
r
es
n
et50
_t
ensor
f
low/docker
docker build --no-cache -t
R
es
N
et50
-T
ensor
F
low
2x
:latest .
docker build --no-cache -t
r
es
n
et50
_t
ensor
f
low:latest .
docker run --rm --shm-size 16g --network=host --name=
R
es
N
et50
-T
ensor
F
low
2x
--privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v $PWD/
R
es
N
et50
-T
ensor
F
low
2x
:/home/
R
es
N
et50
-T
ensor
F
low
2x
-it
R
es
N
et50
-T
ensor
F
low
2x
:latest bash
docker run --rm --shm-size 16g --network=host --name=
r
es
n
et50
_t
ensor
f
low --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v $PWD/
../../r
es
n
et50
_t
ensor
f
low:/home/
r
es
n
et50
_t
ensor
f
low -it
r
es
n
et50
_t
ensor
f
low:latest bash
```
```
### Anaconda(方法三)
### Anaconda(方法三)
...
@@ -40,60 +40,69 @@ tensorboard: 2.7
...
@@ -40,60 +40,69 @@ tensorboard: 2.7
`Tips:以上dtk、python、tensorflow等DCU相关工具版本需要严格一一对应`
`Tips:以上dtk、python、tensorflow等DCU相关工具版本需要严格一一对应`
2、其他非特殊库参照requirements.txt安装
2、其他非特殊库参照requirements.txt安装
```
```
pip3 install -r requirements.txt
pip3 install -r requirements.txt
--no-deps
```
```
## 数据集
## 数据集
1、真实数据
使用ImageNet数据集,并且需要转成TFRecord格式
使用ImageNet数据集,并且需要转成TFRecord格式
ImageNet数据集可以
[
官网
](
https://image-net.org/
"ImageNet数据集官网"
)
下载、百度搜索或者联系我们
ImageNet数据集可以
[
官网
](
https://image-net.org/
"ImageNet数据集官网"
)
下载、百度搜索或者联系我们
ImageNet数据集转成TFRecord格式,可以参考以下
[
script
](
https://github.com/tensorflow/tpu/blob/master/tools/datasets/imagenet_to_gcs.py
)
和
[
README
](
https://github.com/tensorflow/tpu/tree/master/tools/datasets#imagenet_to_gcspy
)
ImageNet数据集转成TFRecord格式,可以参考以下
[
script
](
https://github.com/tensorflow/tpu/blob/master/tools/datasets/imagenet_to_gcs.py
)
和
[
README
](
https://github.com/tensorflow/tpu/tree/master/tools/datasets#imagenet_to_gcspy
)
制作完成的TFRrecord数据形式如下:
tfrecord-imagenet
|
train-00000-of-01024
train-00000-of-01024
...
train-01023-of-01024
validation-00000-of-00128
validation-00001-of-00128
...
validation-00127-of-00128
2、合成数据
基于随机合成的数据,不需要下载ImageNet数据集,执行网络训练时只需要把程序执行语句中的--use_synthetic_data设置为true即可
## 训练
## 训练
### 环境配置
使用
[
光源
](
https://www.sourcefind.cn/#/service-details
)
拉取训练的docker镜像:
训练镜像:docker pull image.sourcefind.cn:5000/dcu/admin/base/tensorflow:2.7.0-centos7.6-dtk-22.10.1-py37-latest
python依赖安装:
pip3 install -r requirements.txt
### fp32训练
### fp32训练
#### 单机单卡训练命令:
#### 单机单卡训练命令:
不打开xla:
不打开xla:
export PYTHONPATH=/path/to/
R
es
N
et50_
T
ensorFlow
2
:$PYTHONPATH
export PYTHONPATH=/path/to/
r
es
n
et50_
t
ensorFlow:$PYTHONPATH
python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=128 --num_gpus=1 --use_synthetic_data=false --dtype=fp32
python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=128 --num_gpus=1 --use_synthetic_data=false
--train_epochs=90
--dtype=fp32
打开xla:
打开xla:
export PYTHONPATH=/path/to/
R
es
N
et50_
T
ensor
F
low
2
:$PYTHONPATH
export PYTHONPATH=/path/to/
r
es
n
et50_
t
ensor
f
low:$PYTHONPATH
TF_XLA_FLAGS="--tf_xla_auto_jit=2" python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=128 --num_gpus=1 --use_synthetic_data=false --dtype=fp32
TF_XLA_FLAGS="--tf_xla_auto_jit=2" python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=128 --num_gpus=1 --use_synthetic_data=false
--train_epochs=90
--dtype=fp32
#### 单机四卡训练指令:
#### 单机四卡训练指令:
不打开xla:
不打开xla:
export PYTHONPATH=/path/to/
R
es
N
et50_
T
ensor
F
low
2
:$PYTHONPATH
export PYTHONPATH=/path/to/
r
es
n
et50_
t
ensor
f
low:$PYTHONPATH
python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=512 --num_gpus=4 --use_synthetic_data=false --dtype=fp32
python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=512 --num_gpus=4 --use_synthetic_data=false
--train_epochs=90
--dtype=fp32
打开xla:
打开xla:
export PYTHONPATH=/path/to/
R
es
N
et50_
T
ensor
F
low
2
:$PYTHONPATH
export PYTHONPATH=/path/to/
r
es
n
et50_
t
ensor
f
low:$PYTHONPATH
TF_XLA_FLAGS="--tf_xla_auto_jit=2" python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=512 --num_gpus=4 --use_synthetic_data=false --dtype=fp32
TF_XLA_FLAGS="--tf_xla_auto_jit=2" python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=512 --num_gpus=4
--train_epochs=90
--use_synthetic_data=false --dtype=fp32
#### 多机多卡训练指令(以单机四卡模拟四卡四进程为例):
#### 多机多卡训练指令(以单机四卡模拟四卡四进程为例):
sed指令只需要执行一次,添加支持多卡运行的代码
sed指令只需要执行一次,添加支持多卡运行的代码
sed -i '100 r configfile'
models-master/
official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py
sed -i '100 r configfile' official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py
不打开xla:
不打开xla:
export PYTHONPATH=/path/to/
R
es
N
et50_
T
ensor
F
low
2
:$PYTHONPATH
export PYTHONPATH=/path/to/
r
es
n
et50_
t
ensor
f
low:$PYTHONPATH
mpirun -np 4 --hostfile hostfile -mca btl self,tcp --allow-run-as-root --bind-to none scripts-run/single_process.sh
mpirun -np 4 --hostfile hostfile -mca btl self,tcp --allow-run-as-root --bind-to none scripts-run/single_process.sh
打开xla:
打开xla:
export PYTHONPATH=/path/to/
R
es
N
et50_
T
ensor
F
low
2
:$PYTHONPATH
export PYTHONPATH=/path/to/
r
es
n
et50_
t
ensor
f
low:$PYTHONPATH
mpirun -np 4 --hostfile hostfile -mca btl self,tcp --allow-run-as-root --bind-to none scripts-run/single_process_xla.sh
mpirun -np 4 --hostfile hostfile -mca btl self,tcp --allow-run-as-root --bind-to none scripts-run/single_process_xla.sh
### fp16训练
### fp16训练
...
@@ -101,42 +110,42 @@ sed指令只需要执行一次,添加支持多卡运行的代码
...
@@ -101,42 +110,42 @@ sed指令只需要执行一次,添加支持多卡运行的代码
不打开xla:
不打开xla:
export PYTHONPATH=/path/to/
R
es
N
et50_
T
ensorFlow
2
:$PYTHONPATH
export PYTHONPATH=/path/to/
r
es
n
et50_
t
ensorFlow:$PYTHONPATH
python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=128 --num_gpus=1 --use_synthetic_data=false --dtype=fp16
python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=128 --num_gpus=1 --use_synthetic_data=false
--train_epochs=90
--dtype=fp16
打开xla:
打开xla:
export PYTHONPATH=/path/to/
R
es
N
et50_
T
ensor
F
low
2
:$PYTHONPATH
export PYTHONPATH=/path/to/
r
es
n
et50_
t
ensor
f
low:$PYTHONPATH
TF_XLA_FLAGS="--tf_xla_auto_jit=2" python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=128 --num_gpus=1 --use_synthetic_data=false --dtype=fp16
TF_XLA_FLAGS="--tf_xla_auto_jit=2" python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=128 --num_gpus=1
--train_epochs=90
--use_synthetic_data=false --dtype=fp16
#### 单机四卡训练指令
#### 单机四卡训练指令
不打开xla:
不打开xla:
export PYTHONPATH=/path/to/
R
es
N
et50_
T
ensor
F
low
2
:$PYTHONPATH
export PYTHONPATH=/path/to/
r
es
n
et50_
t
ensor
f
low:$PYTHONPATH
python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=512 --num_gpus=4 --use_synthetic_data=false --dtype=fp16
python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=512 --num_gpus=4
--train_epochs=90
--use_synthetic_data=false --dtype=fp16
打开xla:
打开xla:
export PYTHONPATH=/path/to/
R
es
N
et50_
T
ensor
F
low
2
:$PYTHONPATH
export PYTHONPATH=/path/to/
r
es
n
et50_
t
ensor
f
low:$PYTHONPATH
TF_XLA_FLAGS="--tf_xla_auto_jit=2" python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=512 --num_gpus=4 --use_synthetic_data=false --dtype=fp16
TF_XLA_FLAGS="--tf_xla_auto_jit=2" python3 official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=512 --num_gpus=4
--train_epochs=90
--use_synthetic_data=false --dtype=fp16
#### 多机多卡训练指令(以单机四卡模拟四卡四进程为例)
#### 多机多卡训练指令(以单机四卡模拟四卡四进程为例)
sed指令只需要执行一次,添加支持多卡运行的代码
sed指令只需要执行一次,添加支持多卡运行的代码
sed -i '100 r configfile'
models-master/
official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py
sed -i '100 r configfile' official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py
修改scripts-run/single_process.sh和scripts-run/single_process_xla.sh文件里的--dtype=fp16
修改scripts-run/single_process.sh和scripts-run/single_process_xla.sh文件里的--dtype=fp16
不打开xla:
不打开xla:
export PYTHONPATH=/path/to/
R
es
N
et50_
T
ensor
F
low
2
:$PYTHONPATH
export PYTHONPATH=/path/to/
r
es
n
et50_
t
ensor
f
low:$PYTHONPATH
mpirun -np 4 --hostfile hostfile -mca btl self,tcp --allow-run-as-root --bind-to none scripts-run/single_process.sh
mpirun -np 4 --hostfile hostfile -mca btl self,tcp --allow-run-as-root --bind-to none scripts-run/single_process.sh
打开xla:
打开xla:
export PYTHONPATH=/path/to/
R
es
N
et50_
T
ensor
F
low
2
:$PYTHONPATH
export PYTHONPATH=/path/to/
r
es
n
et50_
t
ensor
f
low:$PYTHONPATH
mpirun -np 4 --hostfile hostfile -mca btl self,tcp --allow-run-as-root --bind-to none scripts-run/single_process_xla.sh
mpirun -np 4 --hostfile hostfile -mca btl self,tcp --allow-run-as-root --bind-to none scripts-run/single_process_xla.sh
...
@@ -150,6 +159,12 @@ sed指令只需要执行一次,添加支持多卡运行的代码
...
@@ -150,6 +159,12 @@ sed指令只需要执行一次,添加支持多卡运行的代码
| 4 | 512 | fp32 | 0.7608 | 否 | 四进程 |
| 4 | 512 | fp32 | 0.7608 | 否 | 四进程 |
| 4 | 512 | fp16 | 0.7615 | 否 | 四进程 |
| 4 | 512 | fp16 | 0.7615 | 否 | 四进程 |
## 应用场景
### 算法类别
`图像分类`
### 热点应用行业
`制造,政府,医疗,科研`
## 源码仓库及问题反馈
## 源码仓库及问题反馈
*
https://developer.hpccube.com/codes/modelzoo/resnet50_tensorflow
*
https://developer.hpccube.com/codes/modelzoo/resnet50_tensorflow
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment