【caffe源码研究】第一章:安装篇(中): Windows版
一、安装环境:
- Windows 64位
- Visual Studio 2013
下载微软编辑的caffe版本。
git clone https://github.com/Microsoft/caffe.git
照着README.txt安装就可以了。
二、配置
将 caffe\windows\CommonSettings.props.example
复制一份叫做 caffe\windows\CommonSettings.props
,也就是我们需要的配置文件,进行编辑配置。
主要配置的地方就两个,是使用 CPUOnly 模式还是使用GPU,是否编译python和matlab接口。基本都可以猜出来。
<ImportGroup Label="PropertySheets" /><PropertyGroup Label="UserMacros"><BuildDir>$(SolutionDir)..\Build</BuildDir><!--NOTE: CpuOnlyBuild and UseCuDNN flags can't be set at the same time.--><CpuOnlyBuild>true</CpuOnlyBuild><UseCuDNN>false</UseCuDNN><CudaVersion>7.5</CudaVersion><!-- NOTE: If Python support is enabled, PythonDir (below) needs to beset to the root of your Python installation. If your Python installationdoes not contain debug libraries, debug build will not work. --><PythonSupport>true</PythonSupport><!-- NOTE: If Matlab support is enabled, MatlabDir (below) needs to beset to the root of your Matlab installation. --><MatlabSupport>true</MatlabSupport><CudaDependencies></CudaDependencies>
如果启用了python和matlab接口,配置他们的路径。这里python建议使用Miniconda,一种比较容易管理包的python环境,使用64位。
<PropertyGroup Condition="'$(PythonSupport)'=='true'"><PythonDir>D:\Miniconda2\</PythonDir><LibraryPath>$(PythonDir)\libs;$(LibraryPath)</LibraryPath><IncludePath>$(PythonDir)\include;$(IncludePath)</IncludePath></PropertyGroup><PropertyGroup Condition="'$(MatlabSupport)'=='true'"><MatlabDir>D:\Program Files\MATLAB\R2013a</MatlabDir><LibraryPath>$(MatlabDir)\extern\lib\win64\microsoft;$(LibraryPath)</LibraryPath><IncludePath>$(MatlabDir)\extern\include;$(IncludePath)</IncludePath></PropertyGroup>
三、安装python库
cmd下运行
conda install --yes numpy scipy matplotlib scikit-image pip
pip install protobuf
在安装过程中可能经常卡住不动,强行关掉后提示已经有进程在运行。
最简单的方法是,写一个脚本 01_install.bat
D:\Miniconda2\Scripts\conda.exe clean --lock
D:\Miniconda2\Scripts\conda.exe install --yes numpy scipy matplotlib scikit-image pip
D:\Miniconda2\Scripts\pip install protobuf
pause
每次卡住不动了,就关掉cmd,再运行一次,直到全部安装好。
四、安装windows-caffe
打开caffe\windows下的Visual studio工程。项目调到released模式,生成解决方案。
可以看到出现
的提示窗口。这是这个项目在自动还原它所需要的各种依赖包。在caffe-microsoft的父目录里,会生成一个NugetPackages目录,装的就是各种依赖库。一切完成后,依赖库就准备好了。
然后程序会编译,进入漫长的等待,之后提示生成成功,就安装好了。
五、可能出现的错误
1. python位数不对
如果你遇到了下图的情况,或者在别的地方遇到了,说明你python位数不对,应该安装64位。
2. 警告被视为错误
警告被视为错误。Windows的这个项目很严格,凡是出现警告就会当成错误停止。
解决方法:选中将划线处改为否就好了。最好一口气把所有的项目全改过来。
3. 错误 68error MSB3030
错误 68error MSB3030:
无法复制文件“C:\Program Files (x86)\Microsoft VisualStudio12.0\VC\redist\Debug_NonRedist\x64\Microsoft.VC120.DebugCRT\msvcr120d.dll”
,原因是找不到该文件。
我的Visual Studio装在D盘,在C盘里自然找不到。暂时没找到C:\Program Files (x86)\Microsoft Visual Studio 12.0\
这个路径是在哪里配置的,找到的人改一下配置就好了。最简单粗暴的方式就是将
D:\Program Files (x86)\Microsoft Visual Studio12.0\VC\redist\x64\Microsoft.VC120.CRT
目录,在C盘下建立相同的路径,然后内容拷过去。
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x64\Microsoft.VC120.CRT\msvcr120.dll
【caffe源码研究】第一章:安装篇(中): Windows版相关推荐
- Nacos源码系列——第一章(Nacos核心源码主线剖析上)
在讲具体的源码之前,我有几点想说明下,很多开发可能觉得源码不重要,甚至觉得互联网 的知识,目前够用就可以,也不需要多么精通.的确,在大多数的公司中,你能用你的知识 解决问题就可以,不一定非要涉及到源码 ...
- STL源码剖析-第一章STL概论与版本简介
系列文章目录 第一章:STL概论与版本简介 文章目录 系列文章目录 前言 一.STL是什么? 二.STL六大组件 1.引入库 前言 源码之前 了无秘密 这本书不适合C++ 初学者,不适合 Generi ...
- 轻量级单元测试Cmockery源码学习 第一章
Cmockery学习记录 跑起来 在c_cpp_properties.json把库文件路劲添加到incudePath中仍然显示 问题描述 问题分析 vscode中c_cpp_properties.js ...
- QCad源码分析 第一章
鉴于介绍Qcad相关的文章很少,决定写此博客,一来便于日后查找,二来要有分享精神.本文章基于Qcad3 .21.3.4的开源版本进行分析,分过程中难免有疏漏,如果有新的发现会及时更改,不足之处望高手指 ...
- Thinkphp底层源码分析第一章
首先我们学习此章节的内容大家可能需要有一些基础才行,接着对PHP内置字符窜数组相关函数会用的比较多一点,当然不太熟悉的朋友,其实可以借助手册看下去,手册下载地址我放在了另一篇博客里 链接(大家点击左边 ...
- win版本caffe源码libcaffe研究
版权声明:本文为博主在研究工作中经验分享,包括研究成果,欢迎交流和批评:其中参考资料的标注难免会有疏漏之处,如有请告知,立马更正,谢谢:未经博主允许不得转载. [cpp] view plain co ...
- 深入理解Tomcat和Jetty源码之第一篇前奏知识
深入理解Tomcat和Jetty源码之第一篇前奏知识 这周开始对Tomcat和Jetty的源码和框架产生了浓厚的兴趣,接下来想记录一下学习Tomcat和Jetty源码的心得和体会,有兴趣的朋友可以关注 ...
- Mybatis源码分析第一天------Mybatis实用篇
Mybatis源码分析第一天------Mybatis实用篇 一切最基本的操作就是参考官方文档:https://mybatis.org/mybatis-3/zh/configuration.html ...
- VUE源码学习第一篇--前言
一.目的 前端技术的发展,现在以vue,react,angular为代表的MVVM模式以成为主流,这三个框架大有三分天下之势.react和angular有facebook与谷歌背书,而vue是以一己之 ...
最新文章
- 小程序云开发数据库在网站读取
- 【指标统计】删除错误遥信
- 斐波那契数列的低效与高效解法 【转】
- SAP凭证冲销BAPI用法
- 集体智慧编程 - 构建价格模型
- 卡方分布分位数_卡方检验和精确概率法及两两比较
- Tableau中的行级数据安全性——第2部分
- Win11如何提高游戏性能?Win11提升游戏性能的方法
- PHP字符串替换函数strtr()的功能实现讲解
- Redis入门学习笔记--附Redis工具类
- matlab视频文件处理,Matlab处理视频文件1
- 电磁寻迹智能车HAL库基于cubeMX—三轮(分段PID+归一化+差速+均值滤波+多路ADC+三叉+环岛+十字)
- 1到1000的奇数和偶数和
- 白鹭引擎开发微信小游戏: API 调用教程文档
- 【每日随笔】操控人性 ① ( 圣人的治理原则 | 控制人性的三大手段 - 引导 / 转移注意力 / 打击异己 | 作出正确的引导 | 不尚贤,使民不争 | 不追求权利 / 财富 )
- eden区分配至s0、s1
- IDEA如何运行SpringBoot项目(超详细截图)
- Java虚拟机字节码指令
- 《程序设计基础综合实践》各备选题目[2023-02-13]
- 如何给开源项目贡献代码
热门文章
- Android微信分享图片按质量压缩的解决方案,androidndk开发教程
- webix .datatable 表格分页
- Qt 控制台程序:和原生C++的融入
- v93000测试系统软件,V93000自动测试系统
- golang dlv linux下安装
- SQL Server附加数据库(2005)
- HTML学生个人网站作业设计:动漫网站设计——樱桃小丸子(10页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
- 初中教师资格证科学计算机面试,2019下半年初中科学教师资格证面试真题及答案汇总...
- windows照片查看器提示无法显示图片内存不足
- 数据分析-day03-pandas-dataFrame的抽取某列数据,将float转换int型,实现直方图显示