作為產品經理,為了確保產品順利落地及上市,我始終堅持“合適的便是最好的“原則”。這一理念指導我在技術選型乃至合作伙伴選擇中少走了很多彎路,清楚的認識自己所處的位置以及所需的內容是加速產品落地、產品上市的先決條件。當下,人工智能作為一種底層技術已經滲透到我們生活、工作的各個角落。算法大牛、框架大廠、處理器廠商也是各顯神通,百花齊放,不斷推動行業前行。
在信息爆炸的今天,獲取資訊已不是難題,如何快速的獲取到準確可信的信息反而變得更加重要。在人工智能領域亦是如此,眾多算法、眾多框架、眾多處理器亂花迷人眼,如何選擇適合自己產品、滿足客戶需要的技術,直接影響產品落地及產品上市的時間。針對選型問題,我的標準是學習門檻低、試錯成本低、兼容范圍廣、應用行業多的技術是優選。
在工程項目實施過程以及我們參與的人工智能培訓中,我們發現即便在各大廠商開源人工智能工具、釋放大量學習資源的今天,入門人工智能、學習人工應用開發依舊是有挑戰的事情。“我沒有高性能的顯卡,能學習人工智能么?”,“數學不是很好,我能學會人工智能么?”“我不是人工智能專業的學生,能入行人工智能開發?”“看不懂機器學習、深度學習的公式,能開發人工智能應用么?”。針對以上的疑問,答案都是肯定的,能!
希望通過這個教程可以讓更多的人了解到,當下我們學習人工智能尤其是進行人工智能應用開發的門檻已經越來越低,不需要高性能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
+關注
關注
87文章
34297瀏覽量
275487 -
人工智能
+關注
關注
1804文章
48742瀏覽量
246681
原文標題:OpenVINO? Notebooks教程-上篇
文章出處:【微信號:英特爾物聯網,微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
在Google Colab筆記本電腦上導入OpenVINO?工具包2021中的 IEPlugin類出現報錯,怎么解決?
構建開源OpenVINO?工具包后,使用MYRIAD插件成功運行演示時報錯怎么解決?
安裝OpenVINO? 2023.2使用pip install openvino-dev命令的開發工具后報錯怎么解決?
安裝OpenVINO?工具包穩定擴散后報錯,怎么解決?
云計算開發工具包的功能
最新Simplicity SDK軟件開發工具包發布
嵌入式和人工智能究竟是什么關系?
FPGA仿真工具包軟件EasyGo Vs Addon介紹

評論