学习内容
本文主要学习在linux操作系统下的caffe框架的搭建和基本配置。
开发环境
ubantu16.04 VMwave
caffe介绍
Caffe 完全开源,并且在有多个活跃社区沟通解答问题,同时提供了一个用于训练、测试等完整工具包,可以帮助使用者快速上手。此外 Caffe
还具有以下特点: 模块性:Caffe 以模块化原则设计,实现了对新的数据格式,网络层和损失函数轻松扩展。 表示和实现分离:Caffe
已经用谷歌的 Protocl Buffer定义模型文件。使用特殊的文本文件 prototxt 表示网络结构,以有向非循环图形式的网络构建。
Python和MATLAB结合: Caffe 提供了 Python 和 MATLAB 接口,供使用者选择熟悉的语言调用部署算法应用。 GPU
加速:利用了 MKL、Open BLAS、cu BLAS 等计算库,利用GPU实现计算加速。
caffe开发流程
caffe框架相对于TensorFlow等其他的主流开源框架相比最大的优点就是无需进行编写代码,开发者只需要对自己配置训练的框架结构熟悉即可完成相应的神经网络的框架构建。
对于caffe框架来说,完成训练需要进行以下步骤:
- 预处理数据(可以编写脚本运行进行预处理)
- 定义网络结构(可以通过编写protext文件进行结构设置)
- 定义solver参数(在配置完网络结构时,可以在solver参数配置文件中进行参数的配置)
- 训练(运行脚本即可完成)
caffe环境安装配置
首先要在自己的linux操作系统下安装所需要的依赖库:
在终端中输入以下命令。
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev
sudo apt-get install libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
安装完成后下载并安装caffe:
从 GitHub 上下载 Caffe: https://github.com/BVLC/caffe
。 也可以输入以
下命令来下载。
sudo git clone https://github.com/BVLC/caffe.git
配置 Makefile.config 文件:
解压完成之后,对应文件夹中有 Makefile.config.example 文件,是 Caffe自带的 Makefile 的例子,复制这个文件并重命名为 Makefile.config,这里采用 cpu 训练,因此配置的时候需要取消掉 CPU_ONLY := 1这一行的注释。
如果没有安装vim 可以使用 pip 进行安装vim
并在这个文件做一下更改:
修改成下面的路径:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/lib/x86_64-linux-gnu/hdf5/serial /usr/local/lib /usr/lib
完成上述操作后可以进行编译caffe。make all
或者make all -j4
(四核)
编译成功后,在 Caffe 根目录下会出现一个 build 文件夹,打开之后再打
开 tools 文件夹,会得到下面的文件:
之后编译 test 文件下的源码,输入以下命令。
make test
make runtest
caffe环境测试
完成上述操作后即成功安装 Caffe。然后使用cifar10进行测试,可以使用下述命令进行下载:./data/cifar10/get_cifar10.sh
或者在caffe/data/cifar10/ 把cifar10的相关内容解压放置到该路径。这里可以使用共享文件夹在win下把压缩包下载,然后在caffe/data/cifar10/解压缩,得到以下文件:
将 examples/cifar10/cifar10_quick_solver.prototxt 中的 GPU改为 CPU;这里为了方便测试最大训练次数修改为500
将examples/cifar10/cifar10_quick_solver_lr1.prototxt中的GPU改为CPU;这里为了方便测试最大训练次数修改为500
依次输入以下指令:
/examples/cifar10/create_cifar10.sh
./examples/cifar10/train_quick.sh
即可进行训练,出现以下过程则说明训练正常,配置成功可用。
pycaffe 环境设置
Caffe 训练及测试时会用到 python 接口,下面进行pycaffe接口配置:
首先还是安装库:
sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn
python3-pip python-pip
sudo apt-get install python-skimage
sudo apt-get install python-h5py python-protobuf python-leveldb python-networkx pythonnose python-pandas python-gflags
sudo pip install Cython ipython
在命令行输入以下命令,
cd caffe
make pycaffe
即可开始编译 python 接口。
caffe的目录终端中输入:vim /etc/profile
在/etc/profile 文件的最后一行中添加环境变量:
export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
如下图所示:
之后输入source /etc/profile
命令, 使之生效。
然后在终端中移动到python目录下cd python
,然后键入python
在 python 中输入:
import caffe
若结果如下图所示,则 可以正常包括caffe python 接口配置成功。
环境安装中可能遇到的问题
ImportError: No module named typing
无法更新pip,并在更新时报错,可以依次进行以下操作进行更新解决。
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
python get-pip.py
pip install upgrade
VMware下 Ubuntu 看不到共享文件夹之解决办法
在Ubuntu系统中的共享文件夹的路径为:/mnt/hgfs/
我们要经常使用win和linux进行文件传输时,可以建立一个类似桌面快捷方式的文件夹进行访问。
命令:ln -s [共享文件夹在ubantu的路径] ~/桌面/你自己创立的文件夹的名字
sudo ln -s /mnt/hgfs/共享文件夹名字/ ~/Desktop/你自己创立的文件夹的名字
解决sys.stderr.write(f“ERROR: {exc}“)
解决方法为重新升级安装一次 pip,如下:
wget https://bootstrap.pypa.io/pip/3.5/get-pip.py
python3 get-pip.py
解决出现”No module named _caffe”的错误
可在caffe目录下尝试重新输入以下命令:
make clean
make pycaffe
转载:https://blog.csdn.net/weixin_41445387/article/details/117327941