# ResNet50 ## 模型介绍 使用MIGraphX推理框架对ResNet50模型进行推理。 ## 模型结构 ResNet50模型包含了49个卷积层、一个全连接层。 ## Python版本推理 下面介绍如何运行Python代码示例,Python示例的详细说明见Doc目录下的Tutorial_Python.md。 ### 下载镜像 在光源中下载MIGraphX镜像: ```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 ``` ### 安装依赖 ```python # 进入resnet50 migraphx工程根目录 cd # 进入示例程序目录 cd Python/ # 安装依赖 pip install -r requirements.txt ``` ### 运行示例 在Python目录下执行如下命令运行该示例程序: ```python python Classifier.py ``` 输出结果中,每个值分别对应每个label的输出值。 ``` [-2.07137913e-02 2.25237548e-01 -1.98313940e+00 -2.97359991e+00 -1.61100197e+00 4.24269080e-01 -9.02939081e-01 1.21229446e+00 ... -2.69769251e-01 -4.28011447e-01 1.25102985e+00 9.06333506e-01 -1.08657002e-01 3.15954179e-01 1.94901276e+00 -5.70572793e-01] ``` ## C++版本推理 下面介绍如何运行C++代码示例,C++示例的详细说明见Doc目录下的Tutorial_Cpp.md。 ### 下载镜像 在光源中下载MIGraphX镜像: ``` docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:ort1.14.0_migraphx3.0.0-dtk22.10.1 ``` ### 安装Opencv依赖 ```python cd sh ./3rdParty/InstallOpenCVDependences.sh ``` ### 修改CMakeLists.txt 如果使用ubuntu系统,需要修改CMakeLists.txt中依赖库路径: 将"${CMAKE_CURRENT_SOURCE_DIR}/depend/lib64/"修改为"${CMAKE_CURRENT_SOURCE_DIR}/depend/lib/" ### 安装OpenCV并构建工程 ``` rbuild build -d depend ``` ### 设置环境变量 将依赖库依赖加入环境变量LD_LIBRARY_PATH,在~/.bashrc中添加如下语句: **Centos**: ``` export LD_LIBRARY_PATH=/depend/lib64/:$LD_LIBRARY_PATH ``` **Ubuntu**: ``` export LD_LIBRARY_PATH=/depend/lib/:$LD_LIBRARY_PATH ``` 然后执行: ``` source ~/.bashrc ``` ### 运行示例 ```python # 进入resnet50 migraphx工程根目录 cd # 进入build目录 cd ./build/ # 执行示例程序 ./ResNet50 ``` 输出结果中,每个值分别对应每个label的输出值。 ``` label:0,confidence:-0.020714 label:1,confidence:0.225238 label:2,confidence:-1.983140 label:3,confidence:-2.973601 label:4,confidence:-1.611002 label:5,confidence:0.424268 ... label:995,confidence:0.906333 label:996,confidence:-0.108658 label:997,confidence:0.315955 label:998,confidence:1.949013 label:999,confidence:-0.570573 ``` ## 源码仓库及问题反馈 https://developer.hpccube.com/codes/modelzoo/resnet50_migraphx ## 参考 https://github.com/onnx/models/tree/main/vision/classification/resnet