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

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

3天内不再提示

人工智能应用开发的角度介绍OpenVINO工具包

英特尔物联网 来源:英特尔物联网 作者:英特尔物联网 2021-10-29 11:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作为产品经理,为了确保产品顺利落地及上市,我始终坚持“合适的便是最好的“原则”。这一理念指导我在技术选型乃至合作伙伴选择中少走了很多弯路,清楚的认识自己所处的位置以及所需的内容是加速产品落地、产品上市的先决条件。当下,人工智能作为一种底层技术已经渗透到我们生活、工作的各个角落。算法大牛、框架大厂、处理器厂商也是各显神通,百花齐放,不断推动行业前行。

在信息爆炸的今天,获取资讯已不是难题,如何快速的获取到准确可信的信息反而变得更加重要。在人工智能领域亦是如此,众多算法、众多框架、众多处理器乱花迷人眼,如何选择适合自己产品、满足客户需要的技术,直接影响产品落地及产品上市的时间。针对选型问题,我的标准是学习门槛低、试错成本低、兼容范围广、应用行业多的技术是优选。

在工程项目实施过程以及我们参与的人工智能培训中,我们发现即便在各大厂商开源人工智能工具、释放大量学习资源的今天,入门人工智能、学习人工应用开发依旧是有挑战的事情。“我没有高性能的显卡,能学习人工智能么?”,“数学不是很好,我能学会人工智能么?”“我不是人工智能专业的学生,能入行人工智能开发?”“看不懂机器学习深度学习的公式,能开发人工智能应用么?”。针对以上的疑问,答案都是肯定的,能!

希望通过这个教程可以让更多的人了解到,当下我们学习人工智能尤其是进行人工智能应用开发的门槛已经越来越低,不需要高性能GPU、不需要开发板、不需要太多的数学基础、只要一台带有CPU电脑,我们就可以学习人工智能应用开发。

本教程将以OpenVINO 工具包、Jupyter Notebook工具以及OpenVINO Notebooks工程为基础,依照构建环境、工具学习、案例学习、实战部署的顺序引导初学者完成从0到1学习人工智能的全过程,希望众多对人工智能感兴趣的开发者,先把AI技术用起来,用到自己的行业中,在应用的过程中,不断加深对AI技术的理解。

本书的适用对象

打算学习并入门AI技术的大中专、高职以及本科学生。

希望将人工智能技术应用到传统行业的工程技术人员。

如何使用教程?

Just Do It

动起来,练起来。先完成实训、达成实用的目标,再根据自己的兴趣点,不断补充理论知识,不断深入学习人工智能技术。

1. 深入了解Jupyter Notebooks工程

1.1

关于OpenVINO 工具包与

Jupyter Notebook

OpenVINO 工具包是加速神经网络推理、加速人工智能产品落地的神器,也是学习人工智能在机器视觉应用的好助手,OpenVINO 工具包案例丰富、贴近应用,产业生态完善,既是工具也是开发指导思想,尤其对于初学者非常友好,能够很好的助力人工智能应用学习及产品开发。

Jupyter Notebooks是计算科学领域常用的数据分析工具,具备优秀的交互性及易用性,在数据分析过程中,Jupyter Notebooks可实现有效沟通,重现整个分析过程,并将说明文字、代码、图表、公式、结论都整合在一个文档中,不仅能够在文档里实现代码执行,而且可用通过网页进行分享。而这个工具也可以用于产品开发,完成从需求分析-功能定义-原型设计-功能开发-功能验证的整个流程。

作为产品开发者在技术选型中会优先关注工具及技术的易用性、功能性、成熟度、可扩展性、可维护性以及生态环境,而OpenVINO 与Jupyter Notebooks这两个工具套件几乎满足了以上所有要求。二者组合既能助力从业者学习又能加快产品落地,天作之合。

1.2

安装操作系统

