darknetフレームを使ったイメージネットのデータ分類前トレーニング操作
最近はずっとyolo物体検査を研究しています。インターネット上ではyoloの分類前訓練とyolo 9000の連携データが少ない訓練方法に基づいて、本人の実際の実験を通して、この二つの部分を整理しています。
1、データ準備
1000種類のImagenet画像データ
Imagenetの異なるカテゴリデータはすべて単独で一つのフォルダに配置されており、特定のネーミングがあります。例えば「n 0002087」というように、分類をする時には特定のラベルを作る必要はありません。訓練したピクチャのパスには自分のカテゴリラベルが含まれています。他の種類のラベルが含まれていないだけでいいです。
トレーニング用のデータリスト*classf_を作成します。list.txt
2、分類ラベルの作成
すべてのカテゴリのラベルリストnew_を作成します。label.txtとラベルに対応するカテゴリ名のリストnew_name.txt
new_label.txt
new_name.txt(トレーニングは不要ですが、テスト時には具体的なカテゴリが表示されます)
3、cfg/.dataプロファイルを修正する(*classif.data)
5.トレーニング
./darknet classifier trin cfg/classif.data cfg/classf.cfg-gpus 0,3(自分のマシンのgpuを選択)
6.テスト
./darknet classider predcat cfg/classif.data cfg/classf.backup/classf.weights data/eagle.jpg
もちろん、これは2000回のテストの結果を訓練したばかりです。ただテストするだけで、まだ訓練を続けなければなりません。
以上、darknetのフレームワークを使って、イメージネットのデータを分類して訓練して操作します。つまり、小編集は皆さんに全部の内容を共有しています。参考にしてもらいたいです。どうぞよろしくお願いします。
1、データ準備
1000種類のImagenet画像データ
Imagenetの異なるカテゴリデータはすべて単独で一つのフォルダに配置されており、特定のネーミングがあります。例えば「n 0002087」というように、分類をする時には特定のラベルを作る必要はありません。訓練したピクチャのパスには自分のカテゴリラベルが含まれています。他の種類のラベルが含まれていないだけでいいです。
トレーニング用のデータリスト*classf_を作成します。list.txt
2、分類ラベルの作成
すべてのカテゴリのラベルリストnew_を作成します。label.txtとラベルに対応するカテゴリ名のリストnew_name.txt
new_label.txt
new_name.txt(トレーニングは不要ですが、テスト時には具体的なカテゴリが表示されます)
3、cfg/.dataプロファイルを修正する(*classif.data)
classes=1000
train =/home/research/disk2/wangshun/yolo1700/darknet/coco/filelist/classf_list.txt
labels=data/new_label.txt
names=data/new_name.txt
backup=backup
top=5
ネットワークプロファイルを変更する(classif.cfg)
[net]
#Training
batch=64
subdivisions=1
width=416
height=416
channels=3
momentum=0.9
decay=0.0005
angle=0
saturation = 1.5
exposure = 1.5
hue=.1
max_crop = 512
learning_rate=0.001
burn_in=1000
max_batches = 1000000000
policy=steps
steps=350000,500000,750000,1200000
scales=.1,.1,.1,.1
[convolutional]
batch_normalize=1
filters=16
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=32
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=32
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=128
size=3
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=64
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky
#######
[convolutional]
batch_normalize=1
size=1
stride=1
pad=1
filters=128
activation=leaky
[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=256
activation=leaky
[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=256
activation=leaky
[convolutional]
filters=1000
size=1
stride=1
pad=1
activation=leaky
[avgpool]
[softmax]
groups = 1
[cost]
type=sse
もちろん中間のネット層は自分で修正したネットワークです。5.トレーニング
./darknet classifier trin cfg/classif.data cfg/classf.cfg-gpus 0,3(自分のマシンのgpuを選択)
6.テスト
./darknet classider predcat cfg/classif.data cfg/classf.backup/classf.weights data/eagle.jpg
もちろん、これは2000回のテストの結果を訓練したばかりです。ただテストするだけで、まだ訓練を続けなければなりません。
以上、darknetのフレームワークを使って、イメージネットのデータを分類して訓練して操作します。つまり、小編集は皆さんに全部の内容を共有しています。参考にしてもらいたいです。どうぞよろしくお願いします。