【Openvino03】深入了解OpenVINO™ 工具包与Jupyter Notebooks工程

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

 一、关于OpenVINO™ 工具包与Jupyter Notebook

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

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

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

二、Notebooks安装

1.环境准备

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

2.构建OpenVINO™  Notebooks环境

在正式开始前,我们先安装python venv及git工具,这是我们构建环境所必要的工具包。打开终端,输入命令:

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

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

2.1 创建Python虚拟环境

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

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

python3 -m venv openvino_env  

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

2.2 激活虚拟环境

source openvino_env/bin/activate

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

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

deactivate   

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

2.3 获取工程源码

两种方式,一种是直接在ubantu中下载一种是,手动下载传上去

直接下载:

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

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

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

 手动下载:

https://github.com/openvinotoolkit/openvino_notebooks

注意找你自己的版本,我用的是2022.1,下下来

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

cd openvino_notebooks && ls -l

2.4 安装工程依赖软件

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

python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple –upgrade pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -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

 3. 运行OpenVINO™  Notebooks工程

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

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

ls notebooks -l  

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

3.1 启动笔记

启动笔记前要确保我们创建的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

3.2 错误解决

如果在启动过程中遇到如下错误解放方法如下:

运行jupyter lab出现“Running as root is not recommended. Use --allow-root to bypass”

运行jupyter notebook、jupyter lab出现“Running as root is not recommended. Use --allow-root to bypass”错误

3.2.1 产生jupyter配置文件

可以通过如下方法解决该问题:

使用 jupyter notebook --generate-config 命令生成jupyter配置文件,将会提示当前生成的配置文件的存放路径,一般为 ~/.jupyter/jupyter_notebook_config.py

3.2.2 修改配置文件

 vim ~/.jupyter/jupyter_notebook_config.py打开配置文件,找到 #c.NotebookApp.allow_root = False ,去掉#,并修改为True。

保存该文件,使用jupyter notebook重新运行程序。

https://blog.51cto.com/u_3826358/3919100

https://www.fpga-china.com/16120.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/33974.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

说说@EnableConfigurationProperties那点事

两者的对比 ConfigurationProperties 使用ConfigurationProperties的时候,把配置类的属性与yml配置文件绑定起来的时候,还需要加上Component注解才能绑定并注入IOC容器中,若不加上Component,则会无效。 EnableConfigurationPro…

RNN其中的X.reshape

假设RNN中的输入为2528,2是batchsize可以理解为有几句话,5是timestep可以理解为有几个词,28是vocab_size。如下就是两个句子,每个句子由5个单词组成。28则为每个单词的词向量,在此略去。 在输入的时候,首先…

一步一步学OAK之十一:实现在RGB相机上进行对象跟踪

目录 Setup 1: 创建文件Setup 2: 安装依赖Setup 3: 导入需要的包Setup 4:定义和加载模型相关的路径和标签Setup 5: 创建pipelineSetup 6: 创建节点Setup 7: 设置属性设置相机属性设置神经网络节点属性设置物体跟踪对象属性 Setup 8: 建立链接Setup 9: 连接设备并启动管道Setup …

有哪些免费好用的Python IDE(集成开发环境)?

