摘要:上海人工智能实验室的浦视开源算法体系(OpenMMLab)团队基于昇腾AI发布了MMDeploy 0.10.0版本,该版本已支持OpenMMLab算法仓库在昇腾异构计算架构CANN上的推理部署。

本文分享自华为云社区《又一重要进展发布!OpenMMLab算法仓支持昇腾AI训练加速》,作者:昇腾CANN 。

近日,上海人工智能实验室的浦视开源算法体系(OpenMMLab)团队基于昇腾AI发布了MMDeploy 0.10.0版本,该版本已支持OpenMMLab算法仓库在昇腾异构计算架构CANN上的推理部署。而在最新发布的MMCV 1.7.0和MMEngine 0.3.0版本中,OpenMMLab基于昇腾AI软硬件底座完成了基础库(MMEngine、MMCV)及算法库(图像分类MMClassification、目标检测MMDetection)的适配,补齐了基于昇腾AI的训练加速能力。至此,OpenMMLab算法仓[1]已完整打通基于昇腾AI的训练与推理流程,基于昇腾异构计算架构CANN的开发体系与加速技术栈,开发者不仅可以基于OpenMMLab算法仓库快速构建AI模型与应用,还能充分发挥昇腾AI处理器的澎湃算力,加速训练及推理业务的执行。

CANN是专门面向AI场景的异构计算架构,同时作为昇腾AI基础软硬件平台的核心组成部分之一,搭起了从上层深度学习框架到底层AI硬件的桥梁,全面支持昇思MindSpore、飞桨(PaddlePaddle)、PyTorch、TensorFlow、Caffe、计图(Jittor)等主流AI框架,提供900多种优选模型,能够覆盖众多典型场景应用,兼容多种底层硬件设备,提供强大的异构计算能力。

OpenMMLab 诞生于 2018 年,是深度学习时代计算机视觉领域最全面、最具影响力的开源算法体系。旨在为学术和产业界提供一个可跨方向、结构精良、跨站性强、易复现的统一算法工具库。目前,OpenMMLab 已经累计开源了超过 30 个算法库,涵盖分类、检测、分割、视频理解等众多研究领域,拥有超过 300 种算法、2,400 多个预训练模型。在 GitHub 上获得超过 73,000 个标星,同时吸引了超过 1,500 名社区开发者参与项目贡献,用户遍及超过 110 个国家和地区,覆盖全国全球顶尖高校、研究机构和企业。

昇腾AI和OpenMMLab开展深度合作,共同签署了CCLA(Corporate Contributor License Agreement)协议,致力于长期全面支持OpenMMLab旗下基础仓和模型仓,共同促进更多业务场景的技术创新和生态共赢。

昇腾与OpenMMLab适配整体框架

上图展示了昇腾AI适配OpenMMLab的整体方案,其中 ,CANN软件栈实现了算法库在昇腾AI处理器上的加速运行;框架和基础库的适配,完成了与CANN的对接,其中torch_npu插件支撑了PyTorch[4]框架的运行,基础库中的runner、ops和dist等组件分别实现了基础运行类、自定义算子和通信协议对昇腾AI处理器的支持。CANN、框架和基础库的有机结合,支撑了基础库(MMCV)和算法库(MMClassification、MMDetection等)在昇腾AI处理器的加速运行。

通过OpenMMLab与昇腾CANN的对接,目前已完成了MMCV算子仓16+算子的适配,MMClassification与MMDetection模型套件仓共20+模型在昇腾硬件上的运行。

MMClassification适配模型参考:

https://mmclassification.readthedocs.io/en/latest/device/npu.html

MMDetection适配模型参考:

https://mmdetection.readthedocs.io/en/latest/device/npu.html

未来,随着昇腾AI和OpenMMLab合作的不断深入,双方将会从丰富算法库和更高性能的训练加速层面持续优化,促进昇腾AI和OpenMMLab的共同发展和繁荣。同时,也欢迎大家在昇腾社区和OpenMMlab的开源社区一起交流、探索和改进,共同推进计算产业发展和生态构建!

相关链接:

[1] https://github.com/open-mmlab

[2] https://github.com/open-mmlab/mmcv/pull/2262

[3] https://github.com/open-mmlab/mmengine/pull/572

[4] https://gitee.com/ascend/pytorch

[5] https://www.hiascend.com

点击关注,第一时间了解华为云新鲜技术~

