Данная статья может пригодится студентам, изучающим нейронные сети, поскольку многие ошибки возникают именно с модулями математики.
Сначала я все это делал на Linux Mint, но, поскольку инструкция идет для Ubuntu, установил Ubuntu (хотя можно было просто сразу поставить Linux Mint x64, т.к. в версии 32 бита при запуске программы не хватило памяти — 2GB), и все пришлось повторять…
При попытке собрать проект нейронных сетей Interactive Deep Colorization с помощью make all, получаю ошибку:
PROTOC src/caffe/proto/caffe.proto CXX .build_release/src/caffe/proto/caffe.pb.cc CXX src/caffe/layer_factory.cpp In file included from ./include/caffe/util/math_functions.hpp:11:0, from ./include/caffe/layer.hpp:12, from src/caffe/layer_factory.cpp:8: ./include/caffe/util/mkl_alternate.hpp:14:19: fatal error: cblas.h: No such file or directory compilation terminated. Makefile:581: recipe for target '.build_release/src/caffe/layer_factory.o' failed make: *** [.build_release/src/caffe/layer_factory.o] Error 1
Устанавливаем OpenBLAS:
sudo apt-get install libopenblas-dev
Повторяем сборку, получаем новую ошибку:
CXX src/caffe/layer_factory.cpp CXX src/caffe/parallel.cpp CXX src/caffe/solvers/rmsprop_solver.cpp CXX src/caffe/solvers/sgd_solver.cpp In file included from src/caffe/solvers/sgd_solver.cpp:5:0: ./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory compilation terminated. Makefile:581: recipe for target '.build_release/src/caffe/solvers/sgd_solver.o' failed make: *** [.build_release/src/caffe/solvers/sgd_solver.o] Error 1
Тут придется сделать немного больше:
1. Ищем путь к файлу:
denis@denis-VirtualBox:~/caffe$ find /usr -iname "*hdf5.h*" /usr/include/hdf5/serial/hdf5.h /usr/include/opencv2/flann/hdf5.h
Выбираем первый путь:
export CPATH="/usr/include/hdf5/serial/"
Теперь все компилируется, но после долгой компиляции опять получаем ошибку:
/usr/bin/ld: cannot find -lhdf5_hl /usr/bin/ld: cannot find -lhdf5 /usr/bin/ld: cannot find -lopencv_imgcodecs /usr/bin/ld: cannot find -lcblas /usr/bin/ld: cannot find -latlas collect2: error: ld returned 1 exit status Makefile:572: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1
Ставим libtool чтобы исправить проблемы с библиотеками:
sudo ln -s /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.10.1.0 /usr/lib/x86_64-linux-gnu/libhdf5.so
и еще одна:
sudo ln -s /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.10.0.2 /usr/lib/x86_64-linux-gnu/libhdf5_hl.so
После этого должна остаться только одна ошибка:
usr/bin/ld: cannot find -lopencv_imgcodecs
Не знаю, что с ней делать, все перепробовал, ничего не помогло, поэтому просто закомментировал строку в файле Makefile.config:
# Uncomment if you're using OpenCV 3
# OPENCV_VERSION := 3
Теперь, если запустить тест make runtest, все должно работать:
Запускаем ideepcolor:
python ideepcolor.py --cpu_mode
Часть информации по устранению косяков взял здесь.
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024
- VSCode: Найти и удалить элементы xml - 29.10.2024
- WordPress: Ошибка в плагине WpDiscuz - 08.10.2024