4

このチュートリアルに従ってカフェをインストールしようとしています

基本的に、最後の make コマンドを入力すると、次のエラーが発生します。

me@dl-01:/home/me/caffe-master$ make runtest

.build_release/tools/caffe

caffe: command line brew

usage: caffe command args

commands:

train           train or finetune a model

test            score a model

device_query    show GPU diagnostic information

time            benchmark model execution time

Flags from tools/caffe.cpp:
 -gpu (Run in GPU mode on given device ID.) type: int32 default: -1
 -iterations (The number of iterations to run.) type: int32 default: 50
 -model (The model definition protocol buffer text file..) type: string
      default: ""
 -snapshot (Optional; the snapshot solver state to resume training.)
 type: string default: ""
 -solver (The solver definition protocol buffer text file.) type: string
 default: ""
 -weights (Optional; the pretrained weights to initialize finetuning. Cannot
      be set simultaneously with snapshot.) type: string default: ""
.build_release/test/test_all.testbin 0 --gtest_shuffle 
ERROR: something wrong with flag 'flagfile' in file '/root/glog-0.3.3/gflags-master/src/gflags.cc'.  One possibility: file '/root/glog-0.3.3/gflags-master/src/gflags.cc' is being linked both statically and dynamically into this executable.
make: *** [runtest] Error 1

このエラーの解決方法がわかりません。以前にこのエラーを見つけた人はいますか? どうすれば解決できますか?

4

3 に答える 3

10

これを別の場所で既に解決しているかどうかに関係なく、他の人が同じ問題に遭遇した場合に備えて、ここに回答を投稿しています。

主に、この問題が発生したのは、私たちが常に物事を適切に読んでいるとは限らず、すべての指示が自分の場合に当てはまると考えて盲目的に従うためです. ヒント:そうではありません。

Caffe のインストール手順 (Ubuntu の手順を想定) には、次のセクションがあります。

すべてが 14.04 にパッケージ化されています。

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

明確に述べている次のタイトルを盲目的に無視します。

残りの依存関係、12.04

これらの依存関係をインストールし、必要に応じてビルドしてインストールすると、2 つのバージョンの libgflags を持つという不幸な副作用が生じ/usr/lib[/x86_x64]ます。/usr/local/lib

解像度

  1. 次回は指示を正しく読むことを約束します。

  2. libgflags をアンインストールする

    sudo apt-get remove -y libgflags
    
  3. make installバージョンを削除する

    sudo rm -f /usr/local/lib/libgflags.a /usr/local/lib/libgflags_nothreads.a
    sudo rm -rf  /usr/local/include/gflags
    
  4. クリーンカフェビルド

    cd <path>/<to>/caffe
    make clean
    
  5. libgflags パッケージを再インストールします

    sudo apt-get install -y libgflags-dev
    
  6. リビルドカフェ

    make all
    make test
    make runtest
    

出来上がり。これですべてのテストが実行され、ディープ ラーニング ボートを揺るがす準備が整いました。

于 2015-07-05T10:10:59.927 に答える
1

また、共有 .so ライブラリと静的 .a ライブラリの 2 つのライブラリもインストールしました。/usr/local/include/glog フォルダーと同様に、それらすべてを削除しました。システムを (クロス) コンパイルしたときに持ってきた .so ファイルですが、.a はネイティブで最新のビルドのものです。最終的には、.so ファイルを提供するような方法で glog を (ネイティブに) ビルドすることになりました。クリーンダウンロードから始めました:

git clone git://github.com/google/glog

次に、CMakeLists.txt を編集しました。それが言うところ:

add_library (glog
  ${GLOG_SRCS}
)

私はそれを次のように変更しました:

add_library (glog SHARED
  ${GLOG_SRCS}
)

次に、他の指示に従うことができるはずです。私の特定のケースでは、これを行う必要があるとは言っていませんが、わずかに異なる指示を使用する必要がありました。私にとっては: mkdir build cd build

export CXXFLAGS="-fPIC"
cmake ..
make
sudo make install

これにより、.so ファイルが取得され、適切な場所に配置されました。その後、カフェでやり直して、エラーを修正しました。

于 2015-11-05T17:06:12.433 に答える