#c #caffe #ubuntu-18.04
#python #глубокое обучение #caffe
Вопрос:
У меня возникли проблемы при установке Caffe Deep Learning Framework на Python:
Когда я запускаю make
команду в каталоге caffe, она говорит
hdf5.h: такого каталога нет
Шаги, которые я выполнил:
-
Обновите мой сервер Ubuntu
-
Установите Python 2.7
-
Наличие всех зависимостей, основанных на http://caffe.berkeleyvision.org/install_apt.html
-
Запустите cp cp Makefile.config.пример Makefile.config
-
Раскомментируйте cpu_only = 1 в Makefile.config
Я буду благодарен, если кто-нибудь сможет мне помочь.
Сообщение об ошибке:
CXX src/caffe/util/hdf5.cpp
in file include from src/caffe/util/hdf5.cpp:1:0:
./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory
compilation terminated
Makefile:572 recipe for target '.build_release/src/caffe/util/hdf5.o'
failed Make:*** [.build_release/src/caffe/util/hdf5.o] Error 1
Комментарии:
1. добро пожаловать в SO. пожалуйста, не публикуйте скриншоты, а скорее скопируйте-вставьте (и отформатируйте) сообщение об ошибке к вашему вопросу: таким образом, поисковые системы смогут лучше найти эту тему в будущем.
2. вы установили hdf5? посмотрите на caffe.berkeleyvision.org/install_apt.html :
sudo apt-get install libhdf5-serial-dev
3. о, извините за это, я новичок, я изменю скриншоты. спасибо, что уведомили меня. да, я уже установил hdf5.
4. Есть ли у вас
hdf5.h
где-нибудь в вашей системе? Попробуйте команду типаlocate hdf5.h
, чтобы узнать, где она находится, и опубликуйте это здесь.5. привет, я пытаюсь написать
locate hdf5.h
, как вы предлагаете, в моем терминале Ubuntu, но ничего не происходит. итак, я запускаю другой комментарий,find ~/ -type f -name "hdf5.h"
и результат/home/kelvin/opencv-3.1.0/modules/flann/include/opencv2/flann/hdf5.h
. Спасибо
Ответ №1:
Какая версия вашей установки Ubuntu? Попробуйте это. В вашей Makefile.config
попытке добавить /usr/include/hdf5/serial/
к INCLUDE_DIRS
:
--- INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
и переименуйте hdf5_hl
и hdf5
в hdf5_serial_hl
и hdf5_serial
в Makefile
:
--- 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
Подробнее об исправлении ошибки здесь.
Комментарии:
1. извините за мой поздний ответ, спасибо за вашу помощь, я уже исправил проблему, переместив мой hdf5 в каталог.
2. Спасибо. Это экономит мне время!
3. Это решение, которое сработало для меня! Большое спасибо!
4. Этот ответ действительно является лучшим решением (т. Е. Вместо перемещения каталога hdf5.) @kelvin : Не могли бы вы отметить этот ответ как правильный?
5. Это работало в Ubuntu 18.04 без добавления части БИБЛИОТЕК.
Ответ №2:
Это решение сработало для меня на Ubuntu16.04LTS
sudo apt-get install libhdf5-10
sudo apt-get install libhdf5-serial-dev
sudo apt-get install libhdf5-dev
sudo apt-get install libhdf5-cpp-11
find /usr -iname "*hdf5.h*"
/usr/include/hdf5/serial/hdf5.h
export CPATH="/usr/include/hdf5/serial/"
Комментарии:
1. У меня тоже сработало!
2. У меня сработало три!
3. просто
sudo apt-get install libhdf5-10 libhdf5-serial-dev
сработало для меня
Ответ №3:
Еще один случай, с которым я столкнулся с:
Я использовал Ubuntu 14.04 и устанавливал hdf5-1.10.0.
Я обнаружил, что hdf5.h
он находится в /usr/local/hdf5/include
. Таким образом, я изменил Makefile.config
файл, добавив это местоположение в INCLUDE_DIRS
.
# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
/usr/local/hdf5/include
Я ничего не переименовывал в Makefile
. Это сработало нормально.
Ответ №4:
У меня это не сработало на Ubuntu16.04 LTS.
Так что мне пришлось
sudo apt-get install libhdf5-10
sudo apt-get install libhdf5-serial-dev
sudo apt-get install libhdf5-dev
sudo apt-get install libhdf5-cpp-11
find /usr -iname "*hdf5.h*"
/usr/include/hdf5/serial/hdf5.h
Теперь сделайте это
export CPATH="/usr/include/hdf5/serial/"
Ответ №5:
На RHEL7 я устал искать определенные hdf5
обороты и запустил:
sudo yum install *hdf5*
и это то, что у меня есть:
hdf5-openmpi3-static-1.8.12-11.el7.x86_64
hdf5-1.8.12-11.el7.x86_64
hdf5-openmpi-static-1.8.12-11.el7.x86_64
hdf5-openmpi3-devel-1.8.12-11.el7.x86_64
hdf5-openmpi3-1.8.12-11.el7.x86_64
hdf5-mpich-devel-1.8.12-11.el7.x86_64
hdf5-devel-1.8.12-11.el7.x86_64
hdf5-openmpi-devel-1.8.12-11.el7.x86_64
hdf5-mpich-static-1.8.12-11.el7.x86_64
hdf5-mpich-1.8.12-11.el7.x86_64
hdf5-openmpi-1.8.12-11.el7.x86_64
Благодаря @loretoparisi я смог выяснить, где у меня отсутствовал файл заголовка, и проблема исчезла.
$ find /usr -iname "*hdf5.h*"
/usr/include/openmpi-x86_64/hdf5.h
/usr/include/hdf5.h
/usr/include/mpich-x86_64/hdf5.h
/usr/include/openmpi3-x86_64/hdf5.h