"vscode:/vscode.git/clone" did not exist on "7644fef5369ad82b1eea35348a39069122e99802"
Commit 3b0f65fc authored by yangql's avatar yangql
Browse files

Update README.md

parent 7be14167
# ResNet50
## 论文
`Deep Residual Learning for Image Recognition`
## 模型介绍
使用ONNXRuntime推理框架对ResNet50模型进行推理。
- https://arxiv.org/abs/1512.03385
## 模型结构
ResNet50模型包含了49个卷积层、一个全连接层。
## Python版本推理
采用ONNXRuntime框架使用DCU进行推理,下面介绍如何运行python代码示例,Python示例的详细说明见Doc目录下的Tutorial_Python.md。
![ResNet50模型结构]()
### 下载镜像
## 算法原理
ResNet50使用了多个具有残差连接的残差块来解决梯度消失或梯度爆炸问题,并使得网络可以向更深层发展。
在光源中下载ONNXRuntime推理框架镜像:
![算法原理]()
## 环境配置
### Docker
拉取镜像:
```python
docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:ort1.14.0_migraphx3.0.0-dtk22.10.1
```
### 设置Python环境变量
创建并启动容器:
```
export PYTHONPATH=/opt/dtk/lib:$PYTHONPATH
docker run --shm-size 16g --network=host --name=resnet50_ort --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v $PWD/resnet50_ort:/home/resnet50_ort -it <Your Image ID> /bin/bash
# 激活dtk
source /opt/dtk/env.sh
```
### 安装依赖
## 数据集
Imagenet-1k
## 推理
### Python版本推理
采用ONNXRuntime框架使用DCU进行推理,下面介绍如何运行python代码示例,Python示例的详细说明见Doc目录下的Tutorial_Python.md。
#### 设置Python环境变量
```
export PYTHONPATH=/opt/dtk/lib:$PYTHONPATH
```
#### 运行示例
```python
# 进入resnet50 ort工程根目录
cd <path_to_resnet50_ort>
......@@ -34,71 +49,42 @@ cd Python/
# 安装依赖
pip install -r requirements.txt
```
### 下载模型
```python
# 下载模型
sh ./Resource/Models/download.sh
```
### 运行示例
```python
# 运行示例
python Classifier.py
```
## C++版本推理
### C++版本推理
采用ONNXRuntime框架使用DCU进行推理,下面介绍如何运行C++代码示例,C++示例的详细说明见Doc目录下的Tutorial_Cpp.md。
### 下载镜像
在光源中下载ONNXRuntime推理框架镜像:
#### 配置c++环境变量
```
docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:ort1.14.0_migraphx3.0.0-dtk22.10.1
```
### 安装Opencv依赖
```python
cd <path_to_resnet50_ort>
# 安装Opencv依赖
cd <path_to_resnet50_onnxruntime>
sh ./3rdParty/InstallOpenCVDependences.sh
```
### 下载模型
```python
sh ./Resource/Models/download.sh
```
### 安装OpenCV并构建工程
#### 构建工程
```
source /opt/dtk/env.sh
rbuild build -d depend
```
### 设置环境变量
#### 设置环境变量
将依赖库依赖加入环境变量LD_LIBRARY_PATH,在~/.bashrc中添加如下语句:
```
export LD_LIBRARY_PATH=<path_to_resnet50_ort>/depend/lib64/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=<path_to_resnet50_onnxruntime>/depend/lib64/:$LD_LIBRARY_PATH
```
然后执行:
```
source ~/.bashrc
```
### 运行示例
```python
####下载模型
sh ./Resource/Models/download.sh
#### 运行示例
```
# 进入resnet50 ort工程根目录
cd <path_to_resnet50_ort>
cd <path_to_resnet50_onnxruntime>
# 进入build目录
cd build/
......@@ -106,13 +92,29 @@ cd build/
# 执行示例程序
./ResNet50
```
## result
## 精度
### 测试环境
- 加速卡:Z100
- 软件栈:dtk22.10.1
- 数据集:imagenet-1k
## 源码仓库及问题反馈
### 性能
| Engine | Model Path| Model Format | Accuracy(%) | Time(ms) |
| :------: | :------: | :------: | :------: | :------: |
| ONNXRuntime | model/resnet50-v2-7.onnx | onnx | 75.70 | 6.67 |
https://developer.hpccube.com/codes/modelzoo/resnet50_ort
## 应用场景
### 算法类别
`图像分类`
## 参考
### 热点应用行业
`制造,政府,医疗,科研`
## 源码仓库及问题反馈
https://developer.hpccube.com/codes/modelzoo/resnet50_onnxruntime
## 参考资料
https://github.com/onnx/models/tree/main/vision/classification/resnet
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