OpenVINO Notebooks支持多种操作系统以及云环境,已验证过的系统有Windows10、Ubuntu、macOS、Red Hat、Cent OS、 Azure ML以及Docker,无论本地搭建还是云端部署,官方皆提供了详细的指导文档。甚至不需要安装任何文件在云端即可体验笔记的功能。接下来我们一起学习如何在本地,以Ubuntu20.04 LTS系统为例,搭建OpenVINO Notebooks 学习环境以及利用OpenVINO 构建自己的人工智能应用产品。

尽管安装操作系统本身并非是本章节的重点内容,但考虑到工程实训需要,笔者将采用概要及图片的方式,快速展示操作系统安装过程,以便于有需要的读者参考使用。在主机上安装操作系统并不困难,仅需要三步便可完整,依次为第一步下载系统镜像;第二步,烧写镜像到U盘;第三步使用U盘将操作系统安装到主机。接下来我们逐一进行介绍。

笔者使用的主机硬件配置如下:

主机:

Intel NUC 11 Pro Kit

CPU:

Intel Core i5-1135G7 Max4.2GHz

内存:

DDR4 2666 8GB

存储:

M.2 NVME 256GB

操作系统:

Ubuntu 20.04 LTS

主要工具:

OpenVINO 2021.4 LTS

python3.8

git

配件:16GB U盘

1.2.1

下载Ubuntu镜像

我们到Ubuntu的官方网站https://cn.ubuntu.com/download/desktop

下载镜像。

下载完成后,我们就有了一个iso的镜像文件。

1.2.2

制作USB系统启动盘

可以制作USB系统启动盘的工具很多,我们使用开源工具rufus进行烧写。参考图1-2,先选择U盘设备,然后在引导类型选择我们下载的系统镜像,其他设置可以默认;最后点击开始,等待几分钟后我们就有了一个Ubuntu 20.04系统安装盘。

1.2.3

安装Ubuntu操作系统

我们设定的前提是在将Ubuntu系统直接安装的硬盘上,独占磁盘,没有双系统。这也是工程应用中普遍的做法。

将我们做好的启动盘插入电脑,启动电脑并选择进入启动界面,选择U盘启动,我们可以进入到Ubuntu安装流程,不同电脑U盘启动的方式不同,请参考官方提供的说明进行操作。由于安装系统并非本教程的重点,在此展示主要流程会跳过非关键步骤。

1) 进入安装界面

2) 选择语言及键盘布局

3) 选择系统组件

4) 选择系统安装类型

对于全磁盘安装,请选择清楚整个磁盘并安装Ubuntu

5) 设置时区

6) 设定用户名密码

如自用可设定自动登录,每次开机不需要输入密码直接进入系统

7) 等待安装完成

8) 进入系统

1.3

构建OpenVINO Notebooks环境

经过1.2章节准备,我们已经在电脑上成功安装并运行了Ubuntu20.04, 在正式开始前,我们先安装python venv及git工具,这是我们构建环境所必要的工具包。打开终端,输入命令:

sudo apt-get update

sudo apt-get install python3-venv python3-pip git

我们已经做好准备,接下来我们依旧用三步来完成OpenVINO Notebooks学习开发环境的构建。第一步,创建Python虚拟环境;第二步,换取工程源码;第三步,安装依赖软件。我们一步一步详解操作。

1.3.1

创建Python虚拟环境

1) 使用python venv为笔记创建独立虚拟环境并激活环境

venv模块是python的一个软件包管理工具,创建并激活虚拟环境后所安装的所有软件包仅对当前环境起作用而不会影响系统全局或创建的其他虚拟环境。按照如下指导可以完成Python虚拟环境的创建及激活。

打开终端并输入以下命令:

python3 -m venv openvino_env

命令成功执行后,将在用户家目录创建openvino_env目录,此目录包含python虚拟环境所用到的文件。

2) 激活虚拟环境

source openvino_env/bin/activate

环境激活后,我们可以看到“openvino_env”出现在命令提示符前,与之前的命令提示符有明显的区别,此处表示我们已处于虚拟环境中,如图1-2所示。我们在此环境下安装的python包仅对当前环境起作用,而不会影响全局设置。在日常开发中,我们可以使用python venv工具创建多个虚拟环境灵活管理自己的开发环境。

