Commit 32bc39fa authored by chenych's avatar chenych
Browse files

Merge branch 'main' into 'main'

Add icon

See merge request !6
parents ec4c0101 b143b6a2
...@@ -2,10 +2,12 @@ ...@@ -2,10 +2,12 @@
## 论文 ## 论文
`Deep Residual Learning for Image Recognition` `Deep Residual Learning for Image Recognition`
- https://arxiv.org/abs/1512.03385 - https://arxiv.org/abs/1512.03385
## 模型结构 ## 模型结构
ResNet50网络中包含了49个卷积层、1个全连接层等 ResNet50网络中包含了49个卷积层、1个全连接层等
![image.png](./image.png) ![image.png](./image.png)
## 算法原理 ## 算法原理
ResNet50使用了多个具有残差连接的残差块来解决梯度消失或梯度爆炸问题,并使得网络可以向更深层发展。 ResNet50使用了多个具有残差连接的残差块来解决梯度消失或梯度爆炸问题,并使得网络可以向更深层发展。
...@@ -14,87 +16,71 @@ ResNet50使用了多个具有残差连接的残差块来解决梯度消失或梯 ...@@ -14,87 +16,71 @@ ResNet50使用了多个具有残差连接的残差块来解决梯度消失或梯
## 环境配置 ## 环境配置
### Docker(方法一) ### Docker(方法一)
拉取镜像:
```
docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:tvm-0.11_fp32_cpp_dtk22.10_py38_centos-7.6-latest
```
创建并启动容器
``` ```
docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:tvm-0.11_fp32_cpp_dtk22.10_py38_centos-7.6-latest
docker run --shm-size 16g --network=host --name=ResNet50_v2 --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -it <Your Image ID> /bin/bash docker run --shm-size 16g --network=host --name=ResNet50_v2 --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -it <Your Image ID> /bin/bash
# 激活dtk # 激活dtk
source /opt/dtk/env.sh source /opt/dtk/env.sh
``` ```
## 数据集 ## 数据集
python 推理及调优代码使用的图片数据为: python推理及调优代码使用的图片数据为:[kitten](./kitten.jpg)
```
"https://s3.amazonaws.com/model-server/inputs/kitten.jpg" 标签数据为:[synset.txt](./synset.txt)
```
标签数据为: C++部署代码使用数据为:[coco128](./coco128.zip)
```
"https://s3.amazonaws.com/onnx-model-zoo/synset.txt" coco128数据集的目录结构如下:
``` ```
C++部署代码使用数据为: ├── images
│ ├── train2017
├── labels
│ ├── train2017
├── LICENSE
├── README.txt
``` ```
"https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip"
coco128数据集的目录结构如下:
├── images
│ ├── train2017
├── labels
│ ├── train2017
├── LICENSE
├── README.txt
```
## 推理 ## 推理
模型文件下载地址: 下载模型文件[resnet50-v2-7.onnx](http://113.200.138.88:18080/aimodels/findsource-dependency/tvm_tune_resnet50-v2/-/blob/main/resnet50-v2-7.onnx),执行以下命令进行推理测试及调优测试:
``` ```bash
"https://github.com/onnx/models/raw/main/vision/classification/resnet/model/resnet50-v2-7.onnx" git clone http://developer.hpccube.com/codes/modelzoo/tvm_tune_resnet50-v2.git
``` cd tvm_tune_resnet50-v2
下载模型文件后执行以下命令进行推理测试及调优测试: export HIP_VISIBLE_DEVICES=1 #此处为指定哪张加速卡进行推理的ID号
``` python tune_resnet50-v2.py #根据实际修改模型路径
git clone http://developer.hpccube.com/codes/modelzoo/tvm_tune_resnet50-v2.git
cd tvm_tune_resnet50-v2
export HIP_VISIBLE_DEVICES=1 #此处为指定哪张加速卡进行推理的ID号
python tune_resnet50-v2.py #根据实际修改模型路径
``` ```
### 单卡部署推理测试 ### 单卡部署推理测试
下载配置好镜像之后,cd /tvm-0.11-dev0/apps/ 进入该路径下,将代码下载放到该路径下,cd tvm_tune_resnet50-v2/ 进入该路径后, 下载配置好镜像之后,执行以下命令:
执行以下命令: ```bash
``` # 进入该路径下
mkdir -p lib cd /tvm-0.11-dev0/apps/ # 将代码下载放到该路径下
export HIP_VISIBLE_DEVICES=1 #此处为指定哪张加速卡进行推理的ID号 # 进入
python prepare_test_libs.py #根据实际修改模型路径 cd tvm_tune_resnet50-v2/
sh run_example.sh # 执行
mkdir -p lib
export HIP_VISIBLE_DEVICES=1 #此处为指定哪张加速卡进行推理的ID号
python prepare_test_libs.py #根据实际修改模型路径
sh run_example.sh
``` ```
## result
## result
![kitten-1.jpg](./kitten-1.jpg) ![kitten-1.jpg](./kitten-1.jpg)
### 精度 ### 精度
``` | max_num | max_iter | max_num_index |
max_num:15.6692 | :------: | :------: | :------: |
max_iter:0x28cda14 | 15.6692 | 0x28cda14 | 345 |
max_num_index:345
```
## 应用场景
## 应用场景
### 算法类别 ### 算法类别
图像分类 图像分类
### 热点应用行业 ### 热点应用行业
制造,政府,医疗,科研 制造,政府,医疗,科研
## 源码仓库及问题反馈
https://developer.hpccube.com/codes/modelzoo/tvm_tune_resnet50-v2 ## 源码仓库及问题反馈
- https://developer.hpccube.com/codes/modelzoo/tvm_tune_resnet50-v2
### 参考资料 ### 参考资料
- https://tvm.apache.org/docs
https://tvm.apache.org/docs
File added
icon.png

64.6 KB

Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment