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

相关文章

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python ORM神器之SQLAlchemy基本使用完全指南

《PythonORM神器之SQLAlchemy基本使用完全指南》SQLAlchemy是Python主流ORM框架,通过对象化方式简化数据库操作,支持多数据库,提供引擎、会话、模型等核心组件,实现事务... 目录一、什么是SQLAlchemy?二、安装SQLAlchemy三、核心概念1. Engine(引擎)

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum