Windows下使用Caffe-Resnet
参考文章:
编译历程参考:CNN:Windows下编译使用Caffe和Caffe2
caffe的VS版本源代码直接保留了sample里面的shell命令,当然这些shell命令在Windows平台下是不能运行的,需要稍微修改一下,转换为CMD可以理解的脚本代码。
一、使用cifar数据集合。
1.获取cifar10数据集get_cifar10数据集:
echo "Downloading..." wget --no-check-certificate http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz echo "Unzipping..." tar -xf cifar-10-binary.tar.gz && rm -f cifar-10-binary.tar.gz mv cifar-10-batches-bin/* . && rm -rf cifar-10-batches-bin
还是直接下载划算。
2. 生成标准格式的数据集合create_cifar10.sh:
set -e EXAMPLE=examples/cifar10 DATA=data/cifar10 DBTYPE=lmdb echo "Creating $DBTYPE..." rm -rf $EXAMPLE/cifar10_train_$DBTYPE $EXAMPLE/cifar10_test_$DBTYPE ./build/examples/cifar10/convert_cifar_data.bin $DATA $EXAMPLE $DBTYPE echo "Computing image mean..." ./build/tools/compute_image_mean -backend=$DBTYPE \ $EXAMPLE/cifar10_train_$DBTYPE $EXAMPLE/mean.binaryproto echo "Done."
cifar10数据集合使用了二进制的bin文件,对于我们来说几乎没有任何意义,只是作为一个测试流程使用。
修改为cmd命令:
convert_cifar_data.exe E:/DataSet/cifar10 E:/DataSet/cifar10 lmdb
把e盘cifar10文件夹下面的文件转换为lmdb格式,到同目录下。
分别生成train和test文件夹,每个文件夹下面存在两个lock.lmdb和data.lmdb文件。
至于为何使用lmdb格式的文件,请到知乎搜索....................
然后修改为cmd命令:
compute_image_mean.exe -backend=lmdb E:/DataSet/cifar10/cifar10_train_lmdb E:/DataSet/cifar10/mean.binaryprot
依次生成lmdb文件,mean.binaryproto文件
二、开始使用Caffe网络
修改Caffe的train_quick命令,修改为:
caffe.exe train --solver=E:/DataSet/cifar10/net/cifar10_quick_solver.prototxt
可以从
cifar10_quick_solver.prototxt
启动简单的caffe网络,开始训练过程
prototxt配置文件里面初始参数是这样的:
name: "CIFAR10_quick" layer {
name: "cifar" type: "Data" top: "data" top: "label" include { phase: TRAIN
}
transform_param {
mean_file: "E:/DataSet/cifar10/mean.binaryproto"
}
data_param{
source: "E:/DataSet/cifar10/cifar10_train_lmdb" batch_size: 100 backend: LMDB
}
}
layer{
name: "cifar" type: "Data" top: "data" top: "label" include { phase: TEST }
transform_param {
mean_file: "E:/DataSet/cifar10/mean.binaryproto"
}
data_param { source: "E:/DataSet/cifar10/cifar10_test_lmdb" batch_size: 100 backend: LMDB
}
}
训练完成后,生成.model文件。留作使用。
三、注意事项
1. 在使用初始化的过程中,使用protobuf解析网络配置文件,出现默认初始化问题。
在solver_param.mutable_train_state()->set_level(FLAGS_level);
CHECK(ReadProtoFromTextFile(param_file, param));
ReadProtoFromTextFile(filename.c_str(), proto);
bool success = google::protobuf::TextFormat::Parse(input, proto);/
调用栈之中,解析文件目录为 filename = 0x0000029ed8a371a0 "E:/DataSet/cifar10/net/cifar10_quick_solver.prototxt"
而 默认初始化 net 目录和+ snapshot_prefix_ 为 0x0000029ee0ead6b0 "examples/cifar10/cifar10_quick" ,是相当悲剧的行为。
下载源码,编译后,调试进入,
载回头来看这些繁琐的东西,真是蛋疼。
三、开始使用残差网络
修改E:/DataSet/cifar10/net/cifar10_quick_solver.prototxt 文件,修改为:
#net: "E:/DataSet/cifar10/Net/cifar10_quick_train_test.prototxt"
net: "E:/DataSet/Net/ResNet-50-deploy.prototxt"
可以直接使用caffe的ResNet50网络
Windows下使用Caffe-Resnet的更多相关文章
- windows下检验caffe是否配置正确
windows下检验caffe是否配置正确:(注:不考虑搭建caffe的编译环境,而是直接使用caffe官网提供的二进制文件) windows版本源码以及二进制库文件下载地址:https://gith ...
- windows下配置caffe(环境:win7+vs2013+opencv3.0)
说明:大部分转载于initialneil的大作Caffe + vs2013 + OpenCV in Windows Tutorial (I) – Setup 准备工作: 1.下载CUDA7.5: ht ...
- 实践详细篇-Windows下使用Caffe训练自己的Caffemodel数据集并进行图像分类
三:使用Caffe训练Caffemodel并进行图像分类 上一篇记录的是如何使用别人训练好的MNIST数据做训练测试.上手操作一边后大致了解了配置文件属性.这一篇记录如何使用自己准备的图片素材做图像分 ...
- Windows下VS2013+Caffe无GPU配置
Windows版本的caffe工具包下载地址: 点击打开链接 1. 将下载的caffe-master.zip解压到 D:\Software\Caffe 文件夹下,把 D:\Software\Caffe ...
- windows下编译caffe报错:error MSB4062: 未能从程序集 E:\NugetPackages\OpenCV.2.4.10\......的解决办法
参考博客:http://blog.csdn.net/u013277656/article/details/75040459 在windows上编译caffe时,用vs打开后会自动加载还原NugetPa ...
- Windows下用Caffe跑自己的数据(遥感影像)
1 前言 Caffe对于像我这样的初学者来说是一款非常容易上手的深度学习框架.关于用Caffe跑自己的数据这样的博客已经非常多,感谢前辈们为我们提供的这么好的学习资源.这里我主要结合我所在的行业,说下 ...
- windows下使用caffe测试mnist数据集
在win10机子上装了caffe,感谢大神们的帖子,要入坑caffe-windows的朋友们看这里,还有这里,安装下来基本没什么问题. 好了,本博文写一下使用caffe测试mnist数据集的步骤. 1 ...
- Windows下调用caffe的matlab接口
一.编译caffe的matlab接口 在我的这篇博客windows-caffe配置已经说了怎么编译了,这里就略过了. 编译成功后,会得到如下图所示文件: matlab接口就在matcaffe文件夹里. ...
- windows下编译caffe出现错误 C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe?
解决方案来自http://blog.csdn.net/u012556077/article/details/50353818
- 【caffe】create_cifar10.sh在windows下解决方案
@tags caffe python windows下配置caffe后,create_cifar10.sh无法执行,因为是shell脚本.那就看懂脚本意思,用python重写一个: # create_ ...
随机推荐
- Ac自动机基础题集合
Ac_automaton的板子打熟以后发现碰到题不会做,而且还是比较纯的板子,只要改几处地方就可以,Ac_automation有许多优秀而fantasy的性质,下面粘几个题,来记录一下做题的心得. 1 ...
- 【codeforces 767A】Snacktower
[题目链接]:http://codeforces.com/contest/767/problem/A [题意] 每天掉一个盘子下来;盘子有大小从1..n依次增大n个盘子; 然后让你叠盘子; 最底层为n ...
- Maven学习总结(4)——Maven核心概念
Maven学习总结(四)--Maven核心概念 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1.2.Maven坐标主要组成 groupId:组织标识 ...
- JavaSE 学习笔记之StringBuilder(十六)
< java.lang >-- StringBuilder字符串缓冲区:★★★☆ JDK1.5出现StringBuiler:构造一个其中不带字符的字符串生成器,初始容量为 16 个字符.该 ...
- Xen、OpenVZ、KVM、Hyper-V、VMWare虚拟化技术介绍
一.Xen 官网:http://xen.org/ Xen 由剑桥大学开发,它是基于硬件的完全分割,物理上有多少的资源就只能分配多少资源,因此很难超售.可分为Xen-PV(半虚拟化),和Xen-HVM( ...
- (41)Spring Boot 使用Java代码创建Bean并注册到Spring中【从零开始学Spring Boot】
已经好久没有讲一些基础的知识了,这一小节来点简单的,这也是为下节的在Spring Boot中使用多数据源做准备. 从Spring 3.0开始,增加了一种新的途径来配置Bean Definition,这 ...
- noip模拟赛 公交车
题目描述LYK在玩一个游戏.有k群小怪兽想乘坐公交车.第i群小怪兽想从xi出发乘坐公交车到yi.但公交车的容量只有M,而且这辆公交车只会从1号点行驶到n号点.LYK想让小怪兽们尽可能的到达自己想去的地 ...
- leetcode 二分法 Pow(x, n)
Pow(x, n) Total Accepted: 25273 Total Submissions: 97470My Submissions Implement pow(x, n). 题意:求x的n次 ...
- vbs socket
http://www.bathome.net/thread-423-1-1.html http://files.cnblogs.com/files/developer-ios/mswinsck.ocx ...
- poj3296--Rinse(三分)
题目链接:点击打开链接 题目大意:有一个酒桶容量为Vc.里面还有Vw的酒,如今用Vb的水去刷酒桶,每次酒桶的内壁上会留下Vr的液体,最多能够刷k次,问怎么样刷酒桶.能够让酒桶里面的就最少. 假设Vb+ ...