YOLO(Darknet公式)トレーニング分類器
4511 ワード
目次 1. 分類データ準備 2. Darknet構成 3. Darknetコマンド使用 4. cifar-10使用例
必要なファイルのリスト:
次のディレクトリ構造で構成されます.
トレーニングとテストの割合を設定します.データセットが比較的小さい(10000程度)場合、設定された割合は、トレーニング:テスト=80%:20% である.データセットが比較的大きい(100000程度)場合、設定された割合は、トレーニング:テスト=99%:1% 次に、JPEGImagesディレクトリに移動して、次の操作を行います.
構造labels.txtファイル内容
構築voc.dataファイルの内容:
ネットワークプロファイルの選択:
ネットワークプロファイルおよび事前トレーニングモデル
AlexNetの例:
darknet をダウンロード
GPUがあるcuda 8がインストールされている場合.0とcudnn 6.0、Makefileで修正して、対応するCUDA=0をCUDA=1に変更してください.第1ステップで構築するファイルを対応する位置 に配置する.
そのうちvoc.dataの内容は対応するファイルに直接指します.
trainコマンド validコマンド predictコマンド 端末訓練後再訓練 訓練用GPU を設置する
データ取得 configファイル を選択ネットワークプロファイルcifar_を作成small.cfg(公式提供) 訓練:
1.分類データ準備
必要なファイルのリスト:
1. train.list :
2. test.list :
3. labels.txt : ,
4. voc.data : darknet ,
5. cifar.cfg :
次のディレクトリ構造で構成されます.
VOCdevkit
VOC2017
JPEGImages
train
test
トレーニングとテストの割合を設定します.
find `pwd`/train -name \*.jpg > train.list
find `pwd`/test -name \*.jpg > test.list
構造labels.txtファイル内容
airplane
automobile
bird
cat
deer
dog
frog
horse
ship
truck
構築voc.dataファイルの内容:
classes=10 #
train = data/cifar/train.list #
valid = data/cifar/test.list #
labels = data/cifar/labels.txt #
backup = backup/ #
top=2 # top-n
ネットワークプロファイルの選択:
ネットワークプロファイルおよび事前トレーニングモデル
AlexNetの例:
[net]
# Training
# batch=128
# subdivisions=1
# Testing
batch=1
subdivisions=1
height=227
width=227
channels=3
momentum=0.9
decay=0.0005
max_crop=256
learning_rate=0.01
policy=poly
power=4
max_batches=800000
angle=7
hue = .1
saturation=.75
exposure=.75
aspect=.75
[convolutional]
filters=96
size=11
stride=4
pad=0
activation=relu
[maxpool]
size=3
stride=2
padding=0
[convolutional]
filters=256
size=5
stride=1
pad=1
activation=relu
[maxpool]
size=3
stride=2
padding=0
[convolutional]
filters=384
size=3
stride=1
pad=1
activation=relu
[convolutional]
filters=384
size=3
stride=1
pad=1
activation=relu
[convolutional]
filters=256
size=3
stride=1
pad=1
activation=relu
[maxpool]
size=3
stride=2
padding=0
[connected]
output=4096
activation=relu
[dropout]
probability=.5
[connected]
output=4096
activation=relu
[dropout]
probability=.5
[connected]
output=1000
activation=linear
[softmax]
groups=1
2.Darknet構成
git clone https://github.com/pjreddie/darknet.git
cd darknet
make -j4
GPUがあるcuda 8がインストールされている場合.0とcudnn 6.0、Makefileで修正して、対応するCUDA=0をCUDA=1に変更してください.
darknet
cfg -- AlexNet.cfg
data -- voc.data, labels.txt, train.list, test.list
そのうちvoc.dataの内容は対応するファイルに直接指します.
3.Darknetコマンド使用
./darknet classifier train data/voc.data cfg/AlexNet.cfg
./darknet classifier valid data/voc.data cfg/AlexNet.cfg backup AlexNet.backup
./darknet classifier predict data/voc.data cfg/AlexNet.cfg backup AlexNet.backup ./cat.png
./darknet classifier train data/voc.data cfg/AlexNet.cfg backup/AlexNet.backup
-gpus 0,1
4.cifar-10使用例
cd data
wget https://pjreddie.com/media/files/cifar.tgz
tar xzf cifar.tgz
cd cifar
find `pwd`/train -name \*.png > train.list
find `pwd`/test -name \*.png > test.list
cd ../..
classes=10
train = data/cifar/train.list
valid = data/cifar/test.list
labels = data/cifar/labels.txt
backup = backup/
top=2
[net]
batch=128
subdivisions=1
height=28
width=28
channels=3
max_crop=32
min_crop=32
hue=.1
saturation=.75
exposure=.75
learning_rate=0.1
policy=poly
power=4
max_batches = 5000
momentum=0.9
decay=0.0005
[convolutional]
batch_normalize=1
filters=32
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=16
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=32
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=64
size=1
stride=1
pad=1
activation=leaky
[convolutional]
filters=10
size=1
stride=1
pad=1
activation=leaky
[avgpool]
[softmax]
./darknet classifier train cfg/cifar.data cfg/cifar_small.cfg
valid:./darknet classifier valid cfg/cifar.data cfg/cifar_small.cfg backup/cifar_small.backup