ubuntu16.04 安装caffe

news/2024/6/17 3:36:19 标签: 人工智能, python, matlab

主要部分参考博客链接为:https://www.cnblogs.com/xuanxufeng/p/6150593.html

make clean # 清理上次编译错误记录

make all -j8   #-j8是根据电脑配置,若低版本可用-j4

遇到错误如下:

1.

解决方案:本机环境为caffe9.0,Python3.6     sudo gedit makefile.config中,删除-gencode arch=compute_35,code=sm_20 \

                                    -gencode arch=compute_35,code=sm_21 \

2.

因为我们在安装caffe之前,安装Anaconda或tensorflow时都已经安装过libprotobuf,查看protoc 版本:

conda uninstall libprotobuf

3.找不到boost_python3

CXX examples/cifar10/convert_cifar_data.cpp
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
/usr/bin/ld: 找不到 -lboost_python3
collect2: error: ld returned 1 exit status
Makefile:585: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1

 

在caffe编译配置文件Makefile.config里面的PYTHON_LIBRARIES := boost_python3 python3.6m 一行中,找不到boost_python3造成的。

有人修改Makefile 文件(注意不是)Makefile.config 
将里面的
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5

改为LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial但对于我来说不好用。

下面是参考的另一个:https://blog.csdn.net/u012505617/article/details/88556621

若使用的是Python3.5
进入/usr/lib/x86_64-linux-gnu/ 下,查看有没有libboost_python-py3.5.so,如果有链接一下就可以了

sudo ln -s libboost_python-py3.5.so libboost_python3.so

若为python3.6,需要自己编译libboost_python-py3.6.so 文件,方法如下

  下载 boost_1_67_0.tar.gz:

    # 进入文件夹

  1. cd boost_1_67_0/
  2.   # 生成 .so 文件 
  3. ./bootstrap.sh --with-libraries=python --with-toolset=gcc
  4.  ./b2 --with-python include="/home/ubuntu/anaconda3/include/python3.6m"

在boost_1_67_0文件夹的stage/lib下可以找到libboost_python3.6.so

  复制:[home/ubuntu/caffe/是你的下载文件所在目录]
  sudo cp /home/ubuntu/caffe/boost_1_67_0/stage/lib/libboost_python36.a /usr/lib/x86_64-linux-gnu/libboost_python-py36.a
  sudo cp  /home/ubuntu/caffe/boost_1_67_0/stage/lib/libboost_python36.so /usr/lib/x86_64-linux-gnu/libboost_python3.so

  链接:
  sudo ln -s libboost_python36.so libboost_python3.so
  sudo ln -s libboost_python36.a libboost_python-py36.a       完成!!!

 

编译caffe:

make all
make test
make runtest

pythonmatlab下使用caffe:
make pycaffe
make matcaffe

转载于:https://www.cnblogs.com/suilixue/p/10901145.html


http://www.niftyadmin.cn/n/1719851.html

相关文章

Pyhon从入门到致命

第一章 基础 1.python2和python3的区别 2.数据类型 2.1 int 整型 2.2 str 字符串不可变类型 2.3 bool 布尔类型 2.4 list 列表 2.5 tuple 元祖 2.6 dict 字典 2.7 set 集合 2.8 数据类型公共方法 2.9 条件判断 2.10 循环 2.11 运算符 3.内存相关 4.深浅拷贝 5.文件操作 第二章 …

c#Task的使用

一.使用场景(在进行一项操作时,需要客户等待,可以增加一个加载条,实例代码如下) 1.添加一个load窗体: 2.添加控件:progressBar 3.修改属性: 2.在需要客户等待的地方增加如下代码 Task task new…

DDD实战进阶第一波(十四):开发一般业务的大健康行业直销系统(订单上下文应用服务用例与接口)...

DDD实战进阶第一波(十四):开发一般业务的大健康行业直销系统(订单上下文应用服务用例与接口) 原文:DDD实战进阶第一波(十四):开发一般业务的大健康行业直销系统(订单上下文应用服务用例与接口)上一篇文章我…

5.21学习打卡

链式串 1 #define MaxSize 100 //顺序栈的初始分配空间大小2 3 4 typedef struct {5 6 int data[MaxSize];7 //保存栈中的元素8 int top;9 //栈顶指针 10 }SqStack; 11 12 //初始化栈 13 void InitStack(SqStack *st){ 14 st (SqStack* )malloc(sizeo…

Java中的构造函数——通过示例学习Java编程(14)

作者:CHAITANYA SINGH 来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid25 构造函数是用来初始化新创建的对象的代码块。构造函数类似于java中的实例方法(Instance Method),但它不是一个方法(Me…

Beta 冲刺随笔汇总

作业要求 这个作业属于哪个课程软件工程1916-W(福州大学)这个作业要求在哪里项目Beta冲刺(团队)团队名称基于云的胜利冲锋队作业目标汇总随笔团队信息 团队名称:基于云的胜利冲锋队成员信息队员学号队员姓名个人博客地址备注221500201孙文慈h…

《人月神话》读书笔记(一)

人月指工作量单位,即人力(人)和时间(月),若3个人花2个月完成项目则工作量为6人月。人月神话意味着人月是具有欺骗性质的,因为它暗示人员数量和时间是可以相互替换的,但实际上人月之间的平衡不是线性关系,5个人2个月完成…

PAT(B) 1020 月饼(Java)

题目链接:1020 月饼 (25 point(s)) 分析 将月饼(库存量,总售价,单价)封装成MoonCake类Scanner会超时,用BufferedReader类读取数据 读取的时候用字符串数组保存,见input()方法将读取的字符串转成…