調試 smallcorgi/Faster-RCNN_TF 的demo過程遇到的問題


#2018年7月14日 目前,若需訓練Faster R-CNN模型請使用其他GitHub項目,可以獲得更好的效果。

如tensorflow版的https://github.com/endernewton/tf-faster-rcnn

或者使用facebook ai出品的Detectron https://github.com/facebookresearch/Detectron

 

最近在調試faster R-CNN時,遇到了各種各樣的問題。使用的算法庫為https://github.com/smallcorgi/Faster-RCNN_TF

 

  注:本文使用的是通過virtualenv 創建python虛擬環境進行調試,python 版本2.7,tensorflow 版本為tensorflow1.4-gpu版。


  1.首先要對它的庫進行編譯,


cd $FRCN_ROOT/lib

make
  2.下載其提供的測試模型,由於牆的緣故,下載需要費一番功夫。以下是下載地址:
  #20171115 添加百度雲下載地址: 鏈接:https://pan.baidu.com/s/1zNWzMxBwQ6qVoXXvN89Peg 密碼:0rtb

     https://drive.google.com/open?id=0ByuDEGFYmWsbZ0EzeUlHcGFIVWM

  或者
    https://www.dropbox.com/s/cfz3blmtmwj6bdh/VGGnet_fast_rcnn_iter_70000.ckpt?dl=0

  3.下載好之后就可以運行了。
cd $FRCN_ROOT
python ./tools/demo.py --model model_path
 
         

附:運行結果

 

 

遇到的難題


1. 編譯過程中 nsync_cv.h: No such file or directory,使用python虛擬環境會存在該問題。

/home/xxx/tensorflow/local/lib/python2.7/site-packages/tensorflow/include/tensorflow/core/platform/default/mutex.h:25:22: fatal error: nsync_cv.h: No such file or directory

解決:編譯的時候老是找不到該文件,最后直接把全路徑填上了,編譯通過,算一個笨方法吧。我的nsync_cv.h 文件的路徑為:

/home/xxx/tensorflow/lib/python2.7/site-packages/external/nsync/public/nsync_cv.h

 

2. 運行demo過程中遇到的錯誤

g++: error: roi_pooling_op.cu.o: No such file or directory

解決:按如下步驟設置
(1) export PATH=$PATH:/usr/local/cuda-8.0/bin/ (
你的CUDA路徑) for your terminal
(2)
$FRCN_ROOT/lib/ make.sh 文件中,將 CXXFLAGS+='-undefined dynamic_lookup'

改為 CXXFLAGS='-D_MWAITXINTRIN_H_INCLUDED'

 

3. undefined symbol: _ZTIN10tensorflow8OpKernelE

這個問題卡得最久,因為make.sh 文件中缺少了TF_LIB 編譯參數,還需要添加 -D_GLIBCXX_USE_CXX11_ABI=0

解決:

(1)修改make.sh 添加TF_LIB,並修改相應的編譯參數

TF_LIB=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_lib())')

  ......

g++ -std=c++11 -shared -o roi_pooling.so roi_pooling_op.cc -D_GLIBCXX_USE_CXX11_ABI=0 \

roi_pooling_op.cu.o -I $TF_INC -L $TF_LIB -ltensorflow_framework -D GOOGLE_CUDA=1 \

-fPIC $CXXFLAGS -lcudart -L $CUDA_PATH/lib64

  ......

(2)重新make,然后運行

 

4. 缺少yaml

查了網上的方法,都是這樣的

sudo apt-get install python-yaml

我試了,但是在虛擬環境中還是無法import,最后直接下載庫,手動安裝。注意,是在虛擬環境中,通過python setup.py install 進行安裝。

yaml 下載地址 http://pyyaml.org/download/pyyaml/PyYAML-3.12.tar.gz




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM