本篇文章全部基於Maixpy文檔
MaixPy文檔並不是非常推薦小白搭建本地訓練環境,因此文檔的內容寫的比較簡單,也出了些小問題,因此這里會寫的稍微詳細一些。
一、安裝python3.8
文檔說明其他版本會出現一些問題因此這里盡量也跟着文檔走。
驗證安裝:按win+r輸入cmd打開命令行,輸入python --version后回車
出現Python 3.8.10字樣則表示安裝成功
二、安裝pip並換源
默認是安裝了python之后pip也會自動幫你安裝的
輸入pip list來查看python環境下安裝的包
因為pip默認下載網站在國外,很多時候會下載比較慢,因此這里建議換成國內的源
在命令行中輸入如下代碼即可
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
這是清華的源,這是網址,如果你想用國內其他的源自行去了解即可
如果發現沒有pip模塊則可以參考這篇文章
三、CUDA和CUDNN環境配置
文檔的教程是針對GPU訓練的環境配置的,同時顯卡必須是英偉達的顯卡,如果沒有那么可以跳過這一步
3.1、安裝顯卡驅動
基本都有的吧,參考這里下載對應的驅動
當然你電腦本身應該就有裝顯卡驅動,原有的應該就夠了
3.2、安裝CUDA
指定了使用CUDA10.1
這是鏈接
我覺得下載和安裝就不必多提了,如果網站訪問比較慢的話,懂得都懂
3.3、安裝CUDNN
同樣的,如果訪問比較慢的話,懂得都懂
這是CUDNN的下載官網
選擇cudnn v7.6.5.32 for cuda 10.1的版本進行下載
下載完成之后將壓縮包里的三個文件夾都復制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1文件夾下面,如果不是安裝在C盤那稍微按這個路徑找一下也能找到
建議這一步結束之后重啟一下電腦
四、建立python虛擬環境並且安裝tensorflow
創建虛擬環境是為了讓你安裝的各種庫隔離開來避免產生各種庫依賴上的問題
比較建議用虛擬環境去裝自己沒把握的東西
4.1、創建python虛擬環境
找個地方新建個文件夾,然后點進去在文件夾空白處按住shift同時鼠標右擊,再選擇在此處打開Powershell窗口
接着輸入如下代碼:
python -m venv 虛擬環境的名字
運行完成之后你的文件夾里會出現一個和你虛擬環境同名的文件夾,表示安裝成功
4.2、激活虛擬環境
在powershell中輸入如下代碼:
.\你的虛擬環境\Scripts\activate
如果出現類似如下的情況則表示安裝完成

之后每次想要再進入這個虛擬環境都需要執行上述操作
4.3、安裝tensorflow
在虛擬環境激活的情況下在命令行中輸入:
pip install tensorflow-gpu==2.3.0
安裝即可
五、下載MiaiHub源碼
下載地址
把壓縮包解壓到你剛剛創建的python虛擬環境的那個文件夾
然后下載ncc-win7-x86_64
將解壓到的ncc-win7-x86_64文件夾修改為ncc_v0.1並將其復制到maix_train/tools/ncc文件夾下面(如果沒有這個文件夾就自己新建一個)
六、安裝依賴環境
打開requirements.txt,將其中的tensorflow>=2.3.1刪除,添加一行numpy==1.18.5
之后在確保虛擬環境激活的情況下輸入:
pip install -r requirements.txt
等待安裝完成即可
七、制作數據集
嚴格按照maixhub上的數據集制作要求來進行
這里提幾點要點:
- 采集照片建議用上述制作要求中提供的腳本來用開發板直接采集圖片
- 標注數據集用vott比較方便一點
- 數據集標注工具生成的文件夾不必打包,直接保留文件夾形式即可
八、開始訓練!
第一步依然是確認自己是否在虛擬環境中
初始化:
python train.py init
在instance/config.py中修改對應的參數,里面的注釋應該說的很明白了,主要是看你的數據集的圖片夠不夠了
這里只提目標檢測:
將你的數據集文件夾復制到datasets文件夾中,然后輸入:
python .\train.py -t detector -d .\datasets\數據集文件夾的名字\ train
等待訓練結束,會出現一個out的文件夾,里面就是訓練的模型了
注意現在先不要關閉powershell
九、使用模型
out文件夾中有一個壓縮包,把他解壓然后放到sd里面就行
同時需要對boot.py進行一些修改:
- 70和71行的labels和anchors的默認值有問題,需要改成訓練的結果,訓練模型的輸出信息中可以找到,大概在訓練開始之前往上翻,仔細找找就能找到
- 因為我們是把模型放在sd卡所以注釋72行並取消注釋73行
之后就正常把sd卡插回去然后上電看結果即可
