主页
FPGA培训
关于平台
企业孵化
峰会大赛
展厅预约
FPGA知识库
联系我们
登录 注册
首页 > 技术文章 > AccDNN-Caffe的编译和使用
AccDNN-Caffe的编译和使用
来源: 2021-07-20 22:18

AccDNN-Caffe

的编译和使用

 

 


 

在IBM开源的AccDNN(https://github.com/IBM/AccDNN )工具链当中,需要使用Caffe作为深度学习框架。和其他的深度学习框架不一样的是,Caffe并没有提供预编译的whl或者egg安装包,也无法通过pip或者pip3进行安装,因此,使用Caffe需要完全的手动编译。Caffe的编译(Centos7)过程如下:

 
 

<section NO.1 安装依赖库


由于atlas的版本在Centos7上比较高,而Caffe的代码当中存在一些固定的依赖关系,因此,需要对atlas的动态链接库进行部分的修改。

 

NO.2 下载代码

 
 

NO.3 安装python的依赖关系

由于Caffe的python依赖关系需要通过pip安装,出于系统安全的考虑,最好使用virtualenv的方式,安装Caffe的依赖关系,并进行Caffe的编译和使用。

 
 

NO.4 准备Caffe的Makefile配置文件

然后根据需要进行修改。

如果是编译CPU版本的Caffe,需要修改如下的代码:

设置blas的类型和头文件以及链接库

设置python的头文件

设置完成之后,整个Makefile.config大致的样子应当如下:

 
 

NO.5 编译Caffe

如果一切正常,在Caffe的目录下,应当有如下的文件夹出现

出现上述的结果,表示Caffe编译成功。

 
 

NO.6 验证Caffe的使用

由于Caffe是直接编译的,并不是通过pip或者rpm安装的,因此,需要设置一些环境变量,特别是Caffe的动态链接库。

设置完毕之后,验证Caffe是否正常

表明Caffe编译没有任何问题,可以直接使用 

 
 

NO.7 注意事项

①Caffe目前支持最好的是Python2.7版本,Python3.x版本支持并不是很好。在编译Python3.x的Caffe时,编译过程正常,但是,很有可能在使用的时候出现类似如下的错误:

这种错误按照官网的说法是protobuf的版本问题,需要升级到protobuf3.2版本以上,不过目前尝试了一下,似乎升级之后还是会出现这个问题,暂时没有找到好的解决方法

 

②使用Caffe前的一些环境变量的操作,可以直接写入到/etc/profile或者~/.bashrc当中

 

③Caffe最好是在容器或者virtualenv当中运行,这样不会导致系统的库文件混乱。