华为Ascend众智计划项目--3DMPPE_ROOTNET--Pytorch模型迁移至NPU(一)

news/2024/11/19 18:41:32/

系列文章目录

项目信息、本地GPU单卡复现:
华为Ascend众智计划项目–3DMPPE_ROOTNET–Pytorch模型迁移至NPU(一)

模型迁移——本地代码添加:
华为Ascend众智计划项目–3DMPPE_ROOTNET–Pytorch模型迁移至NPU(二)

模型迁移——服务器GPU-2P调试和NPU单卡调试:
华为Ascend众智计划项目–3DMPPE_ROOTNET–Pytorch模型迁移至NPU(三)

模型迁移——NPU单P性能和精度调优:
华为Ascend众智计划项目–3DMPPE_ROOTNET–Pytorch模型迁移至NPU(四)

模型迁移——NPU-8P调试:
华为Ascend众智计划项目–3DMPPE_ROOTNET–Pytorch模型迁移至NPU(五)

文章目录

  • 系列文章目录
  • 前言
  • 一、项目信息
    • 1.项目简介
    • 2.环境信息
    • 3.训练阶段里程碑
    • 4.相关参考网站和文档
  • 二、本地GPU单卡复现
    • 1.下载数据集
    • 2.本地运行
  • 总结
  • 参考文献


前言

  本系列文章记录笔者在完成华为昇腾众智项目的主要过程、遇到的问题及解决方案等。Ascend 众智计划是华为围绕 Ascend 基础软件平台推出的一项生态合作计划,旨在汇聚高校、科研院所、企业等组织和机构的开发团队,通过项目合作方式,基于 Ascend 基础软硬件平台开发算子、网络模型及行业参考设计,不断丰富 Ascend 计算产业生态,为加速千行百业智能化升级贡献智慧与力量。笔者负责的是姿态识别模型3DMPPE_ROOTNET的训练任务,该模型是基于Pytorch框架实现的。



一、项目信息

1.项目简介

模型名:3DMPPE_ROOT NET
算法场景:3D 姿态估计
论文链接:https://arxiv.org/abs/1907.11346
代码链接:https://github.com/mks0601/3DMPPE_ROOTNET_RELEASE
目标配置:RootNet
参考精度 :MRPE120.0   MuCo
目标数据集:Human3.6M  AP_25(percentage)31.0
因为Human3.6M数据集过大,经过讨论后最终将训练数据集换为MuCo(3D数据集)和MPII(2D数据集),测试数据集为MuPoTS,参考精度也改为MuCo数据集的参考精度。作者提供了多个可供训练和测试的数据集,每次训练需要至少一个3D数据集和一个2D数据集,测试数据集也需要与训练数据集对应。具体可参阅代码中的md文件。

2.环境信息

Python 3.6.5
Pytorch 1.5.0(华为NPU所使用的Pytorch版本)
其余GPU环境复现时安装对应版本的Pytorch、CUDA、cuDNN,可以跑通即可。
pytorch + cuda + cudnn 配置完整教程

3.训练阶段里程碑

  • Step 0: 本地模型调试
  • Step 1: 1 卡 GPU 精度和性能复现
  • Step 2: 8 卡 GPU 精度和性能复现
  • Step 3: 1 卡 NPU 精度和性能对齐
  • Step 4: 8 卡 NPU 精度和性能对齐

4.相关参考网站和文档

昇腾社区
Ascend:昇腾万里,让智能无所不及
Pytorch训练指导 - Wiki - Gitee.com
深度学习框架:Pytorch3 (基于 Pytorch 1.5.0)
PyTorch&ONNX众智一站式导航

二、本地GPU单卡复现

1.下载数据集

训练数据集选用的是MuCo和MPII,测试数据集为MuPoTS。参考代码中的MD文件下载所需数据集和JSON文件。

