caffe环境的搭建一直是让我最头疼的,最近在Windows10上成功搭建了caffe,在此对搭建过程进行记录。

安装主要是按照caffe github上的安装说明进行的,caffe的github主页中readme中有window caffe,是针对windows的安装说明。

因为caffe框架有很多依赖环境,所以要首先按照说明安装好依赖环境,cuda的安装和cudnn的配置就不再一一说明了,版本号要与说明的保持一致。还有cmake和python,可以通过在命令窗口输入python和cmake --version验证cmake和python是否已经加入环境变量。以下命令均在命令窗口执行。

  1. 下载caffe,通过git clone https://github.com/BVLC/caffe.git下载caffe到本地

  2. 修改配置文件。

    • 通过cd caffe进入caffe

    • 通过git checkout windows进入windows分支

    • 接下来就是修改scripts\build_win.cmd文件了,我需要安装GPU版本的,需要配置python接口,下面是我进行的修改:

      • 第8行,将WITH_NINJA置为0

      • 第9行,将CPU_ONLY置为0

      • 第15行,将PYTHON_VERSION置为3,因为我安装的python是3.5版本的,caffe支持python2.7和python3.5,如果版本不对会出现未知错误。

      • 第25行,将CONDA_ROOT置为C:\Anaconda3,因为我将Anaconda3的安装目录为C:\Anaconda3

      • 第29行,同第25行,将CONDA_ROOT置为C:\Anaconda3

      • 第74行,将WITH_NINJA置为0

      • 第87行,将PYTHON_VERSION置为3

      • 第172行,插入-DCUDNN_ROOT=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0,因为cudnn配置到了cuda8.0中,这是它的路径,当然也可以放上cudnn的原路径

    • 然后执行scripts\build_win.cmd命令,执行这一命令时,如果网络有问题,可能会出错。如果这一步执行正确,在caffe\build\tools\Release目录中执行caffe命令,会得到下面的结果。

    • 如果执行错误,查找错误原因,修正后先清除生成的build文件夹,然后重新执行scripts\build_win.cmd命令。

  3. 配置python接口,分别执行以下三条命令。这三条命令执行成功之后,将caffe\python\caffe文件夹拷贝到python的site-package中,在我的电脑中,我将其拷贝到C:\Anaconda3\Lib\site-packages中,这个根据个人python的安装目录进行修改。至此,python接口就配置好了,进入python,可以成功执行import caffe。

    • conda config --add channels conda-forge
    • conda config --add channels willyd
    • conda install --yes cmake ninja numpy scripy protobuf==3.1.0 six scikit-image pyyaml pydotplus graphviz

我不需要配置matlab接口,至此,windows10系统中的caffe框架已经搭建完成。

我在配置python接口时,出现了问题,在此记录一下以供参考,在执行完配置python接口的三条命令后,import caffe时出现了DLL not found的情况,根据错误信息,逐行测试,查到import某个库时出现了问题,然后重新安装该库就可以了。

在windows10上搭建caffe的更多相关文章

  1. 在windows10上安装caffe和tensorflow

    最近在Windows10上安装了caffe和tensorflow,折腾了好久.在此记录一下. 安装caffe的过程已在另一篇博客中进行了记录,在此不再赘述.而tensorflow也是非常简单的,也不再 ...

  2. 使用WampServer和DVWA在Windows10上搭建渗透测试环境

    前言: DVWA是一个具有脆弱性的Web测试应用,需要PHP和MySQL的环境支持.我们可以手动配置DVWA所需的运行环境,也可以使用WampServer进行搭建.WampServer是集成了Apac ...

  3. 孤荷凌寒自学python第六十天在windows10上搭建本地Mongodb数据服务

     孤荷凌寒自学python第六十天在windows10上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第六天.成功在本地搭建了windows ...

  4. caffe搭建--opensuse13.2上搭建caffe开发环境

    第一部分:参考一下内容.将sudo 替换成zypper即可. --------------------------------------------这部分参照以下官网内容-------------- ...

  5. Windows10上搭建Kinect 2 开发环境

    因为Visual Studio 2017的应用最低只能面向windows10,而Kinect SDK 2.0的系统版本要求是windows 8,所以不得不下载Visual Studio 2013 co ...

  6. [深度学习] centos7上搭建基于Anaconda3的caffe+pycaffe环境(python3.6)

    本文记录从零开始在CentOS7.x系统上搭建Caffe深度学习平台,并配置pycaffe环境.(由于在虚拟机上搭建,所以为CPU_ONLY模式) 1.选择CentOS7 mini版镜像安装虚拟机 镜 ...

  7. 使用XAMPP和DVWA在Windows7上搭建渗透测试环境

    前言: XAMPP是一个Web应用程序运行环境集成软件包,包括MySQL.PHP.PerI和Apache的环境及Apache.MySQL.FilleZilla.Mercury和Tomecat等组件.D ...

  8. 如何在windows10家庭版上搭建docker

    如何在windows10家庭版上搭建docker 建议先跳到最后一条,看完之后再决定是否安装. 0X00搭建原因 首先搭docker的想法是我在复现漏洞时候,发现大佬们的复现环境都是基于docker的 ...

  9. 在Windows上搭建PhoneGAP(crodova)的开发环境

    PhoneGAP是一个可以将web应用打包成移动应用的开源框架,使用它可以迅速的将HTML.CSS和JavaScript开发的web应用打包成跨平台的移动应用程序,而Apache Cordova是Ph ...

随机推荐

  1. 读高性能JavaScript编程 第二章 让我知道了代码为什么要这样写

    代码为什么要这样写? function initUI(){ var doc = document, bd = doc.body, links = doc.getElementsByTagName_r( ...

  2. WINDOWS SOCKET编程中accept出来的新连接是阻塞还是非阻塞

    实践证明 SOCKET hNewSock=accept(hListenSock) 当hListenSock为阻塞模型时,hNewSock则为阻塞模型 否则 当hListenSock为非阻塞模型时,hN ...

  3. 开源作业调度框架 - Quartz.NET - 实战使用2

    纠正第一篇文章的一个错误代码. 下面是错误代码,这样并不能得知系统中是否已经存在该JobId //实例化一个作业Key对象,用于获取作业对象或判断是否存在作业时使用. JobKey jobKey = ...

  4. IDEA中的替换功能(替换代码中的变量名很好用哦)

    刚刚上班不久,这两天正在研究公司项目里面的代码,今天用阿里的插件扫描了一下代码,发现代码中有很多变量的命名,没有遵循驼峰式的命名规则.一开始我一个一个的修改这些变量名,后来无意中用了一下Ctrl+F( ...

  5. Oracle rdbms Brush password

    Restore database user history account password 1. 用户状态 select * from user_astatus_map; select * from ...

  6. Kafka--基础知识

  7. 1、JUC--volatile 关键字-内存可见性

    Java JUC简介 在 Java 5.0 提供了 java.util.concurrent (简称JUC )包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线 ...

  8. divide_3

    xiao方法 #include<stdio.h> #include<vector> #include<iostream> using namespace std; ...

  9. Docker 修改已有镜像(转)

    1.当结束后,我们使用 exit 来退出,现在我们的容器已经被我们改变了,使用 docker commit 命令来提交更新后的副本. 其中,-m 来指定提交的说明信息,跟我们使用的版本控制工具一样:- ...

  10. [浅谈CSS核心概念] CSS布局模型:float和position

    1.流动模型 HTML元素在默认情况下都是按照"流动模型"进行布局的,网上也有人称之为"普通流"."文档流"之类的.这种布局模式的特点在于: ...