Linux Mint: Ошибки при попытке установить interactive-deep-colorization

Данная статья может пригодится студентам, изучающим нейронные сети, поскольку многие ошибки возникают именно с модулями математики.

Сначала я все это делал на 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, все должно работать:
Linux Mint: Ошибки при попытке установить interactive-deep-colorization

Запускаем ideepcolor:

python ideepcolor.py --cpu_mode

Linux Mint: Ошибки при попытке установить interactive-deep-colorization

Часть информации по устранению косяков взял здесь.