Проблема решена: Произошла ошибка, поскольку сборка кафе не была выполнена успешно.Я не рекомендую использовать команду sudo apt install caffe-cpu
(которая упоминается в официальном руководстве по установке caffe для Ubuntu);потому что это приведет к ошибке, как указано выше.Лучше установить из исходного кода.
Позвольте дать пошаговое руководство по успешной установке caffe в Ubuntu 18.04 LTS:
1] sudo apt-get install -y --no-install-recommends libboost-all-dev
2] sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev \ libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
3] git clone https://github.com/BVLC/caffe
cd caffe
cp Makefile.config.example Makefile.config
4] sudo pip install scikit-image protobuf
cd python
for req in $(cat requirements.txt); do sudo pip install $req; done
5] Изменить файл Makefile.config: Раскомментируйте строку CPU_ONLY := 1
и строку OPENCV_VERSION := 3
.
6] Найдите строку LIBRARIES
в Makefile и измените ее следующим образом:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5 \
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
7] make all
Теперь выможет появиться какая-то ошибка, подобная этой:
CXX src/caffe/net.cpp
src/caffe/net.cpp:8:18: fatal error: hdf5.h: No such file or directory
compilation terminated.
Makefile:575: recipe for target '.build_release/src/caffe/net.o' failed
make: *** [.build_release/src/caffe/net.o] Error 1
Чтобы устранить эту ошибку, выполните шаг 8.
8] install libhdf5-dev
Откройте Makefile.config, найдите строку, содержащую LIBRARY_DIRS
и добавьте /usr/lib /x86_64-linux-gnu/hdf5/serial
найдите INCLUDE_DIRS
и добавьте /usr/include/hdf5/serial/
(за этот ответ SO) повторно make all
9] make test
10] make runtest
11] make pycaffe
Теперь вы можете получить ошибку, подобную этой:
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target 'python/caffe/_caffe.so' failed
make: *** [python/caffe/_caffe.so] Error 1
Чтобы устранить эту ошибку, выполните шаг 12.
12] Найдите строку PYTHON_INCLUDE
в Makefile.config и внесите следующие изменения:
`PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/local/lib/python2.7/dist-packages/numpy/core/include`
13] Добавьте каталог модуля в наш $ PYTHONPATH, добавив эту строку в конец ~ /Файл .bashrc:
`sudo vim ~/.bashrc`
`export PYTHONPATH=$HOME/Downloads/caffe/python:$PYTHONPATH`
`source ~/.bashrc'
14] Готово.