0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

四个步骤完成一个Object Detection对象侦测的DEMO操作

jf_cVC5iyAO 来源:易心Microbit编程 作者:易心Microbit编程 2022-11-09 16:09 次阅读

Intel DevCloud开发者工具是一个免费的云端的开发平台,它已预装了OpenVINO Toolkit (Open Visual Inference and Neural network Optimization)方便开发AI应用程序。它是一个云端的JupyterLab服务,旗下三个产品DevCloudfor the Edge、DevCloud for oneAPI、DevCloud for FPGA,分别着重让开发者可以在云端的虚拟机上评估模型推论、神经网络训练研究以及客制化FPGA加速芯片应用。

特别值得一提的是,这些服务目前完全不需要花费任何一毛钱,即可尽情享用到高效能的运算能力。开发者们大可好好运用这些资源来学习并应用AI,本篇文章将使用DevCloud for the Edge,在简单的四个步骤之中,完成一个Object Detection对象侦测的DEMO操作。

一、准备动作

4742c69c-6005-11ed-8abf-dac502259ad0.png

Tutorials与Sample Applications非常推荐入门者学习

在注册完成登入DevCloud for the Edge之后,选择Get Started进入,即可看到五个页签,分别为Home、Learn、Build、Optimize以及Launch,分别在AI应用的四个阶段:学习、建立模型、优化模型以应用上,提供相当实用的文件与素材,入门者建议可以试着运行Learn页签里面的Tutorials与Sample Applications,里面有三十余的非常丰富的教学内容。

我们这次的主要目的则是在DevCloud上运行open model zoo的范例,首先我们要点选build页签当中的Connect and Create来启动服务器,等待约三十秒的时间之后即会转跳到DevCloud的后台界面。

4772e8e0-6005-11ed-8abf-dac502259ad0.png

DevCloud的后台接口,点选右上方New来新增档案或开启终端机

进入到DevCloud后台接口可以看到目前显示在files页签,是类似文件管理器以阶层的方式看到自己在服务器上的所有档案,预设服务器在建立之后即会产生一个Reference-samples的文件夹,里面存放许多上面所提到的Sample Applications等项目文件。

DevCloud提供每个账户50GB的储存空间,可以自由运用储存程序与模型数据等。接着点选右上方New按钮,并从下拉式选单中点选Terminal开启终端机。在黑色的终端机背景中输入以下指令来取得我们要使用的ipython notebooks档案,同时这个档案也存放在github上

https://github.com/FelixLinSY/DevCloud_Hands_On

供有需要的开发者自行取用参考。

wgethttps://github.com/FelixLinSY/DevCloud_Hands_On/raw/main/DevCloud_HandsOn.ipynb

二、四步骤完成预训练模型范例

执行完成回到档案管理接口,就会看到多出一个刚下载的DevCloud_HandsOn.ipynb档案,点选该档案来启动ipython notebook。

4799b60a-6005-11ed-8abf-dac502259ad0.jpg

运行于DevCloud的教学指引:DevCloud_HandsOn.ipynb

开启DevCloud_HandsOn.ipynb之后可以看到左侧是目录概要,可以看到列出了四个步骤即可完成open model zoo上的范例:

STEP1: 下载open model zoo程序代码

STEP2: 下载与转换模型

STEP3: 进行对象侦测推论

STEP4: 在各种边缘装置进行推论

47b7de1e-6005-11ed-8abf-dac502259ad0.png

本教学文的目录概要

右侧比较大的字段则是程序代码编辑区,这部分是由程序代码与批注文字两种Cell组合而成的区域,能以Cell为单位自由编辑并且执行。笔者已经预先在这个ipython notebook中加入批注说明文字,希望能帮助到初学者理解各个步骤与指令的用意所在。

STEP 1: 下载open model zoo程序代码

STEP1仅有三行指令,依序执行即可建立工作目录并且从github下载open model zoo的程序代码。

STEP 2: 下载与转换模型

STEP2则接续要下载预训练的对象侦测模型,这边有两个做法:2.1是一次下载所有支持的对象侦测模型;2.2则是仅下载指定模型。由于对象侦测支持的预训练模型实在是非常多,一次下载将花费非常多的时间,强烈建议先跳过2.1执行2.2下载特定模型即可,待日后想要尝试置换其他模型时,再下载全部模型较为妥适。

