作者:許哲豪 Jack
最近人工智慧(AI)當道,對於想學習及實作的 Maker 來說,樹莓派加上 Intel Movidius 神經計算棒(Neural Compute Stick,以下簡稱 NCS)大概是最容易取得且最經濟的平台了。
目前除了可直接買到USB3.0 版的 NCS 外,另外 Google 有提供 AIY Vision Kit(Pi Zero W + Vision Bonnet),主要使用 Pi Zero W 及使用了和 NCS 相同計算晶片 Intel Movidius MA2450 的 Vision Bonnet 擴充板,舊的版本還得自己安裝一堆環境,新的 1.1 版買來組裝一下就可用了。
加上最近Intel最近大力推廣它的 OpenVINO,讓自家的CPU、GPU、FPGA、VPU(NCS主要晶片)能更容易跨平台,更適合開發AI終端(邊緣)應用裝置及程式。

Pi Zero W + Movidius Neural Compute Stick(圖片來源:Jack提供)
一般在官網上的安裝程序都是建議使用樹莓派 3B 或 3B+,其步驟很簡單:
1. 取得樹莓派板子及 16GB SD 卡(強烈建議大於8GB)並安裝好官方提供的作業系統 Raspbian。
2. 進入樹莓派命令列模式安裝 NCS 軟體開發工具(SDK)1.2 版,其步驟如下:
mkdir -p ~/workspace
cd ~/workspace
git clone https://github.com/movidius/ncsdk.git
cd ncsdk
make install
3. 編譯範例程式及測試,其指令如下:
cd ~/workspace/ncsdk
make examples
完成後即可執行相關範例程式。
本來想把NCS直接搬到 Pi Zero W 上用,就像 Google AIY Vision Kite 一樣,結果照著上面步驟作,竟然出現一大堆問題,為了避免大家也掉到這個大坑,所以把自己慘痛的經驗分享出來,省去大家撞牆的時間,接著就一步一步帶著大家走出地雷區。
走出地雷區
1. 安裝作業系統後,修改 GPU 共享記憶體,從 64MB 增加到 128MB。

Pi GPU共享記憶體修改方式(圖片來源:Jack提供)
2. 進入命令列執行下列動作,將記憶體 SWAP 容量從 100MB 擴大到 1024MB,以免後續編譯 OpenCV 及其它套件時記憶體不足造成系統當掉。
sudo nano /etc/dphys-swapfile
將 CONF_SWAPSIZE=100 改成 CONF_SWAPSIZE=1024
按[Ctrl + O]存檔後,再按[Ctrl + X]離開編輯模式。
3. 若要使用 Pi 專用相機,要修改開機啟動設定。(若不使用則可忽略此步驟)
sudo nano /etc/modules-load.d/modules.conf
移到檔案最下面,新增一行,加入 bcm2835-v4l2(注意是L不是數字1)
按 [Ctrl + O] 存檔後,再按 [Ctrl + X] 離開編輯模式。
4. 更新系統套件並重新開機
sudo apt-get update
sudo apt-get upgrade
sudo reboot
5. 進入樹莓派命令列模式安裝 NCS 軟體開發工具(SDK)1.2版,其步驟如下:
mkdir -p ~/workspace
cd ~/workspace
git clone https://github.com/movidius/ncsdk.git
cd ncsdk
make install
由於有很多套件包需要編譯,所以可能要四到五個小時。編譯到快結束時會出現下面錯誤:
“cp: cannot stat ‘/opt/movidius/NCSDK/ncsdk-armv6l/tk’: No such file or directory Installation failed. Error on line 554”
這是因為 NCS 安裝程式預設是給 Pi 3 Arm v7 系列用,而 Pi 0是Arm v6 系列,所以要另要產生一個對應的路徑才能繼續工作。另外還要把一些設定檔複製到該路徑下才能接著正確編譯其它程式。
cp -r /opt/movidius/NCSDK/ncsdk-armv7l /opt/movidius/NCSDK/ncsdk-armv6l
cp -r ~/workspace/ncsdk/api/src /opt/movidius/NCSDK/ncsdk-armv6l
接著要把剩下的安裝工作完成,此時不要再執行 make install,而直接把剩下動作執行完即可,如下指令所示:
./install-ncsdk.sh
6. 再來就可開始編譯範例程式,其指令如下:
cd ~/workspace/ncsdk
make examples
這個步驟中有包含重新編譯 OpenCV 3.3 版,所以要十幾個小時,建議準備一個小風扇幫忙散熱一下,以免做到一半熱當,前功盡棄。OpenCV 編譯完後會自動開始編譯範例程式,但執行沒多久就會發生以下錯誤:
RuntimeError: module compiled against API version 0xc but this version of numpy is 0xb
Makefile:80: recipe for target ‘compile’ failed make[4]: *** [compile] Error 1
在網上有些網友說是因為 $PYTHONPATH 沒有 exprot /opt/movidius/NCSDK/ncsdk-armv6l/api/src/mvnc 造成,但加入測試後仍沒有作用。費盡千辛萬苦後終於找到原因,是因為 Python numpy 版本不合造成,原先安裝的是1.13.1版,而 Movidius 的範例支援的是較新版本,所以只要將 numpy 缷載後再重裝(目前版本為v1.15.2)並重新開機後再重新編譯範例即可。
pip3 uninstall numpy
pip3 install numpy
sudo reboot
cd ~/workspace/ncsdk
make examples
7. 苦難還沒結束,編譯到 inception-v3 的時候會出現下列錯誤:
File “./inception-v3.py”, line 4, in <module> import tensorflow as tf Import
Error: No module named ‘tensorflow’
Makefile:41: recipe for target ‘weights’ failed
因為 TensorFlow 的套件包不合,所以要重新安裝,執行下面指令,再重新編譯範例即可。
pip3 install tensorflow==1.9.0
make examples
8. 經過幾小時的等待完成所有(apps、cafee、tensorflow)範例的編譯後,最後進到 /examples/ 下各個範例,執行 make run 就能開始享受人工智慧的學習旅程了。
參考資料
(本文同步發表於歐尼克斯實境互動工作室、原文連結;責任編輯:葉于甄)
- 【開發資源】TinyML MCU 等級開源推論引擎 - 2025/06/09
- Arm架構引領行動運算新典範:開發者無痛轉移密技大公開 - 2025/05/29
- 輕鬆用Intel AI PC及OpenVINO建立數位分身 - 2025/03/27
訂閱MakerPRO知識充電報
與40000位開發者一同掌握科技創新的技術資訊!