服务器架构:aarch64
yolov7 和 mindyolo 二选一即可,yolov7是基于pytorch,mindyolo是基于mindspore
本文档基于CANN8.0RC3 , 刚发布比较新,如果有问题,可将CANN版本降低
导读
- 资料首页:
https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC3alpha001/softwareinst/instg/instg_0030.html
- 资源下载:
https://www.hiascend.com/developer/download/community/result?module=dl+pt+cann
- 官方教程:
https://www.hiascend.com/document/detail/zh/Pytorch/60RC2/configandinstg/instg/insg_0006.html
- 问题:
https://www.mindspore.cn/docs/zh-CN/master/faq/installation.html
NPU驱动
- 查看npu驱动是否安装:
nup-smi info
,如果没有需要先安装驱动
安装miniconda
- 安装python3.10,没有用系统自带的python3 和 pip3 因为版本比较低
mkdir -p ~/miniconda3 wget https://repo.anaconda.com/miniconda/Miniconda3-py310_24.5.0-0-Linux-aarch64.sh -O ~/miniconda3/miniconda.sh bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 rm -rf ~/miniconda3/miniconda.sh # 初始化 ~/miniconda3/bin/conda init bash ~/miniconda3/bin/conda init zsh # 安装完成重启终端
前置配置
- 前置必备
yum install -y gcc gcc-c++ make cmake sqlite-devel zlib-devel openssl-devel libffi-devel net-tools pip install numpy==1.24.4 -i https://pypi.tuna.tsinghua.edu.cn/simple pip install attrs cython decorator sympy cffi pyyaml pathlib2 psutil protobuf scipy requests absl-py -i https://pypi.tuna.tsinghua.edu.cn/simple
安装CANN
-
nnae,nnal,nnrt 可选不必安装
-
安装cann
wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL%20V100R001C19SPC802/Ascend-cann-toolkit_8.0.RC3.alpha001_linux-aarch64.run?response-content-type=application/octet-stream -O cann.run chmod +x cann.run ./cann.run --install --quiet # 任意目录下执行vi ~/.bashrc命令 ,最后一样添加如下命令 source /usr/local/Ascend/ascend-toolkit/set_env.sh # 刷新生效 source ~/.bashrc
-
安装Kernels
wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL%20V100R001C19SPC802/Ascend-cann-kernels-910_8.0.RC3.alpha001_linux.run?response-content-type=application/octet-stream -O kernels.run chmod +x kernels.run ./kernels.run --install --type=toolkit --quiet
安装pytorch
-
注意pytorch版本和cann版本的对应关系:
https://portrait.gitee.com/ascend/pytorch
-
还需要注意yolov7 和 pytorch的版本对应关系
-
安装pytorch
pip install torch==版本号 pip install pyyaml pip install setuptools # 安装适配插件,https://gitee.com/ascend/pytorch/releases/download/v6.0.rc2-pytorch2.1.0/torch_npu-2.1.0.post6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl pipinstall torch-npu==版本号
-
安装是否安装成功
python -c "import torch;import torch_npu;print(torch_npu.npu.is_available())"
安装yolov7
-
下载源码:
git clone https://gitee.com/ascend/modelzoo-GPL.git cd modelzoo-GPL/built-in/PyTorch/Official/cv/object_detection/Yolov7_for_PyTorch # 配置数据集 built-in/PyTorch/Official/cv/object_detection/Yolov7_for_PyTorch/data/coco.yaml
-
安装依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
-
开始训练
#多卡训练请看官方文档 python train.py
安装mindyolo
-
下载源码:
git clone https://github.com/mindspore-lab/mindyolo.git cd mindyolo # 配置数据集,数据集和标注的文件名称只能数字,不能出现英文或符号或空格 configs/coco.yaml
-
安装依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
-
开始训练
#多卡训练请看官方文档 python train.py --config /root/mindyolo/configs/yolov7/yolov7-tiny.yaml
模型转换
- onnx模型转换为om模型 ;https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC3alpha001/quickstart/quickstart/quickstart_18_0010.html
- 转换后om模型可以在晟腾开发板上进行运行推理