若要退出虚拟环境,则执行命令:

deactivate

至此,我们成功完成了虚拟环境创建。下一步,获取工程代码。

1.3.2

获取工程源码

git clone http://github.com/openvinotoolkit/openvino_notebooks.git

如果遇到网络不畅,可使用码云的镜像地址进行下载

git clone https://gitee.com/openvinotoolkit-prc/openvino_notebooks.git

代码获取成功后,我们将得到openvino_notebooks工程,我们用下面的查看下工程源码的内容,以确认工程获取成功。

cd openvino_notebooks && ls -l

1.3.3

安装工程依赖软件

我们在工程文件目录里可以发现requirements.txt文件,该文件是项目依赖软件包的说明文件,通过描述文件我们仅需要一行命令可以完成工程运行所依赖的软件包的安装工作,实现环境安装配置。需要注意,执行此命令时,一定要确保我们创建的openvino_env虚拟环境处于激活状态。

python -m pip install --upgrade pip

pip install -r requirements.txt

由于安装命令是依赖网络将软件包下载至本地环境,网络环境不同所用安装时间不尽相同,若网络顺畅,我们终将顺利迎来安装成功的提示。至此,环境安装成功,我们已经具备了运行OpenVINO Notebooks工程的全部环境。

注:由于网络环境对软件包下载有较大影响,建议在配置安装环境前配置软件源。公网用户可选择阿里云软件源,教育网用户可选择清华软件源。示例环境配置为阿里云源,参考命令如下:

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

#教育网用户推荐清华软件源

pip config set global.index-url

https://pypi.tuna.tsinghua.edu.cn/simple

最后,我们使用ipykernel 来为OpenVINO Notebooks创建专属内核,由于Jupyter Notebooks可以支持不同的内核,为了便于区分我们使用的内核环境,我们执行下面的命令为我们的环境设置专属名称,方便在Jupyter笔记中选择使用。

python -m ipykernel install --user --name openvino_env

1.4

运行OpenVINO Notebooks工程

1.4.1

工程结构介绍

在正式运行笔记之前,我们先深入了解工程的代码结构及文件用途,便于我们更好的理解、学习源码。

名称属性描述

check_install.py文件工程环境验证脚本,检测环境是否满足运行需要

CONTRIBUTING.md文件如何参与到工程开发的说明文件

Dockerfile文件构建docker的镜像的文件,包含命令及说明

LICENSE文件版权说明文件

notebooks文件Jupyter Notebooks文件夹工程笔记的主目录

README_cn.md文件工程说明文件中文版

README.md文件工程说明文件英文版

requirement.txt文件工程所依赖的软件包的描述文件

我们通过执行如下命令可以获取notebooks目录的详细信息

ls notebooks -l

笔记分为由浅入深,由简单到复制分为四个部分。001-004是基础准备篇,目的是让用户快速了解OpenVINO 工具包;101-105是模型转换及优化篇,重点介绍如何利用OpenVINO 所提供的模型转换器将不同框架如Tensorflow、pytorch、paddlepaddle生成的模型转换并优化为OpenVINO 支持的文件,以实现加速推理的目标;201-208为案例展示篇,通过OpenVINO 实现单目深度图像推理、超分图像处理、背景移除及变换、动漫风格转换等有趣实用的案例展示。301为模型训练篇,通过两个笔记完成从训练到部署再到训练后优化的完整流程,通过4部分内容的学习,开发者可以完成人工智能开发的入门。

名称描述

001-hello world使用OpenVINO 调用Mobilenet V3模型对图片进行分类推理

002-openvino API如何参与到工程开发的OpenVINO 实现推理的python API函数,例如如何加载IR模型,ONNX模型,如何获取模型的输入、输出信息,如何使用模型进行推理,以及部分为实现推理所做的预处理功能函数说明文件

003-hello-segmentation使用OpenVINO 实现图像语义分割

004-hello-detection使用OpenVINO 实现文字检测

notebooks101-tensorflow-to-openvinoJupyter Notebooks文件夹工程笔记的主目录将tensorflow模型转换为IR格式

