yolov 3トレーニング自分のデータセット(darknet)+visdroneデータセット
前のリンク:https://blog.csdn.net/daisy_d_/article/details/105748051
すべての完了は次のステップに分けられます:1.独自のデータセットを作成する-visdroneをyoloに変換するために必要なフォーマット2.yolov 3を構成する(以下、この部分を完成する).テストおよび計算map
makfileファイルの変更
コンパイル
ダウンロードの重みはdarknet 53です.conv.74 scriptsフォルダの下に置いた
cfg/vocを修正する.data
data/vocを変更する.name
cfg/yolov 3-vocを修正する.cfg、私が使っているこのネットワークの修正の場所:最初の場所
2番目
3番目
これから訓練できます.訓練は時間が長いかもしれません.辛抱強くしなければなりません.
トレーニングが中断された場合は、最後に保存したウェイトから開始できます.
訓練時に注意すべきパラメータ
訓練時に重みを保存する頻度の最初の1000回は100回ごとに保存され、1000より大きい10000ごとに重みを保存するdetectorを変更することができる.cでは、適切な周波数を選択する
すべての完了は次のステップに分けられます:1.独自のデータセットを作成する-visdroneをyoloに変換するために必要なフォーマット2.yolov 3を構成する(以下、この部分を完成する).テストおよび計算map
darknetをダウンロードしてコンパイル
git clone https://github.com/pjreddie/darknet
cd darknet
makfileファイルの変更
GPU=1 # GPU 1,CPU 0
CUDNN=1 # CUDNN 1, 0
OPENCV=0 # , OPENCV 1, 0
OPENMP=0
DEBUG=0
コンパイル
make
ウェイトをダウンロードし、関連する構成情報を変更
ダウンロードの重みはdarknet 53です.conv.74 scriptsフォルダの下に置いた
wget https://pjreddie.com/media/files/darknet53.conv.74
cfg/vocを修正する.data
classes= 10
train = /home/mist/darknet/scripts/VOCdevkit/VOC2018/train.txt
# , ,
valid = /home/mist/darknet/scripts/VOCdevkit/VOC2018/val.txt
names = data/voc.names
backup = backup
data/vocを変更する.name
pedestrian
people
bicycle
car
van
truck
tricycle
awning-tricycle
bus
motor
cfg/yolov 3-vocを修正する.cfg、私が使っているこのネットワークの修正の場所:最初の場所
[convolutional]
size=1
stride=1
pad=1
filters=45 # 3*(classes+5) 3*(10+5)=45
activation=linear
[yolo]
mask = 6,7,8
anchors = 10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326
classes=10 # ,10
num=9
jitter=.3
ignore_thresh = .5
truth_thresh = 1
random=0
2番目
[convolutional]
size=1
stride=1
pad=1
filters=45 #
activation=linear
[yolo]
mask = 3,4,5
anchors = 10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326
classes=10 #
num=9
jitter=.3
ignore_thresh = .5
truth_thresh = 1
random=0
3番目
[convolutional]
size=1
stride=1
pad=1
filters=45 #
activation=linear
[yolo]
mask = 0,1,2
anchors = 10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326
classes=10 #
num=9
jitter=.3
ignore_thresh = .5
truth_thresh = 1
random=0
トレーニング
これから訓練できます.訓練は時間が長いかもしれません.辛抱強くしなければなりません.
./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg scripts/darknet53.conv.74
トレーニングが中断された場合は、最後に保存したウェイトから開始できます.
./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg backup/yolov3-voc_51000.weights
訓練時に注意すべきパラメータ
learning_rate=0.001 # 。 https://blog.csdn.net/qq_33485434/article/details/80452941
....
max_batches = 50200 # max_batches
....
steps=40000,45000 #steps scale , 40000 45000 ,
scales=.1,.1 #.1
訓練時に重みを保存する頻度の最初の1000回は100回ごとに保存され、1000より大きい10000ごとに重みを保存するdetectorを変更することができる.cでは、適切な周波数を選択する
if(i%10000==0 || (i < 1000 && i%100 == 0))