• Caffe 源码阅读 (一) ---- Windows7 + VS2015 + Python2.7 安装 (CPU only)


     写在前面: 编译安装遇到问题真是个浪费时间的事,我捣鼓了两天,才算解决了问题。我想我这次安装跟网上各个大牛网友的区别在于解决了cant find caffe.pb.h 的问题

    0、补充: ubuntu 16.04 配置 caffe 的时候不要用conda,不要用conda,不要用conda。

    1、环境

      现有的环境:win7 + VS2015 + Python2.7

      原本我装的 python3.5, 但是官网显示 python3.5 的debug 编译失败,所以我重装了 2.7。

    2、准备

      Anaconda, 直接官网下载 2.7 版本  https://www.anaconda.com/download/

      之后按照 github 上 caffe 的 windows 分支 中的 README 下载所需的 python 模块。 

        conda -yes install cmake ninja numpy scipy protobuf==3.1.0 six scikit-image pyyaml pydotplus graphviz

      注意加环境变量:

        your pathanaconda   

        your pathanacondaLib

        your pathanacondaScripts

    3、clone 代码

      我是下载的 zip, 解压之后根目录是 caffe-windows 

    4、cmake-gui 编译

      (注意,老教程里说 denpendencies 的 libraries_v140_x64_py27 网址不好用, 脚本下载会失败, 那是因为libraries_v140_x64_py27_1.01不好用,但是现在的libraries_v140_x64_py27_1.1.0 还是可以的,不过下载不下来就去对应的网址里下载,放到指定的 downdload 目录就行了)

      source 就是 caffe 的根目录 (我的是caffe-windows )

      build 就是 caffe-windows /build 

     点击 Configure, 会报错,因为 我本机没有 GPU的配置, 只要做个小改动 : 勾选 CPU_ONLY, 并且把 BLAS 修改为 open。

     然后 Configure 就能成功了。

       但是对于我来说是噩梦的开始。 

     Generate 之后会生成 caffe.sln 在 build 目录下。 打开之后 ALL_BUILD 出现很多个错误,但是原因是 cant find caffe.pb.h。

     总之 经过一系列 排除方法,我找到了失败的原因:  下载的 libraries 里的 protoc.exe 运行失败。 这个很好检查,  在cmd 运行 C:UsersAdministrator.caffedependencieslibraries_v140_x64_py27_1.1.0librariesinprotoc 直接弹出运行出错窗口,那说明 protoc.exe 有问题。找个其他能用的替换一下就可以了。

     替换过之后,编译成功。

     接下来就可以进行下一步 debug 读源码的过程了。

        只能说是悲催的失败了。

     caffe.exe可用,caffe-d.exe不可用,用各种方法查,也没查出缺什么dll。

       呵呵呵……卸载了2015,换了2013,但是并没有什么用,debug编译出来的caffe.exe依然打不开。最后在2013下,使用 release 版本进行调试。关闭优化选项,在 ‘调试’ 输入命令和参数,加断点就可以调试了。不是正经为了改代码的调试,只是为了读,所以先凑合一下。release 在 VS2015 加断点没断住,可能是没有手动加入命令行,但是现在已经把2015卸载了,等以后有时间再试。

  • 相关阅读:
    RBAC权限管理模型 产品经理 设计
    Redisson 分布式锁
    Jenkins下载历史Build版本的归档文件
    Java JPA @Transient 在Hibernate中应用
    Solving the Top ERP and CRM Metadata Challenges with erwin & Silwood
    MySQL 字符串 分割 多列
    MySQL CONCAT opposite
    Web并发页面访问量统计实现
    UNIX网络编程读书笔记:基本UDP套接口编程
    UNIX网络编程调试工具:tcpdump、netstat和lsof
  • 原文地址:https://www.cnblogs.com/xiaochun-zhao/p/8340470.html
Copyright © 2020-2023  润新知