自從開始工作以來,真是十數年如一日。雖不能說完全沒收獲,但顯少有什麼新知。 嵌入式系統是 C 語言的天下,所以大部份的增長也都是在這。Coding Style & Debugging Skill 是有精進,但 C 語言也快50年了,是該學點新東西了。
我以前不大信 AI (現在還是不大信),覺得都是炒作行銷手法。但人老了都會有偏見、不願意學新東西的毛病,剛好這東西最近這麼夯,而且的確有些實用的東西出來,就挑這個方向下手研究看看,以免被離職那天,才知道是被AI取代掉的。
教程程式下載
本文是以 mikechenx 在 2018 iT 邦幫忙鐵人賽內的教學文章為基礎,進行一些修改後的成果。所以請先下載其使用的所有程式碼 ,然後解壓縮在 d 槽並更名為 ai 。
原本的檔案是偏向展示功能用,跑起來並不是那麼好用,所以我有做了些修改。主要是修改啟動時的參數、顯示結果的改善、與新CPU的相容性。請下載修改的檔案,並解壓縮到 d:\ai 內。
安裝 Anaconda 與相關套件
Anaconda 是一套為 Python/R 語言科學計算/機器學習而製做的整合環境,因為我是參考上述 mikechenx的文章開始學習的,因此也使用相同的環境比較方便。
下載
Anaconda 程式請至其官方網站下載頁面下載。因為我們會用到 Tensorflow 套件(只支援64bit),這邊一定要下載 64bit 版本,否則安裝時會有找不到套件的錯誤。
安裝
下載後,直請安裝即可,這邊我們也使用其建議的 Visual Code 程式編輯器(都附了,應該是整合比較好吧)。
Anaconda Prompt 環境設定
安裝完畢後,從Windows左下角的 「開始」可以搜尋到 Anaconda Prompt,進入後要從命令列執行一些更新和套件設定。
建立 conda 環境
和Python 可以建立 virtualenv 一樣, Anaconda 也有相似的功能,防止開發久了後安裝太多套件,相互干擾。
1 |
(base) C:\Users\WinXP>conda create -n ai python=3.7 |
上面的命令會建立一個名為 ai 的環境,並使用 python 3.7。後面 python=3.7 這個參數務必要下達,才能在 Visual code 中切換環境。
最後再下達下列命令,將環境切換到 ai
1 |
(base) C:\Users\WinXP>conda activate ai |
安裝套件
1 2 3 4 |
pip install tensorflow pip install --upgrade numpy pip install keras pip install pillow |
請分別安裝 / 升級上面4個套件,以利後面程式執行
Visual Code 設定執行
Visual code 是建議的編輯器,應該是 Visual Studio 同樣的編輯器。不過用起來還是差蠻多的,設定檔都變成從文字檔來設定,還不太好設。
在 Anaconda Prompt 下,輸入 “code” 就可以啟動 Visual Code。
接下來要開啟程式碼所在目錄,這樣往後的設定值才會存在該目錄下的 .vscode。先按左上角的資料夾圖示,接下來會看到一個 “Open Folder”,按下後會跳出選擇目錄的對話框。切到 d:\ai 後,按下選擇資料夾即完成。
接下來開啟我們要測試的程式。在左側的檔案列表,往下移後,選擇 “vgg16_vs_modified.py”,就會自動開啟內容。然後會要求你選擇 Python 的環境,這時應該會有 base 與 ai 兩個,請選擇 ai。另外,也會說未安裝 Lint,選安裝即可。
開啟程式碼然後就可以開始執行/除錯這支程式。在開始前,還要設定一下程式參數。經過我修改後的程式,需要兩個參數。
- 參數1: 要比較的檔案, 指定要搜尋的圖檔路徑
- 參數2: 要從哪個目錄搜尋照片
為了指定這兩個參數,請照下圖的步驟來開啟設定檔。建議照著畫面填,確保範例程式可以順利執行。修改完畢後,按 Ctrl+S 儲存。
最後,將 Tab 切回 vgg16_vsmodified.py,就可以開始執行了。選擇 Debug —> Start Debugging,即可開始。而在下方 Terminal 的地方,會顯示出最後圖檔符合程度,越高就代表越像。
相似圖形辨識程式
上面的展示的這個程式,主要就是要在一堆圖檔案,找出一個相似的檔案。但其實在運作時,它是任2個檔間都會比較相似度,所以檔案一多會跑的很慢。如果你要玩很大的話,這點要注意。
由於只是開始學習AI領域的東西,原理、框架的部份還不甚瞭解,原始程式碼說明請參考Day 10:CNN 應用 — 找出相似的照片。
結語
從結果來說,其實不是很有實用性。但抱著以學習的心態來看,學到了建立開發環境,設定除錯參數。也跑了第一個 “AI” 程式,算是一個開頭。原作者是一個30天的文章,就繼續學習下去,看看能不能對人工智慧這領域入門有點幫助。
kkk