【caffe-Windows】caffe+VS2013+Windows无GPU快速配置教程

前言

首先来一波地址:

happynear大神的第三方caffe:http://blog.csdn.net/happynear/article/details/45372231

Neil Z大神的第三方caffe:https://initialneil.wordpress.com/2015/01/11/build-caffe-in-windows-with-visual-studio-2013-cuda-6-5-opencv-2-4-9/

caffe提供Windows工具包(caffe-windows):https://github.com/BVLC/caffe/tree/windows  

百度云下载地址:链接:https://pan.baidu.com/s/1HqcSoBUX2bIjn3FGlC9IUQ 提取码:2i9w 

微软提供Windows工具包(caffe-master):https://github.com/Microsoft/caffe    

百度云下载地址:链接:https://pan.baidu.com/s/1kXQonKY9-i3MxKv_3FOn9g 提取码:9l0m 

VS2013安装包:链接:https://pan.baidu.com/s/12r6CMuk4zovqk9j-I8GYhg  提取码:3omc 

如果想移植caffe官网为Linux提供的caffe,可查阅我后面的博客。

熟悉完CPU版本的配置以后,可以启用GPU的配置:http://blog.csdn.net/zb1165048017/article/details/51549105

我使用的是微软官方提供的链接,基本上与caffe官网上提供安装包差不多,具体区别没有细看,这个caffe无需配置第三方库的环境变量,直接就可以自动下载所需要的库,包含opencv和boost等。

【注】VS2012的也有人写过,自行参考。此版严格只支持VS2013。此版本无需配置任何第三方环境哦,因为在项目属性里面都已经包含进去了,非常方便。如果出现了一些文件打不开或者其它问题,第一可能是VS自身问题,第二可能你配置过其它caffe,修改过环境变量,导致找不到头文件之类的。

第一步

下载caffe官网提供的工具包,复制Windows下CommonSettings.props.example,后缀改为CommonSettings.props,如下:

第二步

由于我电脑无GPU,所以修改复制过来的CommonSettings.props配置文件:

 

第三步

双击Windows下的caffe.sln,在VS2013中生成解决方案:

【注】里面的predict 是我自己写的测试项目,其它的才是官网自动生成的哈,官网自带的总共有16个项目,请注意核对~~~ :->

然后会弹出一个窗口,Nuget所需要的第三方库,可能会未响应,慢慢等吧。如果出现无法连接的那个问题,说明IP ping不过去,直接把问题复制到网上搜,有解决方法。

第四步

当下载完毕第三方库,你的caffe-Windows并列文件夹下会有一个第三方库的文件夹

【注】caffe-windows和caffe-master对caffe.cpp编译以后下载的第三方库都是十六个文件夹。

最好核对一下文件,免得没下载完就被你关掉了。

为了方便大家解决这个问题,我直接压缩了一个,下载解压放到与caffe-master并列文件夹即可:链接:https://pan.baidu.com/s/1vir1vNxHYbM_SGkLjiWrEg 密码:1id9

这个时候,当下载完毕,VS仍在继续执行生成任务,最终可能失败,原因下面会提示说无法打开libcaffe.lib之类的error。解决方法是直接对libcaffe重新生成,或者直接生成一次

当这个文件生成成功以后,重复一下上一步,对所有文件再重新生成一下,这时候应该不会出现libcaffe.lib无法打开的错误了。

【PS】按照这个流程编译下来很少会出现无法解析外部符号问题,出现这种问题有很大可能是静态库没连接好,但是微软的所有库是自动下载的,除非没下载全。还有关于一些.h 头文件未找到,请自行核对此头文件的位置,然后再配置文件中随便找个IncludePath(此includePath必须在编译时候被使用),将路径加进去即可,同时也必须注意是否需要相关的lib文件。不过帮忙配置挺多电脑以后,基本没遇到太多问题。

第五步

设置一下运行项,解决方案'caffe'->属性

或者下面直接单启动项目是caffe也行,不过最好改一下,原因相信玩过VS的都清楚,如果是单启动项目,那么在你重新编译工程的时候,只会运行次单启动项目,其它项目不会运行,这就是为什么很多人编译以后发现Release或者Debug文件夹下只有caffe.exe而没有conver_imageset.exe等可执行文件的原因。

第六步

运行caffe.cpp,直接双击打开caffe.cpp,然后ctrl+f5直接编译,出现如下命令窗口说明编译成功

【PS】这个其实告诉你了如何调用caffe.exe去训练你的模型

两个学习文档

薛开宇学习笔记:链接: https://pan.baidu.com/s/12OX8B96cjD4Dwx5PGvurEA 提取码: a6he 

caffe社区学习资料:链接: https://pan.baidu.com/s/1y26duiHqP7PNFTK66lfgVA 提取码: it47

在下一篇博客中会介绍cifar的训练实例。

———————————————————分割线————————————————————————

博客不会有任何配置问题,前提是严格按照步骤来做,电脑环境变量啥的没被你改的太乱。如果一步一步操作出问题了,你过来咬我。大红字体保证。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【caffe-Windows】caffe+VS2013+Windows+GPU配置+cifar使用

前言 国际惯例,先来波地址: CUDA WIN7:链接:http://pan.baidu.com/s/1nvyA3Qp 密码:h0f3 官方网址:https://developer.nvidia.com/cuda-toolkit CUDA WIN10:链接:http://pan.baidu.com/s/1…

【一些网站的收集】包含机器学习深度学习大牛主页等