102-pytorch-onnx-to-openvino工程说明文件中文版将pytorch模型转换为IR格式

103-paddle-onnx-to-openvino工程说明文件英文版将paddlepaddle模型转换IR格式

104-model-tools模型下载、转换及性能评估工具介绍

105-language-quantize-bert优化及量化处理预训练的bert模型

201-vision-monodepth对图像及视频的单目深度估计

202-vision-superresolution-image超分图像处理

205-vision-background-removal图像背景移除及替换

206-vision-paddlegan-anime利用paddleGAN实现图片动漫风格变换

207-vision-paddlegan-superresolution利用paddleGAN实现小图像放大

208-optical-character-recognition使用文本识别对图像上的文本进行标注

301-tensorflow-training-openvino利用tensorflow及OpenVINO 实现从训练到落地部署再到训练后优化的完整流程

utils工程用到的功能函数库

通过学习工程目录结构及笔记主目录文件功能,我们已经了解了整个工程的组成,如前文中提到OpenVINO Notebooks工程降低了学习人工智能尤其是开发人工智能应用的门槛,我们能够在实践中历练开发人工智能应用的技能,相信大家已经迫不及待的大展身手了。

1.4.2

启动笔记

启动笔记前要确保我们创建的openvino_env虚拟环境处于激活状态,使用下面的命令启动工程。

jupyter-lab notebooks

命令执行后,会在系统默认的浏览器中进入jupyter notebook的运行环境,显示所有笔记。

如果是全新开启的终端,我们需要输入多条命令来启动笔记。

source $HOME/openvino_env/bin/activate

jupyter-lab $HOME/openvino_notebooks/notebooks

Jupyter Notebooks工具默认语言为英文,我们通过下面的命令来安装中文语言包,对于国内开发者会更加友好。

pip install jupyterlab-language-pack-zh-CN

1.5

本章小结

本章从学习人工智能应用开发的角度介绍了OpenVINO 工具包、Jupyter Notebooks工具以及OpenVINO Notebooks工程。同时我们介绍了如何从零开始一步一步构建OpenVINO Notebooks学习、开发环境,根据教程我们可以成功安装、配置并启动学习环境。

从下一章开始,我们会正式进入实战环节,借助Notebooks的优势认识OpenVINO工具套件并学习推理API,并对笔记001-004逐一详解。

责任编辑:haq

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

    关注

    91

    文章

    41115

    浏览量

    302607
  • 人工智能
    +关注

    关注

    1820

    文章

    50325

    浏览量

    266967

原文标题:OpenVINO™ Notebooks教程-上篇

