热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Centos7安装caffe指导

Generaldependenciessudoyuminstallprotobuf-develleveldb-develsnappy-developencv-d

General dependencies

 
  

sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel

Remaining dependencies, recent OS

 
  

sudo yum install gflags-devel glog-devel lmdb-devel

Remaining dependencies, if not found

# glog
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/google-glog/glog-0.3.3.tar.gz
tar zxvf glog-0.3.3.tar.gz
cd glog-0.3.3
./configure
make && make install
# gflags
wget https://github.com/schuhschuh/gflags/archive/master.zip
unzip master.zip
cd gflags-master
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make && make install
# lmdb
git clone https://github.com/LMDB/lmdb
cd lmdb/libraries/liblmdb
make && make install
BLAS : install ATLAS by  sudo yum install atlas-devel  or install OpenBLAS or MKL for better CPU performance. For the Makefile build, uncomment and set  BLAS_LIB  accordingly as ATLAS is usually installed under  /usr/lib[64]/atlas ).

开始编译~

make all 

报错:

[root@**** caffe]# make all 

CXX/LD -o .build_release/tools/convert_imageset.bin
/bin/ld: cannot find -lcblas
/bin/ld: cannot find -latlas
collect2: error: ld returned 1 exit status

查了一下,是程序在我们配置的lib目录里找不到atlas的so文件,比对了一下ld命令的查找方式和我们已安装的atlas:

ld -latlas --verbose

显示查找路径如下:

==================================================
attempt to open /usr/x86_64-redhat-linux/lib64/libatlas.so failed
attempt to open /usr/x86_64-redhat-linux/lib64/libatlas.a failed
attempt to open /usr/lib64/libatlas.so failed
attempt to open /usr/lib64/libatlas.a failed
attempt to open /usr/local/lib64/libatlas.so failed
attempt to open /usr/local/lib64/libatlas.a failed
attempt to open /lib64/libatlas.so failed
attempt to open /lib64/libatlas.a failed
attempt to open /usr/x86_64-redhat-linux/lib/libatlas.so failed
attempt to open /usr/x86_64-redhat-linux/lib/libatlas.a failed
attempt to open /usr/local/lib/libatlas.so failed
attempt to open /usr/local/lib/libatlas.a failed
attempt to open /lib/libatlas.so failed
attempt to open /lib/libatlas.a failed
attempt to open /usr/lib/libatlas.so failed
attempt to open /usr/lib/libatlas.a failed
ld: cannot find -latlas

我看了一下我们安装的atlas,在/usr/lib64/atlas/下,内有这些so:

[root@*** caffe]# ll /usr/lib64/atlas
total 21304
lrwxrwxrwx 1 root root       17 Apr  6 04:38 libsatlas.so -> libsatlas.so.3.10
lrwxrwxrwx 1 root root       17 Mar 14 22:24 libsatlas.so.3 -> libsatlas.so.3.10
-rwxr-xr-x 1 root root 10852104 Nov 20  2015 libsatlas.so.3.10
lrwxrwxrwx 1 root root       17 Apr  6 04:38 libtatlas.so -> libtatlas.so.3.10
lrwxrwxrwx 1 root root       17 Mar 14 22:24 libtatlas.so.3 -> libtatlas.so.3.10
-rwxr-xr-x 1 root root 10959464 Nov 20  2015 libtatlas.so.3.10


我们安装的atlas的so库只有libsatlas和libtatlas两种,与caffe要的完全不匹配。

查了一些材料(https://www.centos.org/forums/viewtopic.php?t=48543),这个提问里有提到这个现象,在centOS7下,库名已改,引入方式也要改变:

Names and content of atlas libraries have changed recently. Try

-L/usr/lib64/atlas -lsatlas or -L/usr/lib64/atlas -ltatlas

instead of

-lcblas.   


但我并不想去修改caffe源码,担心引起连锁问题,且报错中并没有提示具体发生问题的文件。


解决方案

改用openblas:

yum install  openblas-devel

MakeFile.config配置如下:

BLAS := open
# Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
# Leave commented to accept the defaults for your choice of BLAS
# (which should work)!
#BLAS_INCLUDE := /usr/include/atlas
#BLAS_LIB := /usr/lib64/atlas

后续报错/lib64/libgtk-x11-2.0.so.0: undefined reference to `g_type_check_instance_is_fundamentally_a'

问题是因为没有安装包导致的:
centos下面:
运行:
yum groupinstall "Development Tools"
yum install gtk+-devel gtk2-devel


make all
make test
make runtest

一切顺利

make pycaffe时会有错误出现主要是一些必要的python包没有安装。

for req in $(cat caffe/python/requirements.txt); 

>do

>pip install $req;

>done

[root@caffe caffe-master]# make pycaffe
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: No such file or directory

 #include


vi Makefile.config 更改/usr/lib/python2.7/dist-packages/numpy/core/include 为/usr/lib64/python2.7/site-packages/numpy/core/include










推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 论文阅读:《Bag of Tricks for LongTailed Visual Recognition with Deep Convolutional Neural Networks》
    基于深度卷积神经网络的长尾视觉识别技巧包摘要近年来,挑战性长尾分布上的视觉识别技术取得了很大的进展,主要基于各种复杂的范式(如元学习)。除了这些复杂 ... [详细]
  • asp.net core 应用docke部署到centos7
    前言前期准备win10(不要安装hyper-V)VMware-Workstation-Pro15.0Xshell6(非必需)VS2019以上环境请自行安装都是默认安装没什么可说的不 ... [详细]
  • centos7.2下编译安装php7.1.3步骤教程centos7编译安装php-7.1.3的步骤在官网下载php-7.1.3的php压缩包,centos7安装php-7.1.3的 ... [详细]
  • Centos7下Mysql5.7的安装
    1:卸载自带的mysqlrpm-qa|grepmariadb卸载自带数据库:rpm-e--nodeps1、安装YUMRepo ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • SLAM优秀开源工程最全汇总
    https:zhuanlan.zhihu.comp145750808 1、CartographerCartographer是一个系统,可跨多个平台和传感器配置以2D和3D形式提供实 ... [详细]
  • >>>CentOS7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下1、直接关闭防火墙systemctlstopfirewalld.serv ... [详细]
  • centos7+cdh5.10.0搭建
    一、选择环境:1.说明本次部署使用台机器,3台用于搭建CDH集群,1台为内部源。内部源机器是可以连接公网的,可以提前部署好内部源,本次部署涉及到的服务器的hosts配置如下:192.168 ... [详细]
  • 之前有一篇文章介绍过在ubuntu下安装selenium和firefox现在介绍下centos7注意以下都是下载的linux64位的软件,32位的请自己找下链接,现在使用的python的版 ... [详细]
author-avatar
缅甸钻石国际开户集团
赌场开户热线:13378837779
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有