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

news2024/11/16 18:09:48

 接上一篇,本篇将以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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【多维BFS】ABC308 D

VP的时候居然花了半小时! 可恶! D - Snuke Maze (atcoder.jp) 题意: 思路: 首先,我们发现到达一个格子之后,下一个格子的字符是确定的 但是,下一个格子到底是哪个是不确定的 下一个格子不…

FreeRTOS源码解析——第一章 整体架构

FreeRTOS源码解析 第一章 FreeRTOS 整体架构 第二章 FreeRTOS 编程规范 第三章 FreeRTOS 内存管理 第四章 FreeRTOS 任务管理 第五章 FreeRTOS 消息队列 第六章 FreeRTOS 软件定时器 第七章 FreeRTOS 信号量 第八章 FreeRTOS 互斥量 第九章 FreeRTOS 任务通知 第十章 FreeRTOS…

算法习题之宏观分层问题

宏观分层 习题1 给定一个正方形矩阵matrix,原地调整成顺时针90度转动的样子习题2 给定一个长方形矩阵matrix,实现转圈打印习题3 给定一个正方形或者长方形矩阵matrix,实现zigzag打印习题4 输入N,在控制台上输出初始边长为N的图案 习题1 给定一…

U盘数据丢失是什么原因?轻松让U盘数据恢复的教程

在数字化时代,我们不可避免地使用各种便携式存储设备,如U盘,来传输和存储重要数据。然而,有时我们可能不小心删除了U盘中的文件,或者格式化了U盘等等而导致数据丢失。这种情况下,你可能会困惑地想知道&…

机器学习——基于Tensorflow和Keras实现卷积神经网络CNN——猫狗分类

文章目录 环境的配置神经网络CNN的介绍卷积前馈神经网络卷积神经网络应用邻域 数据集准备数据预处理构建基准模型 总结什么是过拟合(overfit)?什么是数据增强?单独制作数据增强,精确率提高了多少? 然后再添…

硬件大熊原创合集(2023/06更新)

06月份更新篇章: 一款射频芯片的layout设计指导案例-篇章1 一款射频芯片的layout设计指导案例-篇章2 警惕超声波工艺对晶振造成损伤 走嵌入式方向,一定要软硬件都懂吗? 6月份广州光亚展,和电子电力大咖文老师见了个面,…

2023车载摄像头9大热点趋势

摘要: 相较于消费类电子摄像头,车载摄像头的工作环境极度恶劣,比如说震动、高温、雨雾、低温、光线变化剧烈等。而车载摄像头以驾驶安全为目的,上述各个工作状态下,均需要能获取稳定、可靠、清晰的周边环境数据。 近年…

HOT36-二叉树的中序遍历

leetcode原题链接:二叉树的中序遍历 题目描述 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:root [] 输出&#xff1a…

BUUCTF藏藏藏

也是一个图片文件,和一个txt文件 txt文件中是一个提交flag格式,没啥用 拿去010打开后发现可能存在隐藏文件 这个格式说明还有解压文件吧,但是为啥分离不出来呢 刚好有另外一个分离文件的软件foremost 解压后打开在zip文件下有一个福利docx文件…

【零基础入门学习Python---Python网络编程保姆级教程】

🚀 Python 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

GDB寻找segmentation fault位置

一、在当前文件夹下生成指定二进制文件的core文件 查看允许core文件空间大小: ulimit -c修改core文件空间为无限大: ulimit -c unlimited让core文件生成在当前目录下: sudo bash -c echo core.%e.%p > /proc/sys/kernel/core_pattern再…

2023黑马头条.微服务项目.跟学笔记(二)

2023黑马头条.微服务项目.跟学笔记 二 app端文章查看,静态化freemarker,分布式文件系统minIO今日简介学习内容1.文章列表加载1.1 需求分析1.2 表结构分析思考:表的垂直拆分 1.3 导入文章数据库1.3.1 导入数据库1.3.2 导入对应的实体类总结 1.4 实现思路1.4.1 sql练习…

hippo - 提升我们团队工程效率的工具

1. 背景 我们 shopeepay 团队是一个比较大的前端团队(80成员),团队内部分布着 react native、javascript npm包、react component npm包、serverless、普通的react工程等多种类型的项目,每种项目类型中的每个项目都有它们自己的配…

Windows 使用Git使用Gitee仓库

1.本地创建文件夹。图中例子,我在桌面创建了文件夹。 2.打开 Git Bash Here. 3.Git Bash 的部分指令。 ls 查看当前文件夹 mkdir gittest01 创建文件夹 cd gittest01 进入文件夹 git init 创建本地仓库 git config --global user.name"chengqian" 创建者…

Redis主从复制模式的2

搭建完后可以去测试一下这几个问题: 1.主机中的数据会复制到从节点中 2.主机中新增的数据会同步到从节点中 3.redis集群后,从节点只能读(slave),主节点可以写(master) 4.主机重启后还是主节点 5.从机重启后也会变成主节点 血脉相传 一个主机master理论上可以有多个从机slave…

抖音短视频矩阵号系统开发者开源部署分享(一)

抖音是一款备受欢迎的短视频APP,拥有数亿的用户,其中包括了大量的粉丝。为了让更多的人能够发现和观看到你的视频,抖音SEO是必不可少的一环,特别是对于拥有企业或个人品牌的用户来说。在这个过程中,抖音SEO源码的开源部…

【前端工程化】比gzip压缩更优的br压缩

🐱 个人主页:不叫猫先生,公众号:前端舵手 🙋‍♂️ 作者简介:2022年度博客之星前端领域TOP 2,前端领域优质作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步…

2.4g无线芯片G350产品介绍

G350是一款2.4GHz的无线收发芯片,具有低成本和高集成度的特点。它集成了发射机、接收机、频率综合器和GFSK调制解调器,为无线通信系统提供了完整的解决方案。 该芯片采用了低功耗设计,在各个环节都降低功耗以提高电池使用寿命。即使在最低电流…

STM32 Proteus UCOSII系统简易时钟计时系统-0054

STM32 Proteus UCOSII系统简易时钟计时系统-0054 Proteus仿真小实验: STM32 Proteus UCOSII系统简易时钟计时系统-0054 功能: 硬件组成:STM32F103R6单片机 LCD1602显示器 1.单片机程序使用UCOSII操作系统,显示任务、时间计算任…

【Python 随练】学用 line 函数画直线

题目: 画图,学用line函数画直线。 简介: 在本篇博客中,我们将介绍如何使用Python的绘图库来画直线。我们将使用line函数来绘制直线,并提供一个完整的代码示例来演示其用法。 绘制直线: 要绘制直线&…