参照リンク:https://blog.csdn.net/linolzhang/article/details/70306003
1.リソースリンク
コードダウンロードリンク:https://github.com/CharlesShang/TFFRCNN
トレーニング済みのネットワークダウンロードリンク:
TFFRCNN-masterの下に新しいフォルダーモデルを作成して、ダウンロードするネットを保存します(Githubダウンロードアドレスを参照)。以下をダウンロードすることをお勧めします。
2.VGG16-TFFRCNN(VOC07で0.689 mAP):https://drive.google.com/file/d/0B_xFdh9onPagX0JWRlR0cTZ5OGc/view
3.VGG16-TFFRCNN(VOC07で0.748 mAP):https://drive.google.com/file/d/0B_xFdh9onPagVmt5VHlCU25vUEE/view
5.Resnet50-TFFRCNN(VOC07で0.712 mAP):https://drive.google.com/file/d/0B_xFdh9onPagbXk1b0FIeDRJaU0/view
2.要件:ソフトウェア
-
Tensorflowの要件(参照:Tensorflowを)
-
Pythonパッケージは、あなたが持っていない可能性があります:
cython
、python-opencv
、easydict
(インストールすることをお勧めします:アナコンダ)
3.要件:ハードウェア
- Faster R-CNNのエンドツーエンドバージョンをVGG16でトレーニングするには、3GのGPUメモリで十分です(CUDNNを使用)
4.インストール(デモには十分)
1. FasterR-CNNリポジトリのクローンを作成します
git clone https://github.com/CharlesShang/TFFRCNN.git
2.Cythonモジュールをビルドします
cd TFFRCNN/lib
make # compile cython and roi_pooling_op, you may need to modify make.sh for your platform
コンパイルプロセス中にいくつかのエラーが発生し、lib / make.shファイルを変更する必要がありました(下の図の赤い部分を変更します)。ファイルの内容は次のとおりです。
- - - ベギン - - -
#!/ usr / bin / env bash
TF_INC = $(python -c'import tensorflow as tf; print(tf.sysconfig.get_include()) ')
echo $ TF_INC
TF_LIB = $(python -c'import tensorflow as tf; print(tf.sysconfig.get_lib()) ')
echo $ TF_LIB
CUDA_PATH = / usr / local / cuda /
cd roi_pooling_layer
/usr/local/cuda-9.0/bin/nvcc -std = c ++ 11 -c -o roi_pooling_op.cu.o roi_pooling_op_gpu.cu.cc \
-I $ TF_INC -D GOOGLE_CUDA = 1 -x cu -Xcompiler -fPIC -arch = sm_52
##あなたは、以下の2行のコメントを解除既に構築されたバイナリ、またはgccのバージョン4.x、使用してTFインストールする場合
#G ++ -std = C ++ 11 -shared -D_GLIBCXX_USE_CXX11_ABI = 0 -o roi_pooling.so roi_pooling_op.cc \
#roi_pooling_opを.cu.o -I $ TF_INC -fPIC -lcudart -L $ CUDA_PATH / lib64
#gcc5で構築されたtfの場合#g
++ -std = c ++ 11 -shared -D_GLIBCXX_USE_CXX11_ABI = 1 -o roi_pooling.so roi_pooling_op.cc \
g ++ -std = c ++ 11 -shared -D_GLIBCXX_USE_CXX11_ABI = 0 -o roi_pooling_so roi_pool
.cc \ roi_pooling_op.cu.o -I $ TF_INC -fPIC -lcudart -L $ CUDA_PATH / lib64 -L / usr / local / lib / python2.7 / dist-packages / tensorflow -ltensorflow_framework \
-L / usr / local / cuda-9.0 / targets / x86_64-linux / lib / -L $ TF_LIB
cd ..
#建物のpsroi_poolingレイヤーを追加
cd psroi_pooling_layer
/usr/local/cuda-9.0/bin/nvcc -std = c ++ 11 -c -o psroi_pooling_op.cu.o psroi_pooling_op_gpu.cu.cc \
-I $ TF_INC -D GOOGLE_CUDA = 1 -x cu -Xcompiler -fPIC -arch = sm_52
g ++ -std = c ++ 11 -shared -D_GLIBCXX_USE_CXX11_ABI = 0 -o psroi_pooling.so psroi_pooling_op.cc \
psroi_pooling_op.cu.o -I $ TF_INC -fPIC -lcudart -L $ CUDA_PATH / lib64i -L / usr / local / lib /python2.7/dist-packages/tensorflow -ltensorflow_framework \
-L / usr / local / cuda-9.0 / targets / x86_64-linux / lib / -L $ TF_LIB
##ビルド済みのバイナリまたはgccバージョン4.xを使用してtfをインストールする場合は、以下の2行のコメントを解除します。
#g ++ -std = c ++ 11 -shared -D_GLIBCXX_USE_CXX11_ABI = 0 -o psroi_pooling.so psroi_pooling_op.cc \
#psroi_pooling_op .cu.o -I $ TF_INC -fPIC -lcudart -L $ CUDA_PATH / lib64
cd ..
- - - 終わり - - -