文章出处:【微信号:英特尔物联网,微信公众号:英特尔物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    KITSGTL5000EVBE 开发工具包无响应,i2c 失败的原因?

    KITSGTL5000EVBE 开发工具包无响应,i2c 失败
    发表于 04-22 07:11

    嵌入式人工智能课程(华清远见)

    嵌入式 AI 编译器优化:华清远见课程,解锁极致端侧性能 随着人工智能从云端全面向边缘侧和终端侧下沉,“万物智联”的时代已经悄然到来。然而,在这股浪潮背后,隐藏着一个巨大的技术鸿沟:在算力受限
    发表于 04-16 18:47

    浅谈人工智能(2)

    接前文《浅谈人工智能(1)》。 (5)什么是弱人工智能、强人工智能以及超人工智能? 弱人工智能(Weak AI),也称限制领域
    的头像 发表于 02-22 08:24 348次阅读
    浅谈<b class='flag-5'>人工智能</b>(2)

    开发智能体配置-内容合规

    是否涉及人工智能生成的内容,开发者需按照国家法律规定如实在这里填写申报。 人工智能生成合成内容标识填写说明: 本文参考鸿蒙官方文档
    发表于 02-07 11:44

    人工智能应用开发-中级(大模型)》认证证书含金量如何?怎么考?

    在国家《新一代人工智能发展规划》及“人工智能+”行动的双重推动下,人工智能与大模型技术已成为驱动产业智能化升级的核心力量。目前,大模型应用开发
    的头像 发表于 01-28 15:11 1043次阅读
    《<b class='flag-5'>人工智能</b>应用<b class='flag-5'>开发</b>-中级(大模型)》认证证书含金量如何?怎么考?

    微软与新思科技分享智能人工智能技术的行业影响

    (Agentic AI)技术的行业影响,以及未来跨界合作的前景。此次圆桌讨论不仅展现了双方的战略协同,以及他们在开发市场领先解决方案方面的共同努力,也勾勒出人工智能是如何驱动工程、电信、制药等行业变革的新蓝图。
    的头像 发表于 11-30 09:48 527次阅读

    eForce无线通信软件开发工具包兼容WLAN模块WKR612AA1

    近期,eForce株式会社宣布,其面向嵌入式设备的无线通信软件开发工具包(μC3-WLAN SDK)现已兼容 KAGA FEI 生产的无线局域网(WLAN)模块"WKR612AA1"。
    的头像 发表于 09-24 15:16 1724次阅读

    利用超微型 Neuton ML 模型解锁 SoC 边缘人工智能

    的框架小 10 倍,速度也快 10 倍,甚至可以在最先进的边缘设备上进行人工智能处理。在这篇博文中,我们将介绍这对开发人员意味着什么,以及使用 Neuton 模型如何改进您的开发和终端
    发表于 08-31 20:54

    挖到宝了!人工智能综合实验箱,高校新工科的宝藏神器

    家人们,最近在研究人工智能相关设备,挖到了一款超厉害的宝藏——比邻星人工智能综合实验箱,必须来给大伙分享分享!可☎(壹捌伍 柒零零玖 壹壹捌陆) 一、开箱即学,便捷拉满 这个实验箱真的是为使用者
    发表于 08-07 14:30

    挖到宝了!比邻星人工智能综合实验箱,高校新工科的宝藏神器!

    家人们,最近在研究人工智能相关设备,挖到了一款超厉害的宝藏——比邻星人工智能综合实验箱,必须来给大伙分享分享!可☎(壹捌伍 柒零零玖 壹壹捌陆) 一、开箱即学,便捷拉满 这个实验箱真的是为使用者
    发表于 08-07 14:23

    超小型Neuton机器学习模型, 在任何系统级芯片(SoC)上解锁边缘人工智能应用.

    Neuton 是一家边缘AI 公司,致力于让机器 学习模型更易于使用。它创建的模型比竞争对手的框架小10 倍,速度也快10 倍,甚至可以在最先进的边缘设备上进行人工智能处理。在这篇博文中,我们将介绍
    发表于 07-31 11:38

    迅为RK3588开发板Linux安卓麒麟瑞芯微国产工业AI人工智能

    迅为RK3588开发板Linux安卓麒麟瑞芯微国产工业AI人工智能
    发表于 07-14 11:23

    IQM 宣布 Resonance 量子云平台重大升级,推出全新软件开发工具包

    进程,并为终端用户带来性能强大的新一代量子系统。 此次升级将 Qrisp——一个源自德国弗劳恩霍夫 FOKUS 研究所的项目——设为平台新的默认软件开发工具包 (SDK)。Qrisp 为量子开发
    的头像 发表于 07-11 11:03 804次阅读

    最新人工智能硬件培训AI 基础入门学习课程参考2025版(大模型篇)

    人工智能大模型重塑教育与社会发展的当下,无论是探索未来职业方向,还是更新技术储备,掌握大模型知识都已成为新时代的必修课。从职场上辅助工作的智能助手,到课堂用于学术研究的智能工具,大模型正在工作生活
    发表于 07-04 11:10

    博世持续引领人工智能的应用与开发

    博世持续引领人工智能(AI)的应用与开发:到2027年底将投入超过25亿欧元。人工智能正推动博世产品与服务的创新及增长,它使得自动驾驶更安全,让制造质量更可靠,让消费者在日常工作、休闲和居家场景中获得更多便利。
    的头像 发表于 06-27 11:02 1126次阅读