tf-faster-rcnnインストール、変更レコード

3526 ワード

今はTensorFlowを使っているので、このtf-faster-rcnnを探してfaster rcnnを実現しました.私のパソコンは新しくインストールされたので、インストール中に多くの問題に遭遇し、今記録しています.tf-faster-rcnnのgithubアドレスhttps://github.com/endernewton/tf-faster-rcnn
作者のreadmeはよく書けているので、そのままで大丈夫です.今、私が出会ったものを補充します.

1、pascal_vocトレーニング


1、cython、python-opencv、easydict、yamlをインストールします.import xxxは間違いを報告しなければいいです.2.GPUモデル3を修正し、テストスクリプトを実行するとき.スクリプト呼び出しの生成モデルはoutputにあり、デフォルトでは70000回反復されます.途中で停止したら、テストスクリプトを実行したいです.testスクリプトの反復値を変更するには.モデルが見つからないエラーが発生します

2、自分のデータセットでトレーニングする


自分のデータを訓練するのに多くの問題が発生したのは、主に作者がどのファイルを修正したのかを与えず、今記録しているからだ.
1、自分のデータセットを作るネット上にはpascalデータセットを作るチュートリアルやコードがたくさんあるので、言うまでもありません.作成したデータセットはdataフォルダの下に置きます.
2、トレーニングの修正、コマンドスクリプトのテスト
cd experiments/scripts/
vim train_faster_rcnn.sh
vim test_faster_rcnn.sh

ここで変更するのは反復回数です
case ${DATASET} in
  pascal_voc)
    TRAIN_IMDB="voc_2007_trainval"
    TEST_IMDB="voc_2007_test"
    STEPSIZE="[5000]"
    ITERS=10000
    ANCHORS="[8,16,32]"
    RATIOS="[0.5,1,2]"

3、スーパーパラメータの修正
cd lib/model/
vim config.py

config.pyでは学習率や運動量などのスーパーパラメータを変更できます.
4、pascal_を修正するvoc.py.
cd lib/datasets

pascal_の変更voc.pyのカテゴリ
  self._classes = ('__background__',  # always index 0
                     'digital tube')

5、demoを修正する.py
cd tools/

ここでは(1)NETS名の変更が2箇所あります.cpktファイルの数は、モデルを生成する反復回数と一致しなければなりません.そうしないと、ファイルが見つかりません.
NETS = {'vgg16': ('vgg16_faster_rcnn_iter_10000.ckpt',),'res101': ('res101_faster_rcnn_iter_110000.ckpt',)}
DATASETS= {'pascal_voc': ('voc_2007_trainval',),'pascal_voc_0712': ('voc_2007_trainval+voc_2012_trainval',)}

(2)main関数でカテゴリ数を変更する.ここは2です.数字はカテゴリ+1のはずです.1は背景です.
net.create_architecture("TEST", 2,
                          tag='default', anchor_scales=[8, 16, 32])

6、修正が终わって、楽しく训练テストができました.
./experiments/scripts/train_faster_rcnn.sh 0 pascal_voc vgg16

7、自分のデータセットを訓練またはテストする前に、著者のデータを一度訓練した.データサイズが一致しないエラーが報告される可能性があります.以前に訓練して生成したファイルを削除すればいいです.この点はよく分からなかった.私はこのような間違いに出会ったことがあります.この方法で解決しました.もしあなたがはっきりしたら、下に伝言を残して教えてください.