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