注意: SOPHGO SE5微服务器的CPU是基于ARM架构,本次课程仅用于模型推理测试
课程全程将在SOPHGO(算能)云平台上进行。
本次课程将介绍:
- SOPHGO(算能)SE5 云平台环境搭建
- MiDas的深度估计算法
- 准备MiDas模型相关文件
- MiDas模型推理测试(在SOPHGO SE5微服务器上进行)
- 相关链接
版本环境: 本次课程使用的版本环境适配 SOPHON SDK V2.7.0 和 SOPHON SDK V3.0.0 版本,其他版本可能会出现不兼容的情况。目前课程的云环境版本是SOPHON SDK V2.7.0
1. SOPHGO(算能) SE5 云平台环境搭建
SE5平台介绍 : 已经集成了所需的标准开发测试环境
1.1 开通云平台账号
参考: https://cloud.sophgo.com/tpu.pdf
1.2 开发环境初始化
1.2.1 进入命令行模式,进去默认在/root目录
1.2.2 Sophon文件更改
cd /tmp/
pip3 install dfn
# 下载对应版本sophon文件
python3 -m dfn --url http://219.142.246.77:65000/sharing/SsPGZVvAZ
tar -xvf sophon.tar.xz
# 替换源目录/system/lib/sophon。
mv /system/lib/sophon /system/lib/sophon.bak
mv /tmp/sophon /system/lib/sophon
1.2.3 环境变量设置
创建env.sh文件,内容如下:
# 设置环境变量
export PATH=$PATH:/system/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/system/lib/
export PYTHONPATH=$PYTHONPATH:/system/lib
执行source env.sh激活环境
2. MiDas的深度估计算法
仓库链接: https://github.com/isl-org/MiDaS
论文链接: https://arxiv.org/abs/1907.01341v3
hub链接: https://pytorch.org/hub/intelisl_midas_v2/
MiDaS从单个图像计算相对逆深度。
3. 通过BMNNSDK进行MiDas模型转换
3.1 下载项目文件
git clone xxx(待更新)
3.2 下载所需FP32和INT8 BModel
cd MiDas/v2.7.0/scripts
bash download_bmodel.sh
3.3 查看模型相关信息
命令:bm_model.bin --info xxxx.bmodel
bm_model.bin --info ../dataset/midas_s_fp32b1.bmodel
bm_model.bin --info ../dataset/midas_s_int8b1.bmodel
命令:bmrt_test --bmodel xxxxxxx.bmodel
bmrt_test --bmodel ../dataset/midas_s_fp32b1.bmodel
bmrt_test --bmodel ../dataset/midas_s_int8b1.bmodel
4. MiDas模型推理测试(在SOPHGO SE5微服务器上进行)
4.1 运行推理测试
4.1.1 运行推理测试
执行以下命令即可实现推理(路径已经处理好)
cd ../python
# bmcv + FP32 BModel example
python3 midas_bmcv_inference.py #BModel默认使用../dataset/midas_s_fp32b1.bmodel
# opencv + INT8 BModel example
python3 midas_opencv_inference.py --bmodel ../dataset/midas_s_int8b1.bmodel
输出:
bmcv + FP32 BModel:
opencv + INT8 BModel:
结果生成在当前目录中,以output开头。
4.2 获得推理生成的图片
注意: 由于是在Docker容器中,如果想要看到推理的可视化结果需要退出容器,并打开Docker容器映射的文件夹,在对应位置将图片拷贝到`/tmp`文件夹下后可在云平台文件系统中下载。
# 打开midas项目, ${midas}即项目所在路径
cd ${midas}/python
# 拷贝需要的推理结果图片
cp output* /tmp/
查看color图:
5. 相关链接
样例开源仓库:https://github.com/sophon-ai-algo/examples
BM1684 BMNNSDK文档:https://developer.sophgo.com/site/index/document/6/all.html
编译工具用户开发手册: https://doc.sophgo.com/docs/2.7.0/docs_latest_release/nntc/html/index.html
量化工具用户开发手册: https://doc.sophgo.com/docs/2.7.0/docs_latest_release/calibration-tools/html/index.html
算能量化工具介绍及使用说明:https://www.bilibili.com/video/BV1DA4y1S75p?spm_id_from=333.999.0.0
官网视频教程:https://developer.sophgo.com/site/index/course/all/all.html
官网文档中心:https://developer.sophgo.com/site/index/document/all/all.html
官网下载中心:https://developer.sophgo.com/site/index/material/all/all.html
官网论坛:https://developer.sophgo.com/forum/view/43.html