好記性不如爛筆頭,最近在使用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 更新...