又一重要进展发布!OpenMMLab算法仓支持昇腾AI训练加速的更多相关文章

  1. 【教程】5分钟在PAI算法市场发布自定义算法

    概述 在人工智能领域存在这样的现象,很多用户有人工智能的需求,但是没有相关的技术能力.另外有一些人工智能专家空有一身武艺,但是找不到需求方.这意味着在需求和技术之间需要一种连接作为纽带. 今天PAI正 ...

  2. MWeb 1.3.7 发布!增加发布到 Wordpress 等支持 MetaWeblog API 的服务,如:Wordpress 博客、新浪博客、cnblogs、oschina。

    MWeb 1.3.7 版的新功能 增加发布到 Wordpress 等支持 Metaweblog API 的服务,目前经测试过的有: Wordpress 博客.新浪博客.cnblogs.oschina. ...

  3. EM算法(2):GMM训练算法

    目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法运用 EM算法(4):EM算法证明 EM算法(2):GMM训练算法 1. 简介 GMM模型全称为Ga ...

  4. 【Java/Android性能优5】 Android ImageCache图片缓存,使用简单,支持预取,支持多种缓存算法,支持不同网络类型,扩展性强

    本文转自:http://www.trinea.cn/android/android-imagecache/ 主要介绍一个支持图片自动预取.支持多种缓存算法.支持二级缓存.支持数据保存和恢复的图片缓存的 ...

  5. Nacos 1.1.4 发布,业界率先支持 Istio MCP 协议

    Nacos是阿里巴巴开源的服务发现与配置管理项目,本次发布的1.1.4版本,主要带来的是与Istio的对接功能,使用的是Istio最新的MCP协议.本文将介绍包括这个功能在内的新版本发布的功能. 升级 ...

  6. 谷歌发布Flutter Alpha:支持Windows

    老孟导读:Windows来了,Mac.Linux.Web还远吗? 本文翻译自https://medium.com/flutter/announcing-flutter-windows-alpha-33 ...

  7. Angular2正式版发布,Wijmo抢先支持

    Angular2正式版发布 9月15日,Angular 2 的最终版正式发布了.作为 Angular 1 的全平台继任者 -- Angular 2 的最终版,意味着什么? 意味着稳定性已经得到了大范围 ...

  8. Android ImageCache图片缓存,使用简单,支持预取,支持多种缓存算法,支持不同网络类型,扩展性强

    本文主要介绍一个支持图片自动预取.支持多种缓存算法的图片缓存的使用及功能.图片较大需要SD卡保存情况推荐使用ImageSDCardCache. 与Android LruCache相比主要特性:(1). ...

  9. omi-cli新版发布-升级webpack2和支持sass生成组件局部CSS

    写在前面 omi-cli是Omi的命令行工具.在v0.1.X以及之前版本中,生成出来的项目脚手架 是基于webpack1的.由于: webpack1不支持tree-shaking,webpack2 支 ...

  10. GooglePlay发布应用后,支持的 Android 设备 0 台设备

    这个问题主要是权限问题: android.hardware.camera2.full #把这个权限去掉,注里能功里就不会有这一项了android.hardware.camera2.full 然后重新打 ...

随机推荐

  1. 前端框架Vue------>第一天学习、Vue学习的路径、Vue官网(1)

    文章目录 1.学习目标 2.前端知识体系 2.1 前端三要素 2.2.MVVM 3.第一个Vue程序 4.Vue实例的生命周期 vue的官方文档:https://cn.vuejs.org/ 1.学习目 ...

  2. Codeforces 1672 E. notepad.exe

    题意 这是一道交互题,有n个字符串,每个字符串长度:0-2000, n :0-2000 有一个机器对他进行排版,你可以给他一个每行的最大宽度w,那么每行只能放长度为w的字符: 每行相邻两个字符串之间至 ...

  3. 【FAQ】关于华为地图服务定位存在偏差的原因及解决办法

    一. 问题描述: 华为地图服务"我的位置"能力,在中国大陆地区,向用户展示他们在地图上的当前位置与用户的实际位置存在较大的偏差. 具体差别可以查看下方的图片: 二. 偏差较大的原因 ...

  4. python简单的tcp服务端

    1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 # 文件名:tcpserver.py 4 5 import socket 6 import time 7 ...

  5. 【Java并发008】原理层面:ReentrantLock中 await()、signal()/signalAll()全解析

    一.前言 上篇的文章中我们介绍了AQS源码中lock方法和unlock方法,这两个方法主要是用来解决并发中互斥的问题,这篇文章我们主要介绍AQS中用来解决线程同步问题的await方法.signal方法 ...

  6. Git基操记录

    小结 说多了都是泪,最近在整理Java的笔记,记笔记我比较喜欢使用markdown(当时使用Hexo的原因之一),毕竟作为刚入门槛一点点的程序小白,还没用上Idea(很多大佬都推荐这个),目前还在使用 ...

  7. FluentFTP能连接却报未将对象引用设置到对象的实例。

    本来项目中用的好好的FTP下载传输,不知道从什么时候开始读取不到了,也上传不了.实际读取的是本地缓存的.因为同事上传不了文件和图片才发现.上源码! #region 下载文件 static byte[] ...

  8. Android网络请求(1)

    Android网络请求(1) ​ 安卓开发网络请求可谓是安卓开发的灵魂,如果你不会网络请求,那么你开发的应用软件就是一具没有灵魂的枯骨. ​ 在安卓开发中进行网络请求和java中的网络请求有异曲同工之 ...

  9. Execute Crond Service on openEuler

    一.Execute Crond Service on openEuler 1 crond 概述 crond就是计划任务/定时任务 常见有闹钟.PC端定时关机 shutdown -s -t 200,定时 ...

  10. Day30.1:Math的常用方法

    Math 1.1 Math概述 Math类在Java.lang包下,不需要导包 public final class Math extends Object Math含有基本的数字运算方法,没有构造器 ...