数学概念部分 旋转矩阵、欧拉角、四元数的比较 欧拉角和四元数的表示 四元数与旋转 B样条曲线 非常好的概率统计学习的主页 误差方差偏差 编程语言学习 C#编程视频 OpenGL编程NeHe OpenGL官网 OpenGL“我叫MT“纯手工3D动画制作之1——基础介绍 【强大】非常好的Op…

c#将像素转换为页面单位

转自:http://blog.csdn.net/zhuzhao/article/details/3553100 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Drawing…

世界坐标和页面坐标

在进行绘图时必须考虑这两种坐标。 世界坐标是整个区域的坐标,而页面坐标是可视区的坐标。这两种坐标是通过滚动条来体现出来的。 页面坐标的原点始终是窗口可视区的坐上角,世界坐标的原点始终不变,这两种坐标和VC中的屏幕坐标和客户坐标很…

常用坐标系统

1. 设备坐标系与屏幕坐标系设备坐标(Device Coordinate)又称为物理坐标(Physical Coordinate),是指输出设备上的坐标。通常将屏幕上的设备坐标称为屏幕坐标。设备坐标用对象距离窗口左上角的水平距离和垂直距离来指定对…

华为2014校园招聘的机试题目

华为2014校园招聘的机试题目和2013年的完全一样。 一、题目描述(60分): 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。 比如字符串…

C++ 命名空间

1. 什么是命名空间 在编程语言中,命名空间是一种特殊的作用域,它包含了处于该作用域中的所有标示符,而且其本身也是由标示符表示的。命名空间的使用目的是为了将逻辑相关的标示符限定在一起,组成相应的命名空间,可使整…

安装好hadoop集群后,报错如下n org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /data/hadoop-roo

master错误: n org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /data/hadoop-root-namenode-master.log._COPYING_ could only be replicated to 0 nodes instead of minReplication (1). There are 0 datanode(s) running and no node(s) ar…

hadoop学习1 java操作HDFS

1、创建目录 package hdfs.operation;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;public class MakeDir {public static void main(String[] args) throws IOExceptio…

hadoop学习2 记录配置hadoop环境的那些坑

1、在你的学习阶段,记住先关闭防火墙。 centos: systemctl stop firewalled.service2、windows本地配置eclipse,远程调测阶段:第一: 还是先关闭防火墙第二: 本地配置文件位置放对第三: 配置的时…

hadoop学习3 查找块的位置

1、hadoop会以块的形式存储在HDFS系统。通过命令可以查看所在节点和块的位置: [rootmaster softpackage]# hadoop fs -put scala-2.10.4.tgz /[rootmaster softpackage]# hadoop fsck /scala-2.10.4.tgz -files -locations -blocksDEPRECATED: Use of this script …

hadoop学习4 调测错误备案

0、An internal error occurred during: "Map/Reduce location status updater". java.lang.NullPointerException解决方法: 关闭防火墙1、Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/yarn/util/Apps解决方…

hadoop学习5 搭建storm集群

参阅: http://www.cnblogs.com/freeweb/p/5179410.html 非常感谢 注意集群的启动顺序以及概念。 [rootmaster bin]# ./storm ui >> /dev/null & [4] 8076 [rootmaster bin]# jps 7930 nimbus 8076 core 3667 SecondaryNameNode 3480 NameNode 7626 Qu…

hadoop学习6 运行map reduce出错

1、一直处理running状态 2、 at com.sun.proxy.$Proxy14.submitApplication(Unknown Source) at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.submitApplication(YarnClientImpl.java:253) at org.apache.hadoop.mapred.ResourceMgrDelegate.submitApplication(Re…

kafka学习-环境搭建

1、几行命令 ./kafka-console-consumer.sh --zookeeper 192.168.86.133:2181,192.168.86.132:2181,192.168.86.134:2181 --topic shuaige --from-beginning ./kafka-console-producer.sh --broker-list 192.168.86.133:9092,192.168.86.132:9092,192.168.86.134:9092 --topic…

java基础之HashTable和HashMap的区别

1、类继承关系 public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable …

java基础之ConcurrentHashMap

1、基础不牢固&#xff0c;请问接口里面怎么有方法&#xff1f; 这个和一般的方法有啥区别&#xff1f; public interface ConcurrentMap<K, V> extends Map<K, V> {/*** {inheritDoc}** implNote This implementation assumes that the ConcurrentMap cannot* con…

java基础之java内存模型

1、原子性 问题&#xff1a;i是原子性没&#xff1f; 不是&#xff01; 我理解原子性是针对计算机指令而言的&#xff0c;i包含读、加和写操作&#xff0c;包含三指令&#xff01; 除此之外&#xff0c;32位计算机读取64位的也不是原子性&#xff01; 2、有序性 并发时 可能…

Java基础之GC回收

非常好的文章&#xff0c;说明了GC的深入的东西 力荐&#xff01; GC是如何判断一个对象为"垃圾"的&#xff1f;被GC判断为"垃圾"的对象一定会被回收吗&#xff1f; http://blog.csdn.net/canot/article/details/51037938 JVM垃圾回收GC原理http://bl…

Eureka源码分析

Eureka源码分析 Eureka server入口: Spring.factories PS: 意味着如果加载EurekaServerAutoConfiguration成功,需要 ConditionalOnBean(EurekaServerMarkerConfiguration.Marker.class)需加载成功. 通过Bean注入了很多类 本质上, eureka-server包含很多事件: EurekaInstanceC…