工欲善其事,必先利其器。Python的学习过程少不了集成开发编辑环境(IDE)。这些Python IDE会提供插件、工具等帮助开发者加快使用Python开发的速度,提高效率。这里收集了一些对开发者非常有帮助的Python IDE(来自hittp://doc.okbase.net/havoc/archive/242…

苹果正在研发具备智能家居显示功能的外接显示器,具备低功耗模式

据彭博社记者 Mark Gurman 在他最新一期的 Power On 时事通讯中报道,苹果公司正致力于研发一款新的 Mac 外接显示器,具备智能家居设备显示器的低功耗模式功能。 根据了解,这款显示器将集成iOS设备芯片,与Studio Display不同的是&a…

【Spring】基于注解方式存取JavaBean:Spring有几种注入方式?有什么区别?

前言 Hello,我是小黄。众所周知,Spring是一个开源的Java应用程序框架,其中包括许多通过注解实现依赖注入的功能。Spring提供了多种注入方式,可以满足不同的需求和场景。常见的注入方式包括构造函数注入、Setter方法注入和属性注入…

基于卷积神经网络的狗猫数据集分类实验

目录 一、环境配置1、anaconda安装2、配置TensorFlow、Keras 二、数据集分类1、分类源码2、训练流程 三、模型调整1、图像增强2、网络模型添加dropout层 四、使用VGG19优化提高猫狗图像分类五、总结六、参考资料 一、环境配置 1、anaconda安装 下载链接:anaconda …

Appium安装部署

目录 一、检查Java环境 二、安装android SDK 一、检查Java环境 Android SDK依赖ava环境,因此需要先安装jdk。在CMD中输入java -version 出现下图的结果,说明当前环境已安装jdk 如果提示java命令无效,请安装后进行下一步。 二、安装androi…

iOS App的上架和版本更新流程

一、前言: 作为一名iOSDeveloper,把开发出来的App上传到App Store是必要的。下面就来详细讲解一下具体流程步骤。 二、准备: 一个已付费的开发者账号(账号类型分为个人(Individual)、公司(Com…

单片机-串口通信

1.串口向电脑发送数据 1.配置串口 T1定时器,方式二8位重装 void UartInit(void) //4800bps11.0592MHz {PCON & 0x7F; //波特率不倍速SCON 0x50; //8位数据,可变波特率TMOD & 0x0F; //清除定时器1模式位TMOD | 0x20; //设定定时器1为8位自动重装方式…

【论文笔记】FASTER SEGMENT ANYTHING:TOWARDS LIGHTWEIGHT SAM FOR MOBILE APPLICATIONS

前脚fast SAM刚发完,后脚mobile SAM就发了 ,之前的论文笔记中我一直就认为fast SAM其实应该算是yolo的扩展工作,和原生的SAM架构相去甚远,而且在简介上直接就对(gong)比(ji)了FastSA…

ElasticSearch 8.0+ 版本Windows系统启动

下载地址:https://www.elastic.co/cn/downloads/past-releases/winlogbeat-8-8-1 解压\elasticsearch\elasticsearch-8.5.1 进入bin目录,启动elasticsearch.bat 问题1: warning: ignoring JAVA_HOMED:\jdk1.8.0_271; using bundled JDK J…

【FPGA】Verilog:时序电路设计 | 自循环移位寄存器 | 环形计数 | 扭环计数 | 约翰逊计数器

前言:本章内容主要是演示Vivado下利用Verilog语言进行电路设计、仿真、综合和下载 示例:计数器 ​​ 功能特性: 采用 Xilinx Artix-7 XC7A35T芯片 配置方式:USB-JTAG/SPI Flash 高达100MHz 的内部时钟速度 存储器:2Mb…

简单认识Tomcat的部署和优化

文章目录 一、简单认识Tomcat1、简介2、构成3、Tomcat 功能组件结构4、Tomcat 请求过程: 二、Tomcat部署1.关闭防火墙,将安装 Tomcat 所需软件包传到/opt目录下2.安装JDK3.设置JDK环境变量4.测试java环境5.安装Tomcat6.启动和关闭Tomcat7.优化 tomcat 启…

【每日一题】2. 两数相加

【每日一题】2. 两数相加 2. 两数相加题目描述解题思路 2. 两数相加 题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一…

会网络爬虫能干什么?

网络爬虫是一种自动化程序,用于浏览互联网并从网页中获取数据。它可以执行以下任务: 数据采集:网络爬虫可以访问网站,并从中提取所需的数据,例如新闻文章、产品信息、用户评论等。这些数据可以用于各种目的&#xff0…

MySQL复合查询

目录 一、多表查询 二、自连接 三、子查询 3.1 单行子查询 3.2 多行子查询 3.3 多列子查询 3.4 在from子句中使用子查询 四、合并查询 一、多表查询 实际开发中往往需要将多张表关联起来进行查询,即多表查询在进行多表查询时,只需将多张表的表名…

python机器学习——机器学习相关概念 特征工程

目录 机器学习特征工程1.特征抽取2.特征处理2.1 归一化:传统精确小数据2.2 标准化:大多数情况 3.数据降维3.1特征选择3.2主成分分析PCA 案例:超市订单分析 机器学习 监督学习:输入数据有特征有标签,即有标准答案 分类&…

5.4.1 虚拟专用网VPN

5.4.1 虚拟专用网VPN 我们已经学习了因特网的路由协议(5.3.1 因特网的路由协议(一)、5.3.2 因特网的路由协议(二)基于距离向量算法的RIP协议、5.3.3 因特网的路由协议(三)OSPF协议、5.3.4 因特…

无锡斑目信息技术有限公司与无锡漫途科技有限公司签署战略伙伴合作协议!

2023年6月21日无锡斑目信息技术有限公司与无锡漫途科技有限公司签署战略伙伴合作协议。双方将在数字工厂、智慧城市等领域凭借各自的优势进行全方面的合作。 漫途传感科技总经理田吉成、无锡艾森汇智科技总经理钱小伟、无锡数字城市建设发展工业互联网事业部部长王威共同参加签…