insightface作者提供數據訓練解讀


1.下載源碼:

開源代碼地址:https://github.com/deepinsight/insightface

2.查看作者項目訓練要求

(1)訓練數據

訓練數據使用作者提供並制作好的數據,如下圖所示:

點擊Dataset-Zoo進入數據下載中心,如下圖所示:

 

本人訓練數據為MS1M-ArcFace,選擇自己想要訓練的數據都可以。

(2)訓練要求如下圖所示:

 a.

由於在本地配置環境問題比較多,本人直接拉取mxnet-cu90鏡像,省去好多麻煩事,可參考我的博客https://www.cnblogs.com/liuwenhua/p/11537696.html,有詳細解讀。

 

b.下載代碼放到自己的目錄下:

c.數據解讀:

根據作者要求把下載數據放到datastes目錄下,六個文件中前三個是訓練數據需求,后三個是驗證數據。

打開文件property,如下圖:

85742為類別數,根據不同數據需要更改代碼,后續提到。112,112為圖片大小。

d.ubuntu環境設置及代碼編輯

具體方法如下:

創建sh文件:進入到recognition,編輯

vim run_train.sh

編輯下面兩行代碼

export MXNET_CPU_WORKER_NTHREADS=24
export MXNET_ENGINE_TYPE=ThreadedEnginePerDevice

 

執行命令如下:

cp sample_config.py config.py
vim config.py

顯示如下圖所示:

根據自己的下載的數據或制作的數據需要添加代碼在dataset =edict()下面

dataset.emore = edict()
dataset.emore.dataset = 'emore'
dataset.emore.dataset_path = '../datasets/faces_emore'
dataset.emore.num_classes = 85742
dataset.emore.image_shape = (112,112,3)
dataset.emore.val_targets = ['lfw', 'cfp_fp', 'agedb_30']

①更改的第一個就是上面的emore,根據自己的喜好

②更改dataset.emore.dataset_path路徑

③dataset.emore.num_classes,訓練數據的類別數

(3)開始訓練

我的設備是兩塊RTX2080ti,運行代碼如下:

CUDA_VISIBLE_DEVICES='0,1' python -u train.py --network r100 --loss arcface --dataset emore

由於在運行過程中提示顯存不足,所以要設置bach_size,為了方便運行,我們添加下面代碼到run_train.sh文件中

export MXNET_CPU_WORKER_NTHREADS=24
export MXNET_ENGINE_TYPE=ThreadedEnginePerDevice

CUDA_VISIBLE_DEVICES='0,1' python -u train.py --network r100 --loss arcface --dataset emore --per-batch-size 36

保存退出,在終端運行

bash run_train.sh

模型開始訓練,如下圖:

 

后續准備制作自己的訓練數據,后續更新

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM