应导师要求,在实验机上安装 Caffe ,并使用 GPU 加速。

查阅资料,hipCaffe 可实现 AMD GPU 加速,现记下我安装过程中遇到的问题及相应的解决方法

安装环境

  • 系统:ubuntu 18.04

  • CPU:Intel i3-9100

  • GPU:AMD Radeon rx580 2080sp

hipCaffe 安装

hipCaffe 官方文档

实验机使用 AMD 显卡,无法使用 caffe-cuda 版本。hipCaffe 可使用 GPU 实现加速。

安装 AMD ROCm

AMD ROCm 官方文档

按照官方文档进行安装。

安装依赖

安装Caffe依赖项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sudo apt-get install \
pkg-config \
protobuf-compiler \
libprotobuf-dev \
libleveldb-dev \
libsnappy-dev \
libhdf5-serial-dev \
libatlas-base-dev \
libboost-all-dev \
libgflags-dev \
libgoogle-glog-dev \
liblmdb-dev \
python-numpy python-scipy python3-dev python-yaml python-pip \
libopencv-dev \
libfftw3-dev \
libelf-dev

安装开发依赖项

1
sudo apt-get install git wget

安装 ROCm 计算库

1
sudo apt-get install rocm-libs miopen-hip miopengemm

编译

下载 hipCaffe 源码

1
git clone https://github.com/ROCmSoftwarePlatform/hipCaffe.git

编译

1
2
cd hipCaffe
cp ./Makefile.config.example ./Makefile.config

修改 Makefile.config 文件,OPENCV_VERSION := 3 处去除注释符号。然后编译。

1
make -j$(nproc)

hipCaffe 实例

采用官方文档实例:LeNet MNIST Turorial

准备数据集

1
2
3
cd hipCaffe
sh ./data/mnist/get_mnist.sh
sh ./examples/mnist/create_mnist.sh

更改训练模式

编辑 hipCaffe/examples/mnist/lenet_solver.prototxt

1
2
# solver mode: CPU or GPU
solver_mode: GPU

训练和测试模型

1
2
cd hipCaffe
./examples/mnist/train_lenet.sh

本机耗时不到1分钟后,训练完成,准确性 98.98% ,与此前 Caffe CPU 模式相比大幅减小耗时。

1
2
3
4
5
6
I1203 solver.cpp:84] Testing net
I1203 solver.cpp:111] Test score #0: 0.9898
I1203 solver.cpp:111] Test score #1: 0.0296162
I1203 solver.cpp:126] Snapshotting to lenet_iter_10000
I1203 solver.cpp:133] Snapshotting solver state to lenet_iter_10000.solverstate
I1203 solver.cpp:78] Optimization Done.