MLU370用户指南 or MLU370-YOLOV5快速训练推理!!速度起飞

2023-11-09 23:50

本文主要是介绍MLU370用户指南 or MLU370-YOLOV5快速训练推理!!速度起飞,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MLU370用户指南 or MLU370-YOLOV5快速训练推理!!速度起飞

  • 用户前言
    • 创建开发环境
    • 开发环境登录及测试开发环境
    • YOLOV5 修改适配370预训练模型推理(超简单)
    • QA集锦

用户前言

在本章我们将从获取算力卷创建自己的云平台账号开始,一步一步的带着大家从0到1完成,从创建云平台环境选择镜像,选择SDK版本,到SSH登录云平台环境,更改github原版yolov5 v5.0代码实现mlu370训练和推理,同时在最后总结出部分QA为各位开发者提供快速支持。

创建开发环境

开发环境的账号和密码可以通过公众号每期算力卷获得,也可以联系作者得到获取方式,现在开始我们的创建开发环境

  1. 南京智能运算开发平台 点击此链接即可进入网址,登录成功即为此页面
    在这里插入图片描述

  2. 点击右侧菜单栏开发环境-》创建开发环境

在这里插入图片描述

  1. 在这里我们优先推荐用最新版本的torch和sdk(2023.05.30截止,只支持torch1.9,python<=3.7)

第一个画框处 2*MLU370-D5.10.6是最新版
第二个画框出选择的是镜像 torch1.9的 mlu版本,ubuntu20.04,python==3.7的镜像环境
在这里插入图片描述
4.如下图,当旁边显示绿色运行中标识,即运行成功,这个时候我们点开名称如图4.2,画红框区域就是我们的ssh账号和密码,核对其他信息是否和自己所需求的一样,到这一步,我们的开发环境就已经全部创建完成了。
在这里插入图片描述
图4.1
在这里插入图片描述

图4.2

开发环境登录及测试开发环境

