首页 > 系统相关 >caffe编译和基本使用(Windows + CPU)

caffe编译和基本使用(Windows + CPU)

时间:2024-08-03 14:52:13浏览次数:11  
标签:env Windows python 编译 caffe install pip CPU

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

标签:env,Windows,python,编译,caffe,install,pip,CPU
From: https://www.cnblogs.com/xqspace/p/18339601

相关文章

  • 【Linux或者Windows中相关网络工具使用介绍】nc、ping、ifconfig、ipaddr、tcpdump、l
    在实际的网络排错、运维诊断、或者是开发过程中,熟练运用Linux或者Windows当中的有关网络工具,能够助力我们更迅速更精准地定位故障。因而,今天给大家分享几款必掌握的网络利器。1.nc命令在Linux中,nc命令即netcat命令,它被称为网络工具中的“瑞士军刀”,是一个功能强大的......
  • Windows的Docker安装RustDesk自建服务
    一、安装DockerDesktopInstaller 二、CMD拉取RustDesk镜像dockerimagepullrustdesk/rustdesk-server三、创建docker-compose.yml文件services:hbbs:container_name:hbbsimage:rustdesk/rustdesk-server:latestcommand:hbbs-r公网IP:端口(21117......
  • Burp Suite Professional 2024.7 for Windows x64 - 领先的 Web 渗透测试软件
    BurpSuiteProfessional2024.7forWindowsx64-领先的Web渗透测试软件世界排名第一的Web渗透测试工具包请访问原文链接:https://sysin.org/blog/burp-suite-pro-win/,查看最新版。原创作品,转载请保留出处。BurpSuiteProfessionalTheworld’s#1webpenetrationtes......
  • CPU和GPU的区别(CPU核心少但是强和GPU核心多但是弱)
    目录CPU和GPU的区别(CPU核心少但是强和GPU核心多但是弱)内存和显存的区别在Helo2和Zk-Snarks中使用CPU还是GPU提升验证效率实现串行和并行的原因及简单举例CPU和GPU的区别(CPU核心少但是强和GPU核心多但是弱)CPU(中央处理器)和GPU(图形处理器)在设计和功能上存在显著差异:设......
  • Windows图形界面(GUI)-MFC-C/C++ - 静态文本框(Static Text) - CStatic
    公开视频-> 链接点击跳转公开课程博客首页-> ​​​链接点击跳转博客主页目录静态文本框(StaticText)-CStatic基本概念成员函数示例代码静态文本框(StaticText)-CStatic基本概念静态文本框是一种用于显示文本的控件,用户不能编辑其中的文本。静态文本框......
  • 在windows上用docker编译ceph
    Why为什么要在windows上跑docker去编译ceph的代码?是松鼠哥吃太饱了吗?当然不是~在实际生产问题处理中,很多时候会遇到棘手的情况,需要快速修改并编译得到可用的二进制程序,例如上篇中,松鼠哥处理多个osd连续的down时,就需要导出其中的一些pg,但是pg的数据导出会因为其中的一些对......
  • windows 命令行 pip 安装报错
    pipinstalltkWARNING:Retrying(Retry(total=4,connect=None,read=None,redirect=None,status=None))afterconnectionbrokenby'ProxyError('Cannotconnecttoproxy.',OSError(0,'Error'))':/simple/tk/WARNING:Retrying(R......
  • Linux - 查看CPU使用率命令mpstat
    简介想在imx6q上定时查看CPU使用率,发现命令mpstat可以直接使用,不需要额外安装 使用mpstat的基本用法mpstat的全称为MultiprocessorStatistics,是一款常用的多核CPU性能分析工具,用来实时查询每个CPU的性能指标,以及所有CPU的平均指标。这个命令Linux缺省没有安装,它是Linux性......
  • 等保测评计算机环境-windows
    等保测评计算机环境-windows对Windows操作系统进行等保测评的原因在于确保系统在信息安全方面达到一定的标准和要求。通过评估系统的安全性、访问控制、身份认证、日志和审计、数据保护、应用程序安全、网络安全以及安全管理和应急响应等方面,可以有效识别系统存在的安全风险和......
  • 在Windows Server上启用MIC (Enable microphone on VPS with Windows Server)
    在WindowsServer上启用MICEnablemicrophoneonVPSwithWindowsServer我有一台云主机,装有WindowsServer2012R2系统。现有个需求是需要通过本地电脑的麦克风录制音频。找了好多方法,未果,包括微软社区的回答和园内的博客。但下午脑瓜一转弯,更换了下关键词,找到了这篇文章,问......