取得要使用的模型文件之后就是要进行模型转换(converter)来取得推论引擎(Inference Engine),加载时需要使用的IR(Intermediate Representation)档,以利后续使用CPUGPU、VPU等各种硬件进行推论。由于模型转换需要花费一些时间,如果你是一次下载所有模型并且进行转换的话(前述2.1的部分)这边也会花上好一段时间。

47d56240-6005-11ed-8abf-dac502259ad0.png

使用ssd_mobilenet_v2_coco进行图片推论的结果

STEP 3: 进行对象侦测推论

STEP3就是进行推论的重头戏了,这边会使用openmodel zoo中的object_detection_demo.py范例程序分别执行单张图片的推论以及影片的推论两种。为求方便起见图片与影片笔者分别从pixabay与Pexels合法取得照片与影片来进行推论使用,各位也可以将自己的照片或影片手动上传到DevCloud上作为推论数据使用。

在执行范例程序需要代入相应的参数包含IR文件路径、输入数据、输出数据、模型架构与卷标文件等等,若参数错误可能会造成辨识不准确甚至会无法执行,请务必稍加留意。若需要更换模型文件除了IR路径修改外,模型架构与卷标文件也可能需要更换,详细请参考预训练模型文件的说明。

此外在执行影片推论前,笔者有使用sed指令去修改范例程序中输出影像的格式,为的是能够输出成正确的图像文件案并且在DevCloud上播放。其余的部分则和图片推论是大同小异。在推论结果的部分,不管是图片或是影片的对象侦测,可以观察到输出结果相当不错,即使是小对象侦测的正确率还不差。

481968aa-6005-11ed-8abf-dac502259ad0.png

在Intel DevCloud for the Edge执行的影片推论结果

STEP 4: 硬件测试仿真

最后的第四步骤,我们要使用DevCloud最为强大的功能之一,将这个AI模型放到不同的边缘运算装置进行推论。于此之前先建立工作脚本档(4.1),基本上跟我们前面第三步骤的内容差不多,只不过把一些我们想要动态改变的参数改为从外部引入。

接着使用qsub指令派送工作到指定的边缘装置(4.2),所有支持的边缘装置可以参考Intel DevCloud for the Edge装置列表。由于工作会以方同步的方式在不同装置上运作,我们可以透过liveQstate()指令来检视任务的执行状态,这边务必要留意一下如果任务尚未完成而直接执行后续的cell程序段,将可能会造成错误或是数据读取不正确。

当所有任务都完成后,同样地开启输出影片来观察Intel Core Gen 11th使用CPU与GPU之间的推论差异。

487fd27a-6005-11ed-8abf-dac502259ad0.png

你可在Intel DevCloud for the Edge装置列表中进行选择,模拟体验一下所选模型在实际运作时的效益如何

三、快速延伸你的创意

本篇文章带各位轻松快速得完成一个open model zoo上的AI推论范例,各位是否觉得意犹未尽呢?在open model zoo与DevCloud上还有许多宝库值得去探究以及发掘,建议各位后续可以从 open model zoo 内各种有趣的范例和预训练的模型当中做探索,或是执行 DevCloud 上不同应用展示,都是不错的学习路径喔!每个范例也可以弹性去套用不同的模型进行演算,对于AI模型能够发展的应用,可以提供更多想象空间喔!

人工智能的技术在未来几年间将持续蓬勃发展,而配套的软件工具也将会越来越广泛且容易上手,有幸身处在这个AI应用即将爆发的时代,势必也要跟风参与一下这波撼动世界的技术浪潮。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1791

    文章

    46840

    浏览量

    237515
  • 应用程序
    +关注

    关注

    37

    文章

    3240

    浏览量

    57596

原文标题:OpenVINO云端也能GO!四个步骤轻松在DevCloud实作AI推论