2.本地运行

  • 本地运行相对来说较为简单,只要能跑通作者所提供的的代码,并且达到论文中的精度即可。

  • 本地运行时主要遇到的还是环境方面的问题,如缺少提示缺少“cv2”,解决方案:
    pip install opencv-python

  • 另外在安装pycocotools时,遇到了C++环境编译的问题,尝试安装Visual Studio后仍然无法解决,报错如下:
    command ‘ cl.exe‘ failed: No such file or directory
    最后的解决方案可以看这篇博客。
    command ‘ cl.exe‘ failed: No such file or directory 问题的另一种解决办法

  • GPU单卡的运行环境是:
    Pytorch 1.7.0
    CUDA 10.1
    cuDNN 8.0.5(.h文件的版本显示好像存在问题,具体可以可以跑通即可)
    本地运行的GPU为2080S,一次训练需要20个epoch,原文作者使用两张1080ti花费了两天时间。


总结

本文介绍了项目信息和本地复现论文代码的情况。


参考文献

https://www.hiascend.com/ecosystem/all-wisdom


http://www.ppmy.cn/news/625079.html

相关文章

华为Ascend昇腾CANN详细教程(一)

一、参考资料 基于昇腾CANN的推理应用开发快速体验(C) 基于昇腾CANN的推理应用开发——图片分类应用(C&C) 二、重要说明 CANN软件提供进程级环境变量设置脚本,供用户在进程中引用,以自动完成环境变量…

华为Ascend昇腾计算产业概述

一、参考资料 1.1 解决方案 [产品与解决方案介绍视频(渠道版)] 020101Atlas人工智能计算平台 [彩页(客户版)] 华为Atlas人工智能计算解决方案产品彩页 [营销物料] 人工智能创新应用优秀案例集 1.2 昇腾文档 昇腾官网 昇腾文…

C++ 关于无锁map的一些思考(线程安全)

前提 1、map 的 key 是可以穷举的 2、允许修改已经删除的 value,我们认为是创建了新 value 再修改 思路 1、先把所有的 key 放入 map 中,这里我们获取 key 的时候 100% 不会报错 (前提1) key 永不删除,如果要删除…

跟着李沐学AI(动手学深度学习 PyTorch版)学习笔记——02深度学习介绍

1.课程安排大概共34天的课-(计划7月底看完,争取做到最少两天一更) 2.动手学深度学习课本教材 3.课程谈论坛 4.pytorch论坛 一、 目标 二、内容 三、 学习目标: 四、简单了解深度学习 深度学习: 图片分类物体的检测和…

获取QQ所有在线好友IP的小技巧

为了能够显示QQ好友的IP,我装了一个珊瑚虫QQ外挂( http://www.soff.net/),但是在使用过程中发现时常会出现好友上线却看不到IP的情况,QQ外挂只能显示对方使用QQ的版本。这时我发现通过浏览对方的共享文件可以获取到对方的IP。

水滴IP教你如何查询QQ好友的IP地址

水滴IP教你如何查询QQ好友的IP地址 有时候很多人会遇到查询别人IP的情况,但是怎么查询QQ好友的IP地址呢,下面水滴IP教大家一个简单的方法。 首先打开电脑上的运行框,输入:cmd,进入到DOS命令窗,然后输入net…

怎么用QQ查看对方IP

QQ如何查看对方IP, 【使用教程】当然也可找相关qq客服:761866017,之前也是找她弄好的。使用专门的IP地址检测工具 目前用于检测QQ好友IP地址的工具”除能查看好友IP地址,分析所在地理位置外,内部还存储有200多个很酷的聊天贴图和聊天用语&…

通过qq进行ip定位

通过qq进行ip定位 1、下载wireshark抓包 这里会抓包就行 2、找一个人进行qq视频通话 ctrlF搜索一下字符串020048,这是qq协议头 大家可以看到这里不是他的就是我的ip,我是本地ip他是公网ip。 3、查询ip 通过这个网站就可以查询 https://mall.ipplu…