1.打开Xshell或者Vscode(remote-ssh) 本次只介绍Xshell使用方式
ssh 账号为自己的平台的ssh账号(图四红框处,去除ssh://),密码为图四画红框密码

2.登录成功后,显示界面如下

(pytorch) root@notebook-guojun-test-1sygy1u-notebook-0:~#

3.测试开发环境是否通过 ,如下图所示即为测试环境通过,接着可以愉快的编码了

(pytorch) root@notebook-guojun-test-1sygy1u-notebook-0:~# python
Python 3.7.8 (default, Dec  7 2022, 18:43:13) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> import torch_mlu
>>> import torchvision
>>> torch.__version__
'1.9.0'
>>> torch_mlu.__version__
'1.13.0-torch1.9'
>>> torchvision.__version__
'0.10.0a0+300a8a4'
>>> 

YOLOV5 修改适配370预训练模型推理(超简单)

前言:关于数据清洗如VOC转COCO得操作这边就不介绍了,我们主要介绍如何将gpu得代码在MLU上快速使用起来

  1. 前期准备工作
    yolov5原代码:https://github.com/ultralytics/yolov5/tree/v5.0
    数据集(安全帽数据集):链接:https://pan.baidu.com/s/1HlODiZWAWxzvkVIAh16kYQ 提取码:0tb2

  2. 代码转换
    提前声明:GPU的代码在MLU上运行,在一般情况下只需要修改一行加速引擎代码即可,在镜像中我们已经加入了这种转换脚本位于/torch/src/catch/tools/torch_gpu2mlu.py

(pytorch) root@notebook-guojun-test-1sygy1u-notebook-0:/torch/src/catch/tools# python torch_gpu2mlu.py --i /workspace/volume/gpt/zhouguojun/MLU370-YOLOV5/yolov5-5.0/
# Cambricon PyTorch Model Migration Report
Official PyTorch model scripts:  /workspace/volume/gpt/zhouguojun/MLU370-YOLOV5/yolov5-5.0
Cambricon PyTorch model scripts:  /workspace/volume/gpt/zhouguojun/MLU370-YOLOV5/yolov5-5.0_mlu
Migration Report:  /workspace/volume/gpt/zhouguojun/MLU370-YOLOV5/yolov5-5.0_mlu/report.md

python torch_gpu2mlu.py --i /workspace/volume/gpt/zhouguojun/MLU370-YOLOV5/yolov5-5.0/
运行该代码即可转换成功

(pytorch) root@notebook-guojun-test-1sygy1u-notebook-0:/workspace/volume/gpt/zhouguojun/MLU370-YOLOV5# ll
total 2
drwxrwxrwx. 1 root root 4096 May 30  2023 ./
drwxrwxrwx. 1 root root 4096 May 30 17:02 ../
drwxr-xr-x. 1 root root 4096 May 30  2023 yolov5-5.0/
drwxrwxrwx. 1 root root 4096 May 30  2023 yolov5-5.0_mlu/
  1. 使用MLU370进行推理
    在安装完一些缺失库之后,直接python detect.py
(pytorch) root@notebook-guojun-test-1sygy1u-notebook-0:/workspace/volume/gpt/zhouguojun/MLU370-YOLOV5/yolov5-5.0_mlu# python detect.py 
Namespace(agnostic_nms=False, augment=False, classes=None, conf_thres=0.25, device='', exist_ok=False, img_size=640, iou_thres=0.45, name='exp', nosave=False, project='runs/detect', save_conf=False, save_txt=False, source='data/images', update=False, view_img=False, weights='yolov5s.pt')
requirements: /workspace/volume/gpt/zhouguojun/MLU370-YOLOV5/yolov5-5.0_mlu/requirements.txt not found, check failed.
YOLOv5 🚀 2023-5-30 torch 1.9.0 CUDA:0 (MLU370, 49152.0MB)CUDA:1 (MLU370, 49152.0MB)/torch/venv3/pytorch/lib/python3.7/site-packages/torch/_utils.py:110: UserWarning:  MLU operators don't support 64-bit calculation. so the 64 bit data will be forcibly converted to 32-bit for calculation.  (Triggered internally at  /torch/catch/torch_mlu/csrc/aten/util/tensor_util.cpp:153.)return new_type(self.size()).copy_(self, non_blocking)
Fusing layers... 
Model Summary: 224 layers, 7266973 parameters, 0 gradients
[2023-5-30 17:17:44] [CNNL] [Warning]:[cnnlSetNmsDescriptor_v2] is deprecated and will be removed in the future release, please use [cnnlSetNmsDescriptor_v5] instead.
[2023-5-30 17:17:44] [CNNL] [Warning]:[cnnlClip] is deprecated and will be removed in the future release, please use [cnnlClip_v2] instead.
image 1/2 /workspace/volume/gpt/zhouguojun/MLU370-YOLOV5/yolov5-5.0_mlu/data/images/bus.jpg: 640x480 4 persons, 1 bus, 1 fire hydrant, Done. (0.010s)
image 2/2 /workspace/volume/gpt/zhouguojun/MLU370-YOLOV5/yolov5-5.0_mlu/data/images/zidane.jpg: 384x640 2 persons, 2 ties, Done. (0.009s)
Results saved to runs/detect/exp
Done. (0.097s)

因为快速教程所以没有更改打的日志断点,可以看到MLU370 2卡识别正常出来且速度推理在0.009平均可以看出速度飞快
在这里插入图片描述
这是coco原来效果图
到这里yolov5推理就顺利结束啦~

QA集锦

很多同学在初次使用的时候,会有许多问题,这边集合总结问题快速回复供同学们参考

gpu移植到mlu需要改动哪些?
主要是修改设备相关的改动,或者使用寒武纪提供的脚本工具。可以参考下图总结:
在这里插入图片描述
使用torch_gpu2mlu.py这个脚本是不是就不用人工修改原生代码就可以移植到mlu了?
是的,理论上不需要人工修改了。
寒武纪SDK里转换工具是要对整个代码工程进行作用吗?还是只需要对训练入口文件?
对整个工程作用。
当前是否支持与GPU混插进行多卡异构训练?分别推理部署呢?
支持。
Pytorch 支持什么版本?
目前支持PyTorch 1.6和1.9版本。
MLU训练支持多机多卡吗?
支持,后续课程会讲到分布式训练。
请问使用MLU训练出来的模型的通用性怎么样?
通用性很好,和GPU训练出来的一样。
请问3系列加速卡支持哪些计算精度类型?
MLU370系列支持FP32、FP16、INT16、INT8等,具体规格点击官网查看:思元370系列 - 寒武纪 (cambricon.com)
需要配置一个定制的pytorch环境,python3.8-39.torch要求1.9
目前python只支持到3.7,torch支持1.6和1.9,具体可使用最新镜像pytorch:v1.13.0-torch1.9-ubuntu20.04-py37完成。

这篇关于MLU370用户指南 or MLU370-YOLOV5快速训练推理!!速度起飞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/379180

相关文章

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

使用JavaScript将PDF页面中的标注扁平化的操作指南

《使用JavaScript将PDF页面中的标注扁平化的操作指南》扁平化(flatten)操作可以将标注作为矢量图形包含在PDF页面的内容中,使其不可编辑,DynamsoftDocumentViewer... 目录使用Dynamsoft Document Viewer打开一个PDF文件并启用标注添加功能扁平化

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能

如何安装 Ubuntu 24.04 LTS 桌面版或服务器? Ubuntu安装指南

《如何安装Ubuntu24.04LTS桌面版或服务器?Ubuntu安装指南》对于我们程序员来说,有一个好用的操作系统、好的编程环境也是很重要,如何安装Ubuntu24.04LTS桌面... Ubuntu 24.04 LTS,代号 Noble NumBAT,于 2024 年 4 月 25 日正式发布,引入了众