有些时候,需要在python3的环境下import caffe,需要用vs2015在python3的环境下,编译pycaffe。

microsoft的windows版本的caffe,依赖的库NugetPackages,是基于vs2013,python2.7编译的,编译的pycaffe在python3的环境下不能用。

用vs2015编译caffe,网上有两种方法,

一,编译用cmake编译BVLC版本的caffe,看起来比较复杂,没有尝试。

二,编译happynear(峰神)版本的caffe,第三方库,有网友已经编译好了。

本文采用的第二种思路。

参考博客:https://blog.csdn.net/xingchenbingbuyu/article/details/72765612

用vs2015在happynear版本的caffe上编译。

下载caffe源码,happynear版本的caffe,王峰大神修改后的caffe源码。

https://github.com/happynear/caffe-windows

该网页中,峰神分享了第三方库,其中有一些库,是基于python2.7编译的。

有网友分享了一份基于python3编译的第三方库,

https://github.com/happynear/caffe-windows/issues/262

该第三方库的链接:

https://pan.baidu.com/s/1o_qGgZQ0M5Z06TuEQxkF2g icsq

将这些库复制到caffe_root/windows/thirdparty中,

我的电脑上没有gpu,所以编译的是cpu版本的caffe

修改CommonSettings.props这个配置文件,

编译cpu模式的时候,

将这一行去掉,要不然会报错,找不到cufft.lib的文件

用vs2015打开这个caffe解决方案,

编译libcaffe,caffe,基本没有啥问题。主要的问题出现在编译pycaffe上。

首先需要配置一下,python的环境

开始的时候,我用python3.5的环境编译的pycaffe,报错找不到python3.6.lib。

以为是python的环境没有配置,导致找不到库文件。重新配置python路径,编译了好几次,都在编译pycaffe的时候,失败,找不到python36.lib。

猜测,可能是下载的第三方库,是基于python3.6编译的。

在conda配置了一个python3.6的环境,py36

Prefix path:    D:\Anaconda3\envs\py36\

Interpreter path: D:\Anaconda3\envs\py36\python.exe

Windowed interpreter: D:\Anaconda3\envs\py36\pythonw.exe

Library path: D:\Anaconda3\Lib

Language version: 3.5     这个选项中最高的就是3.5,没有3.6,就选了个3.5,貌似不影响最后的编译。

依次编译libcaffe,caffe,pycaffe,编译成功。

在python中import caffe

将caffe_root\Build\x64\Release\pycaffe路径下的caffe文件夹拷贝到py36/Lib/site-packages中。

即可在python3.6的环境下import caffe

不需要将..\caffe_root\Build\x64\Release 的路径添加到环境变量中,也可import caffe

因为生成的pycaffe/caffe中包含了一些dll文件。

vs2015编译caffe的更多相关文章

  1. win10+vs2015编译caffe的cpu debug版本、部署matcaffe

    一.编译caffe 1.安装python-3.5.2-amd64.exe https://www.python.org/ftp/python/3.5.2/python-3.5.2-amd64.exe ...

  2. 实践详细篇-Windows下使用VS2015编译安装Caffe环境(CPU ONLY)

    学习深度学习背景 最近在做一款抢票软件,由于12306经常检测账号状态,抢票抢着抢着就需要重新登录了,然后登录是需要验证码的.所以我最开始是想到了使用java基于感知哈希算法pHash做相似度匹配识别 ...

  3. 实践详细篇-Windows下使用VS2015编译的Caffe训练mnist数据集

    上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下 ...

  4. caffe搭建--caffe- win10 vs2015 编译(支持GPU)--注意在cmake的时候需要根据情况仔细修改配置

    --http://blog.csdn.net/longji/article/details/60964998 注意: 在cmake的时候需要根据情况仔细修改配置,比如,如果gpu的能力不足3.0的话, ...

  5. 使用vs2015编译、部署ssd-caffe(weiliu89版,CPU模式)

    前因项目所需,须训练一个快速模型以实现目标物体的实时检测.历经多次实践,发现MobileNetSSD网络符合要求,故在本人工作PC上部署weiliu89版本的ssd-caffe以期用之训练项目要求之模 ...

  6. VS2015编译boost1.62

    VS2015编译boost1.62 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有 ...

  7. VS2015编译Qt5.7.0生成支持XP的静态库(很不错)

    一.编译工具 1.VS2015 编译Qt5.7.0的所需VS版本:Visual Studio 2013 (Update1)或Visual Studio 2015 (Update2).因为Update补 ...

  8. ubuntu14.04下安装cudnn5.1.3,opencv3.0,编译caffe及配置matlab和python接口过程记录

    已有条件: ubuntu14.04+cuda7.5+anaconda2(即python2.7)+matlabR2014a 上述已经装好了,开始搭建caffe环境. 1. 装cudnn5.1.3,参照: ...

  9. ubuntu下编译caffe

    Ubuntu下编译caffe 纯粹是个人编译的记录.不用CUDA(笔记本是amd卡,万恶的nvidia):不手动编译依赖包(apt-get是用来干啥的?用来直接装二进制包,以及自动解决依赖项的) ca ...

随机推荐

  1. jmeter压测mysql报can not be represented as java.sql.Timestame错误解决方法

    JDBC Request  测试mysql时报以下问题? jmeter报错信息: 解决方法: 在数据库url后拼接上字符串?characterEncoding=utf8&zeroDateTim ...

  2. MySQL实用基本操作

    本博客写是装好Mysql并配好环境变量后的基本操作(windows10系统下)且都是黑框内的操作. 一.登陆MySQL 首先启动服务,在桌面左下角图标处点击右键Windows PowerShell(管 ...

  3. Linux启动顺序、运行级别及开机启动

    一.启动顺序 当我们经过BIOS引导,并选择了Linux作为准备引导的操作系统后,接下来的执行顺序如下:1.加载并执行内核 第一个被加载的东西就是内核.然后把内核在内存中解压缩,就可以开始运行了.2. ...

  4. scanf函数的返回值

    #include <stdio.h> int main() { ]; ]); printf("%d\n", n); ; } 此刻注意scanf函数里面的格式限定,该代码 ...

  5. 201901<<叶武滨时间管理100讲>>

    2019年1月份读物整理: 1月份,在喜马拉雅上听的这个课程叶武滨时间管理100讲,每天利用上下班时间听完的,对其中的一些讲的点很有感触.今年的读书计划,希望自己能把读的每本书都用思维导图的方式整理出 ...

  6. CentOS 7 安装配置KVM 通过KVM安装CentOS系统

    搭建环境 : CentOS 7 [root@KVM ~]# systemctl stop firewalld [root@KVM ~]# systemctl disable firewalld [ro ...

  7. day18 python之re模块与正则表达式

    正则表达式 正则表达式,就是匹配字符串内容的一种规则. 官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串 ...

  8. ldd ldconfig

    ldd - print shared object dependencies ldconfig 主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目 ...

  9. golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题

    golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题 下面这个程序运行的能num结果是什么? package main import ( "fmt" " ...

  10. AI时代学习新的技术,方向为计算机视觉--欢迎来我的简书blog拔草

    2017-09-01 19:29:33 简书blog: https://www.jianshu.com/u/973c8c406de7