天天看點

Siammask目标跟蹤使用SiamMask_VOT.pth訓練自己的模型

想用siammask訓練自己的模型,又不想從頭開始訓練,希望能夠在項目組提供的SiamMask_VOT.pth的基礎上繼續訓練,網上搜了一下,似乎沒有相關教程,于是自己嘗試了一下,簡單記錄步驟如下:

1、将siammask_sharp檔案夾下的run.sh修改如下:

if [ -z "$1" ]

then

echo "Need input base model!"

echo "Usage: bash `basename "$0"` \$BASE_MODEL"

exit

fi

ROOT=`git rev-parse --show-toplevel`

export PYTHONPATH=$ROOT:$PYTHONPATH

mkdir -p logs

base=$1

python3 -u $ROOT/tools/train_siammask_refine.py \

--config=config.json -b 16 \

-j 20 --resume snapshot/SiamMask_VOT.pth \ (主要是這裡增加resume的選項)

--epochs 20 \

2>&1 | tee logs/train.log

2、在siammask_sharp檔案夾下建立檔案夾snapshot,并将SiamMask_VOT.pth拷貝進去。

3、在siammask_sharp檔案夾下修改config.json :

    "train_datasets": {

        "datasets": {

            "coco": {          #這裡的coco改為自己的資料集

                "root": "../../data/coco/crop511",    #這裡的coco改為自己的資料集

                "anno": "../../data/coco/train2017.json",  #這裡的coco改為自己的資料集

将訓練資料改為自己的資料集。

4、将datasets\siam_mask_dataset.py中的91行:

self.has_mask = self.mark in ['coco', 'ytb_vos']
           

中增加自己資料集的名稱,否則mask相關的loss都沒法計算

5、在siammask_sharp目錄下運作 bash run.sh --resume

繼續閱讀