WSL Ubuntu 20.04 に Caffe をインストール

http://caffe.berkeleyvision.org/

システムパッケージ更新

1
2
3
4
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get autoremove --purge -y
reboot

必須パッケージインストール

1
2
3
4
5
6
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev
sudo apt-get install libopencv-dev libboost-all-dev libhdf5-serial-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libatlas-base-dev libopenblas-dev

OpenCV3インストール

https://docs.opencv.org/3.4.16/d7/d9f/tutorial_linux_install.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#必須パッケージ
sudo apt-get install cmake libgtk2.0-dev pkg-config
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev

#ダウンロード
cd /tmp
wget https://github.com/opencv/opencv/archive/3.4.16.zip

#解凍
unzip 3.4.16.zip
cd opencv-3.4.16

#ビルドインストール
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j8 && sudo make install

Caffeインストール

1
2
3
4
5
6
7
8
9
10
11
12
cd ~

#ダウンロード
wget https://github.com/BVLC/caffe/archive/refs/tags/1.0.zip

#解凍
unzip 1.0.zip
cd caffe-1.0

#Makefile修正
mv Makefile.config.example Makefile.config
nano Makefile.config

OpenCVバージョン変更

1
2
# Ver 2 -> 3
OPENCV_VERSION := 3

CUDA 11.4以降の場合3.5未満削除

1
2
3
4
5
6
CUDA_ARCH := -gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_60,code=sm_60 \
-gencode arch=compute_61,code=sm_61 \
-gencode arch=compute_61,code=compute_61

ATLASはマルチスレッドCPUを十分にサポートしていないため、行列演算ライブラリをOpenBLASに変更

1
BLAS := open

hdf5のヘッダー・ライブラリパス追加

1
2
3
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/hdf5/serial

ビルド、テスト、インストール

1
make all -j8 && make -j8 && make runtest -j8