創建你的 AI 應用!

你有沒有想過這3個問題?

如何成爲 AI 程序員? 能不能從自己擅長的領域步入 AI 熱潮? 究竟做什麼才能讓老闆追着給我加薪?

你也許會覺得: AI 程序員這麼優秀,是因爲他們聰明,而我只能笨鳥先飛,勤能補拙嘍,當然不是!只要你掌握 AI 程序開發,還怕老闆不追着你加工資?!

所以,本文將教你寫出第一個 AI 程序 – 手寫識別(見下圖),入門 AI 應用開發。

注意:安裝過程建議在網速穩定且較快的環境下進行。

一、配置 AI 開發環境

1. 安裝要求

  • Windows 64 位版本 強烈推薦升級到 Windows 10 的最新發行版,並安裝上所有更新。
  • Visual Studio 本教程將安裝 Visual Studio 2017。如果有舊版的 Visual Studio 且條件允許,最好先行卸載。
  • Python 在安裝 Visual Studio 2017 時,會安裝 Python 3.6 版本。在本文中配置路徑時,應配置成當前 Python 3.6 的路徑。
  • AI 框架 本安裝過程會安裝 TensorFlow,CNTK,pytorch,Keras,Caffe2,Theano,MXNe,Chainer 等流行的 AI 框架。建議最好選擇乾淨的 Python 環境來安裝。

2. 檢查並安裝 Git

Git 是流行的源代碼版本管理工具。在接下來的安裝過程中,會通過它下載一些 AI 組件。下載完後,點擊安裝。爲了方便使用,在安裝嚮導中需選擇在命令提示符中使用 Git(見下圖)。其它步驟直接點擊 Next。

3. 檢查並安裝 NVIDIA 顯卡機器學習包

NVIDIA 的顯卡是機器學習領域中最流行的硬件之一,幾乎所有框架都集成了對它的支持。安裝過程也包括了 NVIDIA 顯卡的配置。確認自己的顯卡是 NVIDIA 的,並支持 CUDA。

CUDA(Compute Unified Device Architecture)是 NVIDIA 公司推出的通用並行計算架構,能將顯卡用於解決各種複雜的計算問題。通過顯卡的成百甚至上千個並行核心來加速計算。

訪問 NVIDIA 的桌面或筆記本顯卡列表,並找到自己的顯卡型號,點開詳情頁面。如果在左邊能看到下圖的高亮部分,則表示支持 CUDA(部分高端顯卡會進入購買頁面,這也表示支持 CUDA),否則開始安裝或配置 Visual Studio 2017。

安裝 NVIDIA 機器學習相關組件

  • 確認安裝了最新的顯卡驅動
  • 安裝 CUDA 9.0

首先,進入 CUDA 9.0 下載頁面

然後,選擇對應的操作系統、CPU 架構、操作系統版本來確認安裝包。選擇好後,直接點擊打開或另存到本地再運行。

注意:如果安裝過程中出現了以下錯誤,可能是由於顯卡較新,這時候可以重新開始安裝過程,選擇自定義安裝,並取消勾選顯卡驅動(Driver Components)再試一次。

  • 配置 cuDNN

cuDNN(CUDA Deep Neural Network)是 NVIDIA 基於 CUDA 專爲深度神經網絡優化的計算庫。

進入 cuDNN 下載頁面,點擊展開 Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0。然後根據對應的操作系統選擇對應的版本,進入下面的登錄界面。

註冊或者登錄後,就能看到下載鏈接。

解壓開會有一個 dll 擴展名的動態鏈接庫文件,將其拷貝到 CUDA 安裝目錄的 bin 目錄中即可。CUDA 的默認安裝路徑路徑如下:

4. 安裝或配置 Visual Studio 2017

打開 Visual Studio Installer。選擇更多中的修改來確認是否安裝了 Python 開發 與 .NET 桌面開發這兩個工作負載。

1)進入下載頁面,指向下載 Visual Studio,並點擊 Community 2017。

Visual Studio Community 版是完全免費的,包含有 Visual Studio 的大部分基礎功能,也能全面的支持 AI 應用開發。只需要用微軟賬戶登錄後,就可以一直使用。

2)運行安裝程序後,會打開工作負載的選擇界面。至少要選擇 Python 開發與 .NET 桌面開發。

安裝完成後,可以通過開始菜單中的 Visual Studio Installer 再次打開這個界面,安裝其它工作負載。

隨後點擊右下方的安裝按鈕,即可開始安裝。

5. 安裝 Visual Studio Tools for AI

Visual Studio Tools for AI 是 AI 集成開發環境中較核心的部分,包含了訓練任務管理、模型推理等功能。

1)啓動 Visual Studio,在菜單欄中選擇工具 -> 擴展和更新。

2)點擊聯機,並在右上方輸入 tools for ai 後回車。如果第一次沒有搜索出來,可再增加一個空格,並再次回車搜索。搜索結果出來後,點擊 Microsoft Visual Studio Tools for AI 的下載按鈕。

3)下載完成後,關閉所有 Visual Studio 窗口,來觸發插件的安裝過程。關閉 Visual Studio 後,稍等數秒鐘,即會出現安裝界面,點擊修改。

4)再次打開 Visual Studio,在菜單欄會看到 AI 工具,表示安裝完成。

6. 安裝 AI 框架

