caffe ssd訓練過程總結

2021-08-13 11:02:08 字數 1699 閱讀 8538

好記性不如爛筆頭,最近在使用caffe-ssd訓練,所以簡單寫個總結,以防忘記一些過程,有不足之處,還請大家多多指教.

一.資料準備

pwd:/home/***xx/caffe-ssd/data/vocdevkit/mydataset

準備好jpg,txt和xml檔案,分別放入對應的資料夾裡

annotations資料夾裡存放所有的xml檔案

imagesets資料夾裡的main資料夾裡分別存放txt檔案,包括:test.txt,trainval.txt

test.txt,trainval.txt檔案是自己寫指令碼實現的:sy_generate_txt.py

jpegimages資料夾裡存放所有的jpg檔案

二.將資料轉化為lmdb格式資料

pwd:/home/***xx/caffe-ssd/data/mydataset

在caffe-ssd根目錄下執行:./data/mydataset/create_list.sh

create_list.sh檔案生成訓練資料的list

在caffe-ssd根目錄下執行:./data/mydataset/create_data.sh

create_data.sh檔案生成lmdb資料

/home/***xx/caffe-ssd/data/vocdevkit/mydataset/lmdb

三.修改相關檔案資訊

/home/***xx/caffe-ssd/data/mydataset/labelmap_voc.prototxt

修改檔案裡面的類別資訊

label:0 是背景,不需要進行任何修改

item

是我們的類名,如下:

item

item

item

修改完後儲存即可.

/home/***xx/caffe-ssd/examples/ssd/ssd_sy_train.py

修改路徑:

pretrain_model = 'models/vggnet/vocsy/ssd_300x300_sign_watch2/vgg_voc_ssd_300x300_iter_24000.caffemodel'

有初始模型時,我們寫上我們的初始模型路徑

沒有初始模型時,我們: pretrain_model = ''(注意:此處沒有空格)

修改:num_classes,它的值為我們訓練的類別數加1,如果我們要訓練3個類,那麼:num_classes = 4

四.開始訓練

/home/***xx/caffe-ssd

執行python examples/ssd/ssd_sy_train.py檔案

五.開始測試

修改測試檔案裡的相關路徑

/home/***xx/caffe-ssd

python examples/ssd/ssd_sy_test.py

model_weights = 'models/vggnet/vocsy/ssd_300x300/vgg_voc_ssd_300x300_iter_2000.caffemodel' 改為需要的模型所在路徑

inputdir = '/home/data/images/s/' 改為測試資料所在的目錄

outputdir1 = '/home/data/images/detect_results/' 儲存測試結果的路徑

在caffe根目錄下執行python examples/ssd/ssd_sy_test.py檔案

訓練過程 GPU訓練

為什麼y2b的8m,8張普通tt為啥要跑幾個月?因為gpu其實有60 的時間都是在等待資料填充完成,簡直蠢。1 換個固態硬碟試試?沒用。問題出在系統匯流排上,一幀的資料量入視訊記憶體後有1.58g 當前最優的分布式訓練方式是通過引數伺服器 parameter server 執行的同步隨機梯度下降演算...

Adaboost 訓練過程

每個haar特徵對應看乙個弱分類器,但並不是任伺乙個haar特徵都能較好的描述人臉灰度分布的某一特點,如何從大量的haar特徵中挑選出最優的haar特徵並製作成分類器用於人臉檢測,這是adaboost演算法訓練過程所要解決的關鍵問題。paul viola和michael jones於2001年將ad...

Q learning訓練過程

下面的偽 說明了我們如何訓練,來得到乙個盡量完美的q 初始化 q while q 未收斂 初始化小鳥的位置s,開始新一輪遊戲 while s 死亡狀態 使用策略 獲得動作a s 使用動作a進行遊戲,獲得小鳥的新位置s 與獎勵r s,a q s,a 1 q s,a r s,a max q s a 更新...