windows下Caffe编译和基本使用

xqspace

0. 摘要

本文主要完成以下几点:

  • caffe默认支持是 vs2013/vs2015 + python2.7/python3.5,使用其他版本会比较麻烦,这里使用的是vs2015和python3.5;

  • 完成caffe在windows上的编译(cpu版);

  • 提供caffe的python接口;

  • caffe的基本使用方法(这里是推荐几篇讲的比较详细的入门博文);

  • 调试运行caffe的解决方案;

  • 解决上面几个过程中遇到的error:

    • The C compiler "xxxx/cl.exe" is not able to complile a simple test program.

    • 找不到python35.dll


1. 工具

请先完成以下工具安装:

  • vs2015

  • Ananconda3

  • CMake 3.4及以上

如果上述工具有未安装的,请先自行安装,这里也提供可参考的博客:

- vs2015:https://www.cnblogs.com/xqspace/p/18339484

- Ananconda3:https://blog.csdn.net/fan18317517352/article/details/123035625

- CMake:https://blog.csdn.net/u011231598/article/details/80338941

2. caffe在windows上的编译(cpu版)

2.1 代码下载

caffe代码地址:https://github.com/BVLC/caffe/tree/master

  • 方式一:下载压缩包(先选择windows分支,然后下载压缩包到本地解压)

  • 方式二:使用git下载:

    git clone https://github.com/BVLC/caffe.git
    cd caffe
    git checkout windows
    

2.2 配置python环境

2.2.1 打开命令提示符cmd,创建一个python版本为3.5的环境,环境名为caffe_env:conda create -n caffe_env python=3.5
img

2.2.2 进入这个环境:conda activate caffe_env
img

2.2.3 然后配置README.md中提到的依赖库:
img

  • 先依次执行:

    conda config --add channels conda-forge
    conda config --add channels willyd
    
  • 随后使用pip而不是conda来安装依赖库(conda可能会出现内存不足的报错),依次执行以下命令:

    pip install cmake
    pip install ninja
    pip install numpy
    pip install scipy
    pip install protobuf==3.1.0
    pip install six
    pip install scikit-image
    pip install pyyaml
    pip install pydotplus
    

    在一开始利用pip安装时,可能会因为pip的版本过低而报错,按照报错的指示先升级一下pip的版本即可,然后再安装依赖库。可以通过命令:conda list 来查看已安装的依赖库。

2.3 下载依赖库和配置

  1. 依赖库地址:https://github.com/willyd/caffe-builder/releases/tag/v1.1.0,
    这里用的是vs2015和python3.5,所以要下载 libraries_v140_x64_py35_1.1.0.tar.bz2

    img

  2. 将这个压缩包解压,放到C:\Users\xxxxxxxx\.caffe\dependencies文件夹下,这里是默认的地址
    img

  3. 既然已经下载了依赖库,就要将代码里的下载代码注释掉,需要注释掉 caffe项目目录\cmake\WindowsDownloadPrebuiltDependencies.cmake中的部分代码,如下图所示:
    img

2.4 编译

  1. 打开 caffe项目目录\scripts\build_win.cmd文件进行修改:
    WITH_NINJA=0, PYTHON_VERSION=3,CPU_ONLY=1,以及设置CONDA_ROOT=你的Anaconda3的路径\envs\caffe_env
    img

  2. 然后将cmake -G"!CMAKE_GENERATOR!"改为cmake -G"Visual Studio 14 2015 Win64",否则编译时就会出现报错:The C compiler "xxxx/cl.exe" is not able to complile a simple test program. 这里可能时因为cmake不是默认使用msvc进行编译,需要显示指定。(如果不修改的话,后面的问题一个接一个...)
    img

  3. 切换cmd的路径到caffe项目目录:执行scripts\build_win.cmd 等待完成
    img

  4. 编译完成后打开 caffe项目目录\build\Caffe.sln

    img

    然后点击 生成-->生成解决方案 等待编译完成会生成caffe相关库以及caffe.exe

    img

至此caffe的编译工作完成!撒花~

3. 提供caffe的python接口

  1. 上面编译完成后,将 caffe项目目录\python\caffe 文件夹拷贝到 anaconda的caffe_env的Lib\site-packages中:
    img

    img

  2. 重新打开cmd进入caffe_env,输入python,然后import caffe:

    img

    如果import caffe失败的话,可以重启一下电脑。

4. caffe的基本使用方法

caffe项目目录\example文件夹下已经提供了一些经典案例,这里是推荐几篇讲的比较详细的caffe基本使用的博文:

5. 调试运行caffe的解决方案

  1. 在Caffe.sln,右击 caffe.bin -->设为启动项
    img

  2. 右击 caffe.bin--> 属性 -->常规 -->命令参数 输入调试参数
    img

  3. 一开始运行时可能会报错,找不到python35.dll,将caffe_env文件夹的python35.dll复制到C:\Windows\System32中可解决。

    img

posted @   hiqin  阅读(118)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示