zoukankan      html  css  js  c++  java
  • (原+转)win7上编译caffe支持python及matlab

    转载请注明出处:

    http://www.cnblogs.com/darkknightzh/p/7126126.html

    参考网址:

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

    使用的是参考网址中的caffe。由于电脑没有独显,因而使用cpu。首先下载该源码,而后顺序如下:

    1. 将caffe-windows-mswindowsCommonSettings.props.example改名为CommonSettings.props

    2. 由于只编译cpu版本,因而将

    <CpuOnlyBuild>false</CpuOnlyBuild>
    <UseCuDNN>true</UseCuDNN>
    <UseNCCL>true</UseNCCL>

    改为

    <CpuOnlyBuild>true</CpuOnlyBuild>
    <UseCuDNN>false</UseCuDNN>
    <UseNCCL>false</UseNCCL>

    3. 将

    <MXNetSupport>true</MXNetSupport>

    改为

    <MXNetSupport>false</MXNetSupport>

    4. 由于需要python支持,因而修改python的路径。使用的是anaconda2,因而将

    <PythonDir>D:Anaconda2</PythonDir>

    改为

    <PythonDir>C:ProgramDataAnaconda2</PythonDir>

    5. 打开Anaconda Prompt,输入:

    conda install --yes numpy scipy matplotlib scikit-image pip
    pip install protobuf

    6. 由于需要matlab支持,因而修改matlab的路径(网址中已经将MatlabSupport设置为true了)。将

    <MatlabDir>C:Program FilesMATLABR2016a</MatlabDir>

    改为

    <MatlabDir>C:Program FilesMATLABR2014b</MatlabDir>

    7. 使用vs2015打开caffe-windows-mswindowsCaffe.sln

    8. 编译工程(可以只编译需要的。我这边。。。额。。。直接编译了整个工程)。由于只编译cpu版本,我这边编译速度还好吧。据说编译gpu版本,速度比较慢。。。

    9. 对python支持的设置(下列方法二选一)。我这边使用的是a,没有测试b:

    a 在环境变量中增加PythonPath,路径为<caffe_root>Buildx64Releasepycaffe

    b 将<caffe_root>Buildx64Releasepycaffecaffe拷贝到<python_root>libsite-packages

    10. 对matlab的支持(下面两步都需要):

    a add the generated matcaffe folder to Matlab search path
    b add <caffe_root>Buildx64Release to your system path

    此处说明一下:

    b的好解释,就是将<caffe_root>Buildx64Release增加到Path的环境变量中。更改环境变量后,最好重启一下电脑。

    对于a,说是将生成的matcaffe文件夹增加到matlab的search path中,实际上,我这边该工程生成的caffe_.mexw64路径为D:caffe-windows-msmatlab+caffeprivate,我最开始以为将这个文件夹增加到matlab的search path中,但是matlab总会提示“无法将方法文件夹(以’@’开头的文件夹)或专用文件夹添加到matlab搜索路径中”,如下图所示。实际上,添加的路径应该是D:caffe-windows-msmatlab。这样就不会出现下面的错误了。

    11. 之后就是测试程序了。

    caffe.reset_all();
    caffe.set_mode_cpu();
    gpu_id = 0;  % we will use the first gpu in this demo
    % caffe.set_device(gpu_id);
    net = caffe.Net('deploy.prototxt', 'model.caffemodel', 'test');
    

    我这边就不会提示有错误了。

    如果caffe设置的有问题,matlab中会提示:未定义变量”caffe”或类“caffe.reset_all”,如下图所示。在搜索一下吧。。。

  • 相关阅读:
    ES基础(五)使用分析器进行分词
    ES基础(四)倒排索引入门
    ES基础(三)文档的基本 CRUD 与批量操作
    ES基础(二)基本概念(2):节点,集群,分片及副本
    ES基础(一)基本概念1索引文档和RESTAPI
    Flink实战(113):FLINK-SQL应用场景(14)Flink SQL FileSystem Connector分区提交与自定义小文件合并策略
    Flink实战(112):FLINK-SQL应用场景(13)FileSystem SQL Connector
    Flink实战(111):FLINK-SQL应用场景(12)Flink 与 hive 结合使用(八)Hive Streaming 实战解析
    gdb qemu
    ioctl(TUNSETIFF): Device or resource busy
  • 原文地址:https://www.cnblogs.com/darkknightzh/p/7126126.html
Copyright © 2011-2022 走看看