在機器學習中,特別是深度學習中,經常會因爲各種原因,需要在不同的 AI 框架之間切換。而不同的框架可能還依賴於不同的底層庫版本。因此,搭建一個順手的 AI 開發環境,頗會花些時間和精力。

本文通過微軟 AI 示例庫中的一鍵安裝腳本,簡化了 AI 框架的安裝過程。節省大量的安裝配置時間,也讓新手不再被卡在安裝配置環境這一步上。

7. 下載微軟 AI 樣例庫

打開命令提示符或終端窗口,選擇並進入某個用來存放代碼的目錄,如 %USERPROFILE% 。運行下列命令,來下載微軟 AI 示例庫,完成後進入該目錄。

注意:請確保整個路徑中沒有中文。不少機器學習框架對多語言支持並不好,爲了防止因此出現的問題,保證整個路徑沒有中文等擴展字符集。

注意:推薦用管理員權限打開命令提示符窗口。以免 Python 安裝目錄需要管理員權限才能寫入文件。步驟:打開開始菜單 -> 用鍵盤輸入 cmd -> 右擊出現的命令提示符 -> 選擇以管理員身份運行 -> 通過 cd 命令選擇一個合適的目錄,如 cd /d %USERPROFILE%

8. 運行安裝腳本

1)命令提示符下可能沒有配置 Python 的路徑。運行 python --version 檢查一下。

如出現上圖的內容,表示系統路徑中沒有 Python ,則根據系統中 Visual Studio 的安裝路徑,用下列命令來設置 Python 路徑。注意:如果修改過 Visual Studio 的默認安裝路徑,則此命令也需要做相應的修改。

2)執行 install.py

3)檢查並配置 CUDA、cuDNN

如果前面的步驟中,因爲不確定顯卡是否支持 CUDA 等原因,而跳過了 CUDA 安裝部分。如果在輸出的前面幾行裏發現了以下字樣,則表示支持 CUDA,且沒有正確安裝好 CUDA 或(和)cuDNN。

命令行窗口完成後回車一下,但不要關閉,接着開始訓練第一個模型。

二、訓練第一個模型

下載的 samples-for-ai 中包含了大量的機器學習訓練和應用的示例。使用 TensorFlow 的 MNIST 示例來測試一下環境安裝是否成功,也爲下一步準備好 AI 模型。

運行過程中會打印出一些 error 字樣。別擔心,這都是 AI 訓練過程中正常的錯誤率信息。模型在訓練時的錯誤率會逐步下降, AI 模型推理預測出結果也越來越準確了。

三、創建第一個 AI 應用

克隆代碼,並導入訓練好的模型,就可以試試自己的第一個 AI 應用了!接下來分析一下核心的代碼。

  • 把程序跑通
  • 克隆代碼

使用下面的命令來克隆 AI 應用的代碼。代碼裏有一個應用的窗體項目,預先寫好了所有的代碼。同上,要選擇好放置代碼的路徑,如:cd /d %USERPROFILE%

注意:放置克隆代碼的路徑中不能含有中文。

運行完上面的腳本後,就會在 Visual Studio 2017 中打開這個解決方案。

引用模型

1)首先創建模型項目。在解決方案資源管理器中,右擊解決方案,指向添加,再點擊新建項目。

注意,一定要在解決方案上右擊,否則不會出現新建項目的菜單。

2)在彈出的添加新項目的對話框裏,選擇 AI Tools 下的 Inference 後,在右邊選擇模型推理類庫(.NET Framework)。然後在下面的名稱處改爲 Model,並點擊確定。

注意:名稱一定要保持一致(包括大小寫),這是生成代碼的命名空間。

3)點擊確定後,Visual Studio 會提示在檢查環境,完成後會顯示下圖。紅色的框先不用擔心,點擊瀏覽。

4)瀏覽到示例代碼的下載路徑,並繼續選擇到如下路徑中的 saved_model.pb 文件,並點擊打開。

注意:參考前文訓練模型部分的代碼來找到示例的路徑。

5)點擊打開後,會出現分析模型的過程,完成後,就會如下圖。這時候,再在類名中輸入 Mnist,最後點擊確定。第一次導入模型會下載所依賴的庫,因此,正在創建項目 “ Model ” … 的對話框會顯示較長時間。

注意:Mnist 會是生成代碼的類名,所以也要保持一致(包括大小寫)。另注意單詞中 n 和 i 的位置。

分析模型會調用 TensorFlow 來分析模型文件的輸入輸出等信息,以便生成相應的代碼,有時會花一兩分鐘。

6)一旦創建項目完成後,先檢查一下是不是如下圖產生了 Model 項目,並且裏面有 packages.config 文件。如果沒有看到此文件,通常是由於網速過慢,下載超時造成的。然後,右擊 MNIST.App 項目的引用,並點擊添加引用。

如果有興趣的話,可以點開 Mnist 目錄看看生成的代碼。這裏面還包含了優化後的模型數據文件。

注意:要在引用上右擊。

7)在彈出的對話框中,點擊項目,並在右側將 Model 勾上。這樣就能在窗體項目中引用 Model 項目了。

8)現在按下 CTRL + F5,或者點擊工具欄上的啓動按鈕。你的第一個 AI 應用就運行起來了!666。

四、理解代碼

該文件包括了界面聯動、數據預處理兩部分的代碼,以及一行推理預測的代碼。界面聯動是爲了實現手寫輸入時的良好體驗,而數據預處理部分是在推理前,將用戶輸入的筆跡變爲模型所需要輸入的浮點數組。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章