当前位置: 首页 > news >正文

在华为服务器的openEuler系统中适配Pytorch调用NPU

服务器架构: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-toolspip install numpy==1.24.4 -i https://pypi.tuna.tsinghua.edu.cn/simplepip 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.gitcd 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.gitcd 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模型可以在晟腾开发板上进行运行推理
http://www.lryc.cn/news/426531.html

相关文章:

  • MVCC工作原理深入解析
  • 使用html+css+js实现完整的登录注册页面
  • 2024年8月16日(运维自动化 ansible)
  • 荣耀Magicbook x14 扩容1TB固态
  • Springboot整合全文检索引擎Lucene
  • 【深度学习】【语音】TTS, 如何使用Python分析WAV的采样率、比特深度、通道数
  • Linux的安装和使用
  • 查看一个exe\dll文件的依赖项
  • 高校科研信息管理系统pf
  • Linux 开机自动挂载共享文件设置
  • c_cpp_properties.json、launch.json、 tasks.json
  • mysql 一些知识点 面试用
  • STM32之点亮LED灯
  • Java 多线程练习2 (抽奖比较Runnable写法)
  • 使用fastboot更新部分系统
  • windows 加载portch遇到的错误
  • 如何将 CICD 模版重构为 CICD component?
  • 数学建模——评价决策类算法(层次分析法、Topsis)
  • KEEPALIVED 全csdn最详细----理论+实验(干货扎实,包教会的)
  • 微信云开发云存储全部下载
  • vos3000怎样对接voip落地语音网关呢?卡机和O口网关的配置技巧有哪些?
  • MySQL数据库专栏(四)数据库操作
  • Python编写Word文档
  • 聚星文社AI工具
  • 思科OSPF动态路由配置8
  • C++(10)类语法分析(1)
  • python语言day6 os random datetime .ini文件
  • powershell 终端 执行 pnpm -v报错
  • 最新保姆级Anaconda和Pycharm安装激活过程(2024最新版本)
  • 虚幻5|布料模拟