准备拿几个caffe官方案例用来练习,就看到了caffe中的官方案例有cifar-10数据集。于是练习了一下,在CPU情况下构建quick模型。主要参考博客:liumaolincycle的博客
配置:win10下虚拟机,ubuntu 16.04
虚拟机安装:
win10系统搭建虚拟机:VMware Workstation Player 12环境+Ubuntu Kylin 16.04 LTS系统
caffe安装:caffe+CPU︱虚拟机+Ubuntu16.04+CPU+caffe安装笔记
本案例图片是帮你处理过了,尺寸变化、图像像素均值文件都已经给出了。
————————————————————————————————————
一、数据集准备
本实验使用的数据集是CIFAR-10,一共有60000张32*32的彩色图像,其中50000张是训练集,另外10000张是测试集。数据集共有10个类别,分别如下所示
数据通过一个命令会帮你下载,并且帮你计算好。图像均值文件等。
cd /CAFFE sudo /data/cifar10/get_cifar10.sh #该脚本会下载二进制的cifar,并解压,会在/data/cifar10中出现很多batch文件 sudo /examples/cifar10/create_cifar10.sh #运行后将会在examples中出现数据集./cifar10_xxx_lmdb和数据集图像均值./mean.binaryproto
一定要先定位在caffe文件夹下面,以下代码才可以运行成功。下载数据会比较慢。
————————————————————————————————————
二、设置solver
由于一些虚拟机没有能用的GPU所以需要修改一下solver文件。
linux修改可以用vim 也可以用gedit ,笔者不是特别会用vim,所以对gedit使用的较多。
建模的是quick所以需要修改的文件是:cifar10_quick_solver.prototxt
————————————————————————————————————
三、训练
直接调用.sh文件就可以开始训练了。
cd $CAFFE ./examples/cifar10/train_quick.sh #先以0.001的学习率迭代4000次,再以0.01的学习率接着再迭代1000次,共5000次
一定要定位在caffe文件夹下,然后执行train_quick.sh文件就可以开始训练啦
还有full模型,full模型比quick模型迭代次数多,一共迭代70000次,前60000次学习率是0.001,中间5000次学习率是0.0001,最后5000次学习率是0.00001。full模型的网络层数也比quick模型多。
测试准确率也比quick模型高,大约有0.82。
可以看到每一层的详细信息、连接关系及输出的形式,方便调试。
初始化后开始训练:
在solver的设置中,每100次迭代会输出一次训练损失,测试是500次迭代输出一次:
训练阶段,lr是学习率,loss是训练函数。测试阶段,score 0是准确率,score 1是损失函数。最后的结果:
测试准确率大约有0.75,模型参数存储在二进制protobuf格式的文件cifar10_quick_iter_5000
中。
————————————————————————————————————
参考文献:
2、官网链接:http://caffe.berkeleyvision.org/gathered/examples/cifar10.html
caffe︱cifar-10数据集quick模型的官方案例的更多相关文章
-
【翻译】TensorFlow卷积神经网络识别CIFAR 10Convolutional Neural Network (CNN)| CIFAR 10 TensorFlow
原网址:https://data-flair.training/blogs/cnn-tensorflow-cifar-10/ by DataFlair Team · Published May 21, ...
-
Caffe系列4——基于Caffe的MNIST数据集训练与测试(手把手教你使用Lenet识别手写字体)
基于Caffe的MNIST数据集训练与测试 原创:转载请注明https://www.cnblogs.com/xiaoboge/p/10688926.html 摘要 在前面的博文中,我详细介绍了Caf ...
-
【转】[caffe]深度学习之图像分类模型AlexNet解读
[caffe]深度学习之图像分类模型AlexNet解读 原文地址:http://blog.csdn.net/sunbaigui/article/details/39938097 本文章已收录于: ...
-
[caffe]深度学习之图像分类模型VGG解读
一.简单介绍 vgg和googlenet是2014年imagenet竞赛的双雄,这两类模型结构有一个共同特点是go deeper.跟googlenet不同的是.vgg继承了lenet以及alexnet ...
-
实践详细篇-Windows下使用VS2015编译的Caffe训练mnist数据集
上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下 ...
-
caffe使用ctrl-c不能保存模型
caffe使用Ctrl-c 不能保存模型: 是因为使用的是 tee输出日志 解决方法:kill -s SIGINT <proc_id> 或者使用 GLOG_log_dir=/path/to ...
-
windows下使用caffe测试mnist数据集
在win10机子上装了caffe,感谢大神们的帖子,要入坑caffe-windows的朋友们看这里,还有这里,安装下来基本没什么问题. 好了,本博文写一下使用caffe测试mnist数据集的步骤. 1 ...
-
黑马lavarel教程---10、lavarel模型关联
黑马lavarel教程---10.lavarel模型关联 一.总结 一句话总结: 1.模型关联比较方便,一次定义,后面都可以使用 2.关联关系 使用动态属性进行调用 1.一对多,多对多实例? 一对多: ...
-
【实践】如何利用tensorflow的object_detection api开源框架训练基于自己数据集的模型(Windows10系统)
如何利用tensorflow的object_detection api开源框架训练基于自己数据集的模型(Windows10系统) 一.环境配置 1. Python3.7.x(注:我用的是3.7.3.安 ...
随机推荐
-
连接MySQL错误:Can&#39;t connect to MySQL server (10060)
问题原因: 导致些问题可能有以下几个原因: 1.网络不通: 2.服务未启动: 3.防火墙端口未开放: ----防火墙端口未开放的可能性比较大
-
Linux服务器
/*** cloud_sum_server ***/void cloud_sum(int sockfd) { ssize_t n; char buf[MAXLINE]; , b = ; again: ...
-
oracle 序列 ,check约束
====================序列 //查询当前用户序列 select * from user_sequences //查询所有序列 select * from all_sequences; ...
-
2017双11海量数据下EagleEye的使命和挑战
摘要: EagleEye作为阿里集团老牌的链路跟踪系统,其自身业务虽不在交易链路上,但却监控着全集团的链路状态,特别是在中间件的远程调用上,覆盖了集团绝大部分的场景,在问题排查和定位上发挥着巨大的作用 ...
-
本学期Windows编程微型技术博客上线!
将两篇报告生成超链接模式方便阅读,以下为链接: https://files.cnblogs.com/files/Kitty-/Windows编程微型技术报告一.pdf https://files.cn ...
-
(转载)Unity3D开发之编辑器统一修改Text字体
最近遇到一个需求,就是我们在做完一个场景后,美工感觉字体不好看,效果不是很好,想要换一种字体.UGUI的界面已经搭完,如果要一个一个Text寻找,工作量将是巨大.而且作为程序人员是不会容忍自己做这些机 ...
-
sass @function,@for,@mixin 的应用
项目前提: 不同的汽车显示不同的图片,一共9种汽车:每种汽车显示不同状态的图片,一共6种状态,所以一共会有54张图片 后台接口返回汽车种类分别为:1-9,汽车状态分别为:0-5 项目需求: 根据后台返 ...
-
重装系统之制作U盘启动盘
准备: 1.需要一个大于4G的U盘. 2.一个原版系统. 3.制作U盘启动盘的工具—ultraliso. 一.一个大于4G的U盘 制作启动盘将会格式化U盘,记得做好备份. 二.一个原版系统 至于你要装 ...
-
【转】XSHELL下直接下载文件到本地(Windows)
XSHELL下直接下载文件到本地(Windows) http://www.cnblogs.com/davytitan/p/3966606.html
-
通过修改CR0寄存器绕过SSDT驱动保护
为了安全起见,Windows XP及其以后的系统将一些重要的内存页设置为只读属性,这样就算有权力访问该表也不能随意对其修改,例如SSDT.IDT等.但这种方法很容易被绕过,我们只要将这些部分修改为可写 ...