文章出处:【微信号:易心Microbit编程,微信公众号:易心Microbit编程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    总线传输周期包括哪四个阶段

    总线传输周期是计算机系统中数据传输的基本单位,它涉及到多个阶段,以确保数据能够正确、高效地在处理器、内存和其他外设之间传输。典型的总线传输周期通常包括以下四个阶段: 请求阶段(Request
    的头像 发表于 10-12 09:05 464次阅读

    IGBT的四个主要参数

    IGBT的四个主要参数对于选择合适的IGBT器件至关重要。本文将介绍IGBT的四个主要参数:电压等级、电流等级、开关频率和热性能。 1. 电压等级 电压等级是IGBT的重要参数,它
    的头像 发表于 07-25 11:05 2600次阅读

    四个2输入异或门数据表

    电子发烧友网站提供《四个2输入异或门数据表.pdf》资料免费下载
    发表于 05-22 09:58 0次下载
    <b class='flag-5'>四个</b>2输入异或门数据表

    四个2输入正极和栅极数据表

    电子发烧友网站提供《四个2输入正极和栅极数据表.pdf》资料免费下载
    发表于 05-17 10:28 0次下载
    <b class='flag-5'>四个</b>2输入正极和栅极数据表

    四个2输入正极和栅极数据表

    电子发烧友网站提供《四个2输入正极和栅极数据表.pdf》资料免费下载
    发表于 05-16 10:22 0次下载
    <b class='flag-5'>四个</b>2输入正极和栅极数据表

    四个2输入异或门数据表

    电子发烧友网站提供《四个2输入异或门数据表.pdf》资料免费下载
    发表于 05-13 11:04 0次下载
    <b class='flag-5'>四个</b>2输入异或门数据表

    四个2输入正极和栅极数据表

    电子发烧友网站提供《四个2输入正极和栅极数据表.pdf》资料免费下载
    发表于 05-10 10:10 0次下载
    <b class='flag-5'>四个</b>2输入正极和栅极数据表

    半导体发展的四个时代

    台积电的 Suk Lee 发表了题为“摩尔定律和半导体行业的第四个时代”的主题演讲。Suk Lee表示,任何试图从半导体行业传奇而动荡的历史中发掘出些意义的事情都会引起我的注意。正如台积电所解释
    发表于 03-27 16:17

    半导体发展的四个时代

    台积电的 Suk Lee 发表了题为“摩尔定律和半导体行业的第四个时代”的主题演讲。Suk Lee表示,任何试图从半导体行业传奇而动荡的历史中发掘出些意义的事情都会引起我的注意。正如台积电所解释
    发表于 03-13 16:52

    四个单片机能共用晶振时钟频率来工作吗?

    四个单片机能共用晶振时钟频率来工作吗? 四个单片机共用晶振时钟频率来工作是可能的。在实际
    的头像 发表于 01-31 11:31 1567次阅读

    四个引脚无源晶振的接线方法

    无源晶振是种常用的被动元件,用于产生稳定的时钟信号。它通常有四个引脚,分别是VCC、GND、OUT和NC。
    的头像 发表于 01-23 18:15 6149次阅读

    ad转换的四个步骤是什么

    将对AD转换的步骤进行详细介绍。 、采样 采样目的是从连续时间域的模拟信号中提取离散时间域的信号。采样过程需要遵循奈奎斯特定理(Nyquist Theorem),即采样频率必须大于等于信号最高频率的两倍,以保证采样后的信号能够完全恢复
    的头像 发表于 01-15 17:48 7358次阅读
    ad转换的<b class='flag-5'>四个</b><b class='flag-5'>步骤</b>是什么

    度电是多少KWh 闸管四个电表是什么意思

    度电是指电能的单位,也被称为千瓦时(KWh),它是用来度量电能消耗的单位。度电等于1千瓦(KW)的电力负荷连续运行1小时所消耗的能量。在电力行业,KWh是最常用的用于度量用电量的单位。 闸管四个
    的头像 发表于 01-11 09:43 3138次阅读

    氮化镓开关管的四个电极是什么

    来了解下氮化镓开关管的基本结构。它由氮化镓(GaN)和铝镓氮化物(AlGaN)等半导体材料组成,这些材料具有优异的电特性,能够实现高电压、高频率和高功率的开关操作。而四个电极则起到了不同的作用。 首先是栅极(G):栅极是氮化镓
    的头像 发表于 12-27 14:39 1061次阅读

    vlookup函数的四个参数含义

    VLOOKUP函数是种用于在Excel中查找和提取数据的功能强大的函数。它的四个参数含义分别是:查找值、查找范围、返回列索引和区域或表标志。 首先,让我们来详细了解这四个参数的含义,并讨论如何正确
    的头像 发表于 12-01 09:57 6938次阅读