私はpython3.6、ubuntu18.04、caffeで使用されるCPUバージョンを使用します
1.依存関係をインストールします
追記:ここでは、ネットワークの問題によるダウンロードの失敗を防ぐために、最初にapt-getソースとpipソースを国内ソースに置き換えることに注意する必要があります。
また、国内ソースを変更した場合でも、sudo apt-getコマンドを実行するたびに、ダウンロードとインストールの失敗のプロンプトが表示されるかどうかを確認する必要があります。
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev #这里可能出错,不要紧先这么做
sudo apt-get install python3-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install python3-opencv
2.カフェをダウンロードする
git clone git://github.com/BVLC/caffe.git
3.caffeの下のファイルMakefile.configを変更します
cd caffe //切换到caffe所在文件夹
cp Makefile.config.example Makefile.config //备份Makefile.config文件
gedit Makefile.config //编辑Makefile.config文件
/***修改 Makefile.config***/
/*
1. 去掉CPU_ONLY :=1的注释
2. 注释掉CUDA有关的行:
#CUDA_DIR := /usr/local/cuda
#CUDA_DIR := /usr
#CUDA_ARCH := ....
#TEST_GPUID := 0
3. 去掉WITH_PYTHON_LAYER := 1的注释
4. 修改这一行:
修改原因 :在安装hdf5的使用使用的是 sudo apt-get libhdf5-serial-dev
# Whatever else you find you need goes here.
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
/usr/lib/x86_64-linux-gnu/hdf5/serial
*/
Makefile.configファイルでは、チュートリアルでコメント化されるCUDA関連の行に加えて、
コメントを外しました
CPU_ONLY :=1
OPENCV_VERSION :=3
そして、次の変更を加えました。
2.7のインクルードパスをコメントアウトします
# PYTHON_INCLUDE :=/usr/include/python2.7\
python3.6に切り替えます
PYTHON_LIBRARIES := boost_python3 python3.6m
PYTHON_INCLUDE :=/usr/include/python3.6m \
# /usr/lib/python3.6/dist-packages/numpy/core/include
4.caffeの下のファイルMakefileを変更します
gedit Makefile
/*
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
后面加入 opencv_imgcodecs
找到
LIBRARIES +=glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
更改最后两项为:
LIBRARIES +=glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
修改原因 :在安装hdf5的使用使用的是 sudo apt-get libhdf5-serial-dev
*/
見つからない場合:hdf5_serial_h1、LIBRARIESを変更する必要はありません。そのままにしてください。
5.カフェをコンパイルします
//遇到错误时,需要重新编译,则先make clean
make all
Make test
make runtest
6.pycaffeをインストールします
6.1インストール
追記:ここでは、ネットワークの問題によるダウンロードの失敗を防ぐために、最初にapt-getソースとpipソースを国内ソースに置き換えることに注意する必要があります。
また、国内ソースを変更した場合でも、sudo apt-getコマンドを実行するたびに、ダウンロードとインストールの失敗のプロンプトが表示されるかどうかを確認する必要があります。
Cython>=0.19.2
numpy>=1.7.1
scipy>=0.13.2
scikit-image>=0.9.3
matplotlib>=1.3.1
ipython>=3.0.0
h5py>=2.2.0
leveldb>=0.191
networkx>=1.8.1
nose>=1.3.0
pandas>=0.12.0
python-dateutil>=1.4,<2
protobuf>=2.5.0
python-gflags>=2.0
pyyaml>=3.10
Pillow>=2.3.0
six>=1.1.0.
安装以上依赖库
cd caffe/python
for req in $(cat requirements.txt); do pip install $req; done
或者
sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython
sudo apt-get install protobuf-c-compiler protobuf-compiler
6.2PYTHONPATHを追加する
sudo gedit /etc/profile
export PYTHONPATH=$PYTHONPATH:/home/XXX/caffe/python:$PYTHONPATH # xxx为用户名
使上述更改生效
source /etc/profile
6.3コンパイル
cd ~/caffe
make pycaffe
6.4テスト
python3
import caffe
//按ctrl+d可退出python
7.質問の要約:
テスト中にcaffeモジュールが見つからない場合は、次のように、caffe / pythonをシステムパスに追加する必要があります。
import sys #引入sys模块
sys.path #显示当前系统包含的路径信息
sys.path.append("/home/xxx/caffe/python") #将你下载的caffe文件夹内的python添加到系统路径
#sys.path.insert(0, "/home/xxx/caffe/python") 也是可以的
致命的なエラーが発生した場合:boost / shared_ptr.hpp:そのようなファイルまたはディレクトリはありません。エラーの理由は、依存関係が少ないため、次のコマンドを実行します。
sudo apt-get install --no-install-recommends libboost-all-dev
発生した場合:インストールプロセス中にソフトウェアパッケージが見つからないという問題がある場合は、以下を実行します。
sudo apt-get update
見つからない場合:hdf5_serial_h1、セクション(4. caffeの下のファイルMakefileを変更する)のLIBRARIESを変更する必要はありません。そのままにしてください。
コンパイルが失敗した場合は、caffeを削除して手順1からやり直すか、変更したMakefile.configファイルを削除して再度変更することができます。
- さらに、opencv3.4.10が以前にインストールされ、libopencv-devのバージョンが3.2であったため、競合が発生し、caffeのコンパイルが失敗しました。ここでは、最初にopencv3.4をアンインストールし、最初にcaffeをインストールするだけです。