faster-cnnはPascal VOC 2007+2012合同訓練を用いる
5734 ワード
1、まず07/12データセットをダウンロードする
OCdevkit/VOC0712/
Webサイト:https://github.com/Orpine/py-R-FCN
5、今フォルダの下に含まれているはずです
元のコード:
case $DATASET in pascal_voc) TRAIN_IMDB="voc_2007_trainval" TEST_IMDB="voc_2007_test" PT_DIR="pascal_voc" ITERS=70000 ;;
変更後:
case $DATASET in pascal_voc) TRAIN_IMDB="voc_0712_trainval" #この名前は分解に使われていますが、真ん中の数字はどのソフト接続のどのデータセットを表しています. TEST_IMDB="voc_0712_test" PT_DIR="pascal_voc" ITERS=110000 #反復回数が大きくなったのは07+12データセットが大きいためです ;;
8、名前を変更してもだめです.faster rcnnは2007と2012のデータセット名しか定義していないので、0712は定義していません.手動で追加します.py-faster-rcnn-masterlibdatasetsfactory.py
# Set up voc__ using selective search "fast"mode for year in ['2007', '2012','0712']: #ここに'0712'を追加 for split in ['train', 'val', 'trainval', 'test']: name = 'voc_{}_{}'.format(year, split) __sets[name] = (lambda split=split, year=year: pascal_voc(split, year))
9、これらを変更すれば運転できますが、
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
、VOCdevkitというフォルダに解凍tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar
tar xvf VOCtrainval_11-May-2012.tar
、中にあるはずのフォルダ:$VOCdevkit/ # development kit
$VOCdevkit/VOCcode/ # VOC utility code
$VOCdevkit/VOC2007 # image sets, annotations, etc.
$VOCdevkit/VOC2012 # image sets, annotations, etc.
# ... and several other directories ...
4、faster rcnnは複数のデータセットトレーニングをサポートしていないため、2007と2012を手動で統合します.方法は、まずVOC 0712というフォルダを新規作成し、VOCdevkitの下にVOC 2007とVOC 2012の下にImageSets以外のすべてのフォルダをVOC 0712の下にコピーし(いくつかのフォルダをマージする必要がある)、それから何凱明はR-FCNにImageSetsフォルダを提供し、それをVにコピーするOCdevkit/VOC0712/
Webサイト:https://github.com/Orpine/py-R-FCN
5、今フォルダの下に含まれているはずです
$VOCdevkit/ # development kit
$VOCdevkit/VOCcode/ # VOC utility code
$VOCdevkit/VOC2007 # image sets, annotations, etc.
$VOCdevkit/VOC2012 # image sets, annotations, etc.
$VOCdevkit/VOC0712 # you just created this folder
# ... and several other directories ...
6、faster-cnnのdataフォルダの下でソフト接続を作成します.$は絶対パスの意味です.200720120712の3つのソフト接続を作成します.VOCdevkitに接続します.cd $RFCN_ROOT/data
ln -s $VOCdevkit VOCdevkit2007
cd $RFCN_ROOT/data
ln -s $VOCdevkit VOCdevkit2012
cd $RFCN_ROOT/data
ln -s $VOCdevkit VOCdevkit0712
、07+12を使用する場合は、まずデータセット名を変更し、py-faster-rcnn-masterexperimentsscriptsfaster_を開きます.rcnn_end2end.sh 元のコード:
case $DATASET in pascal_voc) TRAIN_IMDB="voc_2007_trainval" TEST_IMDB="voc_2007_test" PT_DIR="pascal_voc" ITERS=70000 ;;
変更後:
case $DATASET in pascal_voc) TRAIN_IMDB="voc_0712_trainval" #この名前は分解に使われていますが、真ん中の数字はどのソフト接続のどのデータセットを表しています. TEST_IMDB="voc_0712_test" PT_DIR="pascal_voc" ITERS=110000 #反復回数が大きくなったのは07+12データセットが大きいためです ;;
8、名前を変更してもだめです.faster rcnnは2007と2012のデータセット名しか定義していないので、0712は定義していません.手動で追加します.py-faster-rcnn-masterlibdatasetsfactory.py
# Set up voc__ using selective search "fast"mode for year in ['2007', '2012','0712']: #ここに'0712'を追加 for split in ['train', 'val', 'trainval', 'test']: name = 'voc_{}_{}'.format(year, split) __sets[name] = (lambda split=split, year=year: pascal_voc(split, year))
9、これらを変更すれば運転できますが、
cd $FRCN_ROOT
./experiments/scripts/faster_rcnn_end2end.sh [GPU_ID] [NET] [--set ...]
# GPU_ID is the GPU you want to train on
# NET in {ZF, VGG_CNN_M_1024, VGG16} is the network arch to use
# --set ... allows you to specify fast_rcnn.config options, e.g.
# --set EXP_DIR seed_rng1701 RNG_SEED 1701