【神经网络与深度学习】【Qt开发】【VS开发】从caffe-windows-visual studio2013到Qt5.7使用caffemodel进行分类的移植过程
【神经网络与深度学习】【CUDA开发】【VS开发】Caffe+VS2013+CUDA7.5+cuDNN配置成功后的第一次训练过程记录<二>
标签:【神经网络与深度学习】 【CUDA开发】 【VS开发】
紧着上一篇,我在windows上备份了三个版本的Caffe库以及visual studio 13的编译工程,主要当时是一步一步来的,想着先是only cpu,然后是支持cuda,最后是并入cuDNN。当我意识到程序要支持在没有GPU的设备上运行时,需要有不同的选择。这里主要记录关于三种不同的配置生成的库的差别及其在不同场景下的使用说明。
刚开始觉得,在部署配置的时候只需要定义如下的内容部分进行修改即可:
#ifdef CPU_ONLY
Caffe::set_mode(Caffe::CPU);
#else
Caffe::set_mode(Caffe::GPU);
#endif
即如果定义了CPU_ONLY,那么就将caffe的mode设置为CPU,否则设置为GPU,这就能够保证应该能在没有配置GPU的电脑上跑了!
可是中间出现了一个问题,就是运行的时候总出现一个问题,我就以为这个CAFFE+CUDA+cdDNN的库可能不支持CPU,于是就去尝试着将另外两个备份的CAFFE库也放入了D盘的第三方库中,并修改如下:
LIBS += D:\Caffe_3rdparty\OnlyCPULib\Release\libcaffe.lib
结果还是爆出同样的错误,于是开始配置在onlycpu的编译工程中添加classification,试验一下能不能进行分类,结果很显然可以。我就开始怀疑Qt版本与visual studio 2013版本究竟有哪些区别,最后是在Qt的工程中通过debug模式,找到了爆出错误的lib居然是libopenblas,我忽然意识到这两个版本使用的库文件是有一定的区别的,因为我当时调Qt的独立第三方库的时候用了别的版本的lib,因为GPU跑的时候没出现问题,所以就没有让两者保持完全一致,没料到居然在这里出现了问题。于是将Visual studio 2013中使用的openblas库放入了第三方库中,并修改.pro中的LIBS:
LIBS += D:\Caffe_3rdparty\lib\libopenblas.dll.a
再次运行就没有出现错误!真的让我浪费了好几个小时!
现在已经验证了Caffe+CUDA+cuDNN的库也是可以只在CPU上跑的,而onlyCPU版本是支持CPU而不支持GPU的,而且从我的观察上看,三个版本的libcaffe.lib的大小也是:
这其实也就说明的是一层包含一层吧!向下都应该保持兼容性的!
通过上面的分析,在部署深度神经网络进行分类识别时,只需要使用最后一版本即可!
2016-9-16 19:24
张朋艺 pyZhangBIT2010@126.com
【神经网络与深度学习】【Qt开发】【VS开发】从caffe-windows-visual studio2013到Qt5.7使用caffemodel进行分类的移植过程的更多相关文章
- 【神经网络与深度学习】【CUDA开发】caffe-windows win32下的编译尝试
[神经网络与深度学习][CUDA开发]caffe-windows win32下的编译尝试 标签:[神经网络与深度学习] [CUDA开发] 主要是在开发Qt的应用程序时,需要的是有一个使用的库文件也只是 ...
- 【神经网络与深度学习】【CUDA开发】【VS开发】Caffe+VS2013+CUDA7.5+cuDNN配置过程说明
[神经网络与深度学习][CUDA开发][VS开发]Caffe+VS2013+CUDA7.5+cuDNN配置过程说明 标签:[Qt开发] 说明:这个工具在Windows上的配置真的是让我纠结万分,大部分 ...
- 【神经网络与深度学习】【Matlab开发】caffe-windows使能Matlab2015b接口
[神经网络与深度学习][Matlab开发]caffe-windows使能Matlab2015b接口 标签:[神经网络与深度学习] [Matlab开发] 主要是想全部来一次,所以使能了Matlab的接口 ...
- 【神经网络与深度学习】【python开发】caffe-windows使能python接口使用draw_net.py绘制网络结构图过程
[神经网络与深度学习][python开发]caffe-windows使能python接口使用draw_net.py绘制网络结构图过程 标签:[神经网络与深度学习] [python开发] 主要是想用py ...
- 【神经网络与深度学习】【VS开发】【CUDA开发】VS2013 配置CUDNN V4 DEMO
VS2013 配置CUDNN V4 DEMO 众所周知,当前主流深度学习的实现中调用的底层API都是cudnn,自己做项目需要开发深度学习模块时,也需要调用cudnn库,因此熟悉cudnn库是很有必要 ...
- 【神经网络与深度学习】【CUDA开发】服务器(多GPU)caffe安装和编译
一. 前提 多GPU交互在神经网络是常见的,所以在安装caffe之前需要安装NCCL,来保证多GPU之间的相互交流. 多GPU,这里指的是2个及2个以上英伟达显卡,而不是笔记本中的集显和独显. 二. ...
- 【神经网络与深度学习】【Python开发】Caffe配置 windows下怎么安装protobuf for python
首先从google上下载protobuf-2.5.0.zip和protoc-2.5.0-win32.zip,然后把protoc-2.5.0-win32.zip里的protoc.exe放到protobu ...
- 【神经网络与深度学习】【CUDA开发】【VS开发】Microsoft官方移植了Caffe配置过程说明
想在Windows平台使用Caffe,吭哧吭哧下载了半天第三方库,后来忽然发现Microsoft官方移植了Caffe,配置起来简直太省心了- 1. 从Microsoft官方Github上下载Caffe ...
- 13本热门书籍免费送!(Python、SpingBoot、Entity Framework、Ionic、MySQL、深度学习、小程序开发等)
七月第一周,网易云社区联合清华大学出版社为大家送出13本数据分析以及移动开发的书籍(Python.SpingBoot.Entity Framework.Ionic.MySQL.深度学习.小程序开发等) ...
随机推荐
- DevExpress ASP.NET v19.1版本亮点:发布全新的Gantt控件
行业领先的.NET界面控件DevExpress 发布了v19.1版本,本文将以系列文章的方式为大家介绍DevExpress ASP.NET Controls v19.1中新增的一些控件及增强的控件功能 ...
- k8sDaemonSet控制器
DaemonSet用于再集群中的全部节点上同时运行一份指定的pod资源副本,后续新加入的工作节点也会自动创建一个相关的pod对象,当从集群中移除节点时,此类pod对象也将被自动回收而无须重建.也可以使 ...
- vue iOS上传图片file 出错
前言 用vue 移动端上传图片在低版本的 ios 手机上 图片转换base64 在转换file 文件类型 会报错 并且报错 “Script Error ” 查阅了github 和一些文档发现 可以吧 ...
- Sql Service中的分页
创建存储过程如下: CREATE PROCEDURE [dbo].[sp_GetPageList] ), --表名 ) = '*', --字段名(全部字段为*) ), --排序字段(必须!支持多字段) ...
- SpringBoot项目中,异常拦截
SpringBoot自带异常拦截@ControllerAdvice 1.创建一个SellerExceptionHandler类打上@ControllerAdvice标签 @ControllerAdvi ...
- unittest详解(一) unittest初识
unittest是python内置的一个单元测试框架,在学习怎么使用它之前,我们先来了解它的一些概念和原理. Test Case:测试用例,一个TestCase的实例就是一个测试用例.什么是测试用例呢 ...
- javascript插件制作学习-制作步骤
原生JavaScript插件开发学习 自己制作的demo大家可以看下https://www.cnblogs.com/zimengxiyu/p/9814889.html 插件制作步骤: (一)构造函数 ...
- centOS7安装docker遇到 [Errno 14] curl#35 - "TCP connection reset by peer问题解决
---------------------------------------------------------------------------------------------------- ...
- Linux下kafka集群的搭建
上一篇日志已经搭建好了zookeeper集群,详细请查看:http://www.cnblogs.com/lianliang/p/6533670.html,接下来继续搭建kafka的集群 1.首先下载k ...
- C++入门经典-例6.10-将多维数组转换成一维数组
1:代码如下: // 6.10.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...