ゼロから学ぶカフェ1-仮想マシンのubuntu16.04にカフェ(CPUバージョン)をインストールするための詳細なチュートリアル

序文

最近は自分でカフェのアーキテクチャを学びたいと思っていますが、結局このアーキテクチャは広く使われているので、仮想マシンにカフェをインストールしていきます。インターネット上にはすでにたくさんのチュートリアルがありますが、インストールエラーは常にさまざまなので、この記事を書きたいと思います。インストールプロセス中に発生した問題が参考になることを願っています。また、問題を要約するのにも便利です。
ヒント:caffeのgpuバージョンは仮想マシンにインストールできません(自分でインストールしました。GPUドライバーをインストールすると、GPUが見つからないというエラーが報告されます)。そのため、cpheのcpuバージョンのみをインストールできます。

依存ライブラリのインストール

sudo apt-get install libprotobuf-dev 
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev 
sudo apt-get install libopencv-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install liblmdb-dev
sudo apt-get install libatlas-base-dev

依存ライブラリは基本的に同じであり、通常、段階的なインストールで問題はありません。1つをお見逃しなく。

カフェをダウンロード

ubuntuにgitツールがない場合は、最初にgitをインストールします。

sudo apt-get install git

次に、カフェのソースコードをダウンロードします

git clone git://github.com/BVLC/caffe.git

しかし、私はこのステップでミスを犯し、エラーを報告しました:エラー:RPCが失敗しました; curl 18転送が閉じられ、未処理の読み取りデータが残っています。
インターネット上では、次のコマンドを実行してキャッシュを500Mの大きな値に設定すると言われています(コマンドは次のとおりです)。設定しましたが、ダウンロードが間違っているため、鳥が使用するものはありません。

git config --global http.postBuffer 524288000

次に、クローンを減らして–depth1を追加します。今回はダウンロードに成功しました。
–深さ1は、コピーの深さが1であることを意味します。つまり、各ファイルは、履歴バージョン全体ではなく、最新の送信のみを受け取ります。

git clone https://github.com/flutter/flutter.git --depth 1 

カフェをコンパイルする

caffeディレクトリとcdcaffe /ディレクトリを入力します。

次に、caffeディレクトリに付属しているMakefile.config.exampleファイルをコピーし、次のように名前をMakefile.configに変更します。

cp Makefile.config.example Makefile.config

次に、Makefile.configファイルを変更します

vim  Makefile.config

次の図に示すように、CPU_ONLYの前にある#記号を削除します。これは、CPUのみが使用されることを意味します。
ここに写真の説明を挿入
次に、構成オプションでincludeとlibのパスを変更し、HDF5のパスを追加します。
元の構成オプションは次のとおりです。

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 

HDF5パスを追加した後:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/

ここに写真の説明を挿入
構成ファイルのpython設定は変更されていません。デフォルトのpython2.7が使用されています。一部のオンラインではpython3.5を使用すると言われています。このバージョンはまだ試していません。
次に、コンパイルを開始します

sudo make all -j2
sudo make test -j2
sudo make runtest

下の図に示すように、カフェがコンパイルされたことを証明します。
注:実行結果が失敗した場合は、ステートメントsudo make cleanを実行してから、問題を解決して再コンパイルする必要があります。

ここに写真の説明を挿入
通常、このステップでは問題はありません。次のpythonインターフェイスをコンパイルするときに多くの問題があります。

Pythonインターフェースのコンパイル

CaffeにはPythonおよびC ++インターフェイスがあります。Pythonインターフェイスをより頻繁に使用します。ここで、pythonインターフェイスのコンパイルを開始します。
(1)ピップをインストールする

sudo apt-get install python-pip

(2)caffeルートディレクトリにはpythonフォルダがあり、フォルダには必要な依存ライブラリとバージョン情報を含むrequirements.txtがあります。それに応じてインストールするだけです。インストールする前に、fortranエディタをインストールする必要があります。 (gfrotran)、scipyライブラリをインストールするときに必要になるため、コマンドは次のようになります。

sudo apt-get install gfortran
cd ~/caffe/python
for req in $(cat requirements.txt); do pip install $req; done

$(cat Requirements.txt); do pip install $ req; doneコマンドでのreqの実装に注意してください。インストールするときは、ネットワーク速度が向上していることを確認する必要があります。インストールプロセス中にネットワークを変更し、携帯電話でホットスポットを構築しました。インストール、以前のネットワークはあまり良くありません。
$(cat required.txt); do pip install $ req;のforreqの実装中に、問題が発生しました。
pipのバージョンが8.1.1であることを示すプロンプトが表示され、アップグレードすることをお勧めします。そのため、次のコマンドを使用してpipをアップグレードします。

pip install --upgrade pip

アップグレード後、pip -Vを使用してバージョンを確認すると、別のエラーが発生しました:ImportError:名前mainをインポートできません。
オンライン情報を確認してください。解決策は次のとおりです
。pipファイルはusr / binディレクトリにあり、それにcdして、pipファイルを変更します。

cd /usr/bin
vim pip

次の変更を加え、次の3行を入力します

from pip import main
if __name__ == '__main__':
  sys.exit(main())

次の3行に置き換えます

from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())

次に、次のコマンドを再度実行します。

for req in $(cat requirements.txt); do sudo pip install $req; done

ただし、別のエラーが報告されました。エラーは次のとおりです。これは、python-dateutilのバージョンが正しくないことを示しています。

pandas 0.24.4 has requirement python-dateutil>=2.5.0, but you'll have 
python-dateutil 1.5 which is incompatible.
matplotlib 2.2.3 has requirement python-dateutil>=2.1, but you'll have 
python-dateutil 1.5 which is incompatible.

インストールされているpython-dateutilを表示する

root@ubuntu:~/caffe# apt  list python-dateutil 
Listing... Done
python-dateutil/xenial,xenial,now 2.4.2-1 all [installed,automatic]

元のファイルのバージョン制限を直接削除します

vim requirements.txt

python-dateutil> = 1.4、<2をpython-dateutilに変更
し、$(cat required.txt ); do sudo pip install $ req; doneのreqに対して再度実行します。今回は、最終的にインストールされます。
(3)次に、pythonの環境変数を変更します

vim ~/.bashrc

ファイルの最後に追加

export PYTHONPATH=/home/moqi/caffe/python:$PYTHONPATH

環境変数を有効にする:

source ~/.bashrc

pythonインターフェースをコンパイルする

cd ~/caffe/
make pycaffe

エラー:python / caffe / _caffe.cpp:10:3​​1:致命的なエラー:numpy / arrayobject.h:そのようなファイルまたはディレクトリはありません。ファイルnumpy /arrayobject.hが見つかりませんでした。

Makefile.configでPYTHON_INCLUDEを見つけます。

PYTHON_INCLUDE := /usr/include/python2.7 \
        /usr/lib/python2.7/dist-packages/numpy/core/include

ローカルを追加すると、次のようになります。

PYTHON_INCLUDE := /usr/include/python2.7 \
        /usr/local/lib/python2.7/dist-packages/numpy/core/include

その後、pycaffeを作るのは大丈夫です

やっと

以下に示すように、pythonインターフェイスが正常にインストールされていることを確認し、インストールが成功したことを示します。
ここに写真の説明を挿入
この時点で、仮想マシンubuntu16.04へのcaffe(cpuバージョン)のインストールは完了です。次の記事では、カフェの特定のルーチンの研究を開始します。

参照:
https //blog.csdn.net/qq_38784979/article/details/82811907

おすすめ

転載: blog.csdn.net/u014470361/article/details/99212233