caffe-windows 配置和cifar10数据集训练

Caffe训练cifar10数据集 一:目的 用配置好的Windows版本Caffe(no GPU),训练cifar10数据; 二:cifar10简介 Cifar-10由60000张32*32的RGB彩色图片构成,共10个分类。50000张训练,10000张测试(交叉验证)。这个数据集最大的特点在于将识别迁移到了普适物体,而且应用于多分类(姊妹数据集Cifar-100达到100类,ILSVRC比赛则是100 阅读详情

  之前的文章中已经使得OpenCV能利用训练好的分类器进行图像的分类了,但最为关键的一步还没做,那便是分类器的获得。毕竟我们不可能用别人训练好的分类器很好的解决自己工程上的问题。

  本篇,将开始对分类器的探索!

  本人选用的是开源世界现在最流行的深度学习架构,至于为何怎么选,因为看到别人都这么选。。至于别的会不会更好,以后再说吧,有更深入的研究会跟大家分享。

  第一步是下载,这个没什么说的。值得说的是版本问题,本人下载的是最新版本的,但你看到的时候可能已经有新的更新,这个时候你可以选择下载最新的(可能会遇到文章中没有提到的错误),也可以下载我后面会给出的DEMO(10个下载积分,不要问我为什么这么贵。。。)

  caffe-windows下载地址: https://github.com/BVLC/caffe/tree/windows

  注意这里不是直接下载源码,而是拉到页面下方如图所示位置下载:

这里写图片描述

  我下载的是第一个。相信看到这里你会很开心,因为编译工作别人都做完了,如果我们不需要把caffe集成到自己的工程中而仅仅只是想用它来生成分类器,那么直接用就行了!至于怎么集成到自己的工程中会在后面的文章中分享。

  下完解压,路径中不要有中文(一般都不要有中文,毕竟是外国人写的,支持可能不好,那就是个大坑),我们需要的东西都在“caffe/bin”这个路径里,后面也会经常用到。

  下面就直接用caffe来为“cifar-10”这个很火的图像库生成分类器吧(其实我是想生成“cifar-100”这个图形库的分类器的,只是总有问题,后面再解决吧)。下载地址如下:

  http://www.cs.toronto.edu/~kriz/cifar.html

  生成步骤:

  1.格式转换(下载的cifar-10是二进制文件,caffe无法直接处理,故有此步)

  “cifar-10”下载后解压缩,把里面“.bin”后缀的文件拷贝到“caffe\bin\input(自己创建一个input文件夹)”中,然后再创建一个“output”文件夹来存放中间文件。

  接着,在“caffe\bin”路径下创建一个bat文件,内容如下:

convert_cifar_data.exe input output leveldb
pause

  这里的“convert_cifar_data.exe”是我们下载的caffe里面就有的,而“input ”、“output ”为两个文件夹,“leveldb”为转换格式。

这里写图片描述

  双击运行bat,不出意外在“output”文件夹下会生成“cifar10_test_leveldb”和“cifar10_train_leveldb”两个文件夹。

  上面我们就完成了对于“cifar-10”这个图片库的格式转换工作,将下载的二进制文件转换为leveldb格式(caffe本身只支持leveldb和lmdb两种数据格式)。

这里写图片描述

  2.求数据图像的均值,获取“mean.binaryproto”均值文件

  在“caffe\bin”路径下创建一个bat文件,内容如下:

compute_image_mean.exe --backend=leveldb output/cifar10_train_leveldb mean.binaryproto
pause

  这里的“compute_image_mean.exe”是我们下载的caffe里面就有的,“output/cifar10_train_leveldb”为刚刚生成的文件夹路径,“mean.binaryproto”为生成文件名。

  双击运行bat,在“caffe\bin”路径下会生成“mean.binaryproto”。如下图:

这里写图片描述

  3.分类器训练

  经过上面的努力,我们已经有了leveldb数据、均值文件,可以直接搞训练啦!

  要训练,需要以“.prototxt”后缀的模型描述文件,本人现在对CNN这块东西还一知半解的,所以用了网上教程中提到的“cifar10_quick_train_test.prototxt”模型,这个模型在之前caffe的下载地址中可以找到,可点击下图的绿色按钮下载,然后搜索下examples,把整个“examples”文件夹拷到“caffe\bin”下,如图:

这里写图片描述

  这里会用到“examples\cifar10”里面的“cifar10_quick_train_test.prototxt”和“cifar10_quick_solver.prototxt”两个文件,且两个文件都有地方要修改。

  “cifar10_quick_train_test.prototxt”:是训练网络配置文件,用来设置训练用的网络,这个文件的名字会在“solver.prototxt”里指定,里面有四个路径,如下:

这里写图片描述

  我们看到它需要访问我们之前得到的leveldb数据文件和均值文件,因此把这三个东西放到“examples\cifar10”路径下。再者因为我们之前转换出来的文件是leveldb格式的,因此要把“source: “examples/cifar10/cifar10_train_lmdb””改成“source: “examples/cifar10/cifar10_train_leveldb””,把“backend: LMDB”改成“backend: LEVELDB”,“source”和“backend”各两处,总共四处地方需要修改。改完的文件如下:

这里写图片描述

  “cifar10_quick_solver.prototxt”:是方案配置文件,用于配置迭代次数等信息,训练时直接调用caffe train指定这个文件,就会开始训练把文件最后一行的”GPU”改成”CPU”,因为我们下的是CPU版本的caffe。

  到此就搞定了,真不容易!下面我们再在“caffe\bin”这个路径中弄个bat文件,把分类器学习的命令放进去来双击就行,内容如下:

caffe.exe train --solver=examples\cifar10\cifar10_quick_solver.prototxt  
pause  

  这里还有一个细节。。examples/cifar10/中有几种不同的训练模式(quick和full等),要一一对应。我们利用的是“cifar10_quick_trian_test.prototxt”网络结构,所以在solver中选择“cifar10_quick_solver.prototxt”。

  假如你选择的网络是“cifar10_full_train_test.prototxt”,那么你的slver应为“cifar10_full_solver.prototxt”,上面要修改的两个文件也需要做相应的变化。

  接下来,运行吧!

  用CPU版本运行需要一段时间,具体多久我没计算,反正我是去看电视去了,回来就好了,可以从命令行中看到训练的精确度,训练完成之后会在“examples\cifar10”这个路径下生成如下两个文件:

这里写图片描述

  前者是分类器描述文件,后者是继续学习会用到的文件。

  另外,还会生成一个分类网络文件如下:

这里写图片描述

  到此,我们就可以用“cifar10_quick_iter_4000.caffemodel”、“cifar10_quick.prototxt”和之前下载的“cifar-10”文件包中的“batches.meta.txt”来给图片进行分类了!

  简单的可以用caffe自带的工具进行分类,注意“batches.meta.txt”里面最后不能有空行,不然会报错。我改成”my.txt”,然后通过如下内容的bat文件运行,检测一张小狗的图像。

classification.exe examples\cifar10\cifar10_quick.prototxt examples\cifar10\cifar10_quick_iter_4000.caffemodel examples\cifar10\mean.binaryproto my.txt 3.jpg
pause  

  运行结果如下:

这里写图片描述

这里写图片描述

  可以看到其输出的结果还是准确的。

  同样也可以参照之前的文章,用OpenCV进行分类,不过有个大坑!有个大坑!有个大坑!那就是要把“cifar10_quick.prototxt”文件中第一个层如下:

这里写图片描述

  改写成如下形式:

这里写图片描述

  不然会报错!不然会报错!不然会报错!不要问我为什么知道,现在想想都恶心、发晕、心有余悸。

  不过opencv识别的结果跟自带的程序不一样,这个不科学,但本人现在还不太了解情况,不知道怎么解决。

  本人的电脑的显卡是GTX960,因此的话是可以用CUDA做上面的分类器生成工作的。只有下载caffe带cuda的版本,如下:

这里写图片描述

  然后把之前“cifar10_quick_solver.prototxt”文件最后一行重新改为”GPU”即可。其他的操作没有区别,弄完生成分类器,会发现速度快了非常的多,英伟达万岁!生成的窗口如下:

这里写图片描述

  可以见到精确度经过训练不断的提升,4000次的训练后精确度为69.9%。

  另外因为可以快速训练,比较容易发现,每次训练的精确度似乎都不大一样,如下是我完全没改内容做的另一次训练。

这里写图片描述

  这是caffe算法会在测试数据中随机选一部分数据进行测试造成的。

  为了提高精确度,可以修改“cifar10_quick_solver.prototxt”文件中的如下两处:

这里写图片描述

  前者是迭代次数为4000,后者是每4000次迭代存储一次,和存储的路径。我改成10000,结果如下:

这里写图片描述

  精确度提升了一点点。

  用“cifar10_full_train_test.prototxt”做训练基本跟前面描述的没有区别,照着改即可。只是要训练60000次,时间感人,第一次看到了TITAN X的重要性。这里最后会生成“cifar10_full_iter_60000.caffemodel.h5”文件,多了个“.h5”,这是因为“snapshot_format: HDF5”这句话造成的,注释掉即可。两者虽说在作用是基本一致,但在一些环境中用caffemodel还是居多。

这里写图片描述

  精确度看起来是提升了,但用来分类自己的图像还是会失败,这个还未详细研究,这篇就先这样吧。

  demo下载地址:http://download.youkuaiyun.com/download/ohantanyanying/9835752

  参考文章:

  http://blog.youkuaiyun.com/u012878523/article/details/41308333

  http://www.cnblogs.com/king-lps/p/6606966.html

  http://blog.youkuaiyun.com/hyqsong/article/details/51713444

Windows caffe (二) cifar10 demo 训练与测试 1、数据集的获取 首先需要安装Git和Wget,方法请参考上一篇博客 执行根目录data/cifar10目录下的get_cifar.sh,cifar内容如下: #!/usr/bin/env sh # This scripts downloads the CIFAR10 (binary version) data and unzips it. DIR="$( cd "$(dirname "$0")" ; pwd -P )" cd "$DIR" echo "Downloading..." wget -- 阅读详情

相关推荐

【caffe学习笔记二】——运行例子,caffe跑起来

在Ubuntu下面caffe的安装和运行都很方面,caffe的源码没有Windows版本的,下载的源码是大神修改成的可以在Windows下面运行的ceffe代码。(ps:那些大神是把caffe吃透了,好厉害!)     【1】mnist     下面我们说说怎样运行一个caffe程序,就拿mnist样例来说,这个是超级简单的一个样例,里面数据集的lmdb文件弄好了,不需要你去单独计算图片均值(

wxq35665632的博客 3368

windows10上搭建caffe以及踩到的坑

这是因为cudnn8里没有cudnnGetConvolutionForwardAlgorithm()这个函数了,改成了cudnnGetConvolutionForwardAlgorithm_v7(),也没了CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT这个宏定义,这些都是API不兼容,但是NVIDIA声明cudnn8不支持了,caffe的代码也没人去更新了,所以不能指望NVIDIA或者berkeley,只能自行修改。我在这边踩了坑,因为我看的那个博客这边弄错了。

weixin_43868576的博客 1598

大话西游2单机版V8一键架设教程:从下载到GM权限全流程(附仙玉修改技巧)

本文详细讲解了大话西游2单机版V8的一键架设全流程,包括环境准备、服务端配置、客户端安装及GM权限获取等关键步骤。特别提供了仙玉修改技巧和高级资源管理方法,帮助玩家快速搭建个性化游戏环境并掌握核心控制功能。教程涵盖Windows系统兼容性设置、常见问题解决方案以及数据备份策略,适合各类怀旧玩家和技术爱好者。

weixin_29254673的博客 1039

windows安装caffe

比较靠谱的博客: https://blog.youkuaiyun.com/qq_42722197/article/details/122749759 1、环境要求: Anaconda,并创建python3.5版本的环境 一些坑: 1、新建环境变量后,cmd需重启才有效

pp2373886592的博客 7449

Imatest-Dot Pattern

本文介绍了DotPattern模块测试方法,用于评估相机拍摄点阵图的表现。测试主要关注两点:色彩准确性(是否存在彩色噪点和杂边)和摩尔纹现象。测试步骤包括导入图片、选择分析区域、微调ROI、选择点状图类型和分析保存结果。测试结果包含横向色差、光学畸变和SMIATV畸变等数据,其中0.115%的色差值和0.004度的网格旋转角度表明相机表现良好,但-10.4%的SMIATV畸变显示存在明显桶形畸变。文章还提供了各项指标的具体解读标准。

weixin_64706696的博客 1352

SAP ABAP BAPI_PRODORD_CHANGE:动态刷新PP主数据的实战解析

本文深入解析了在SAP ABAP开发中,如何利用BAPI_PRODORD_CHANGE函数实现生产订单PP主数据的动态刷新。针对CO02事务码无法满足的后台自动化场景,详细讲解了通过设置explosion_date和explode_new等关键参数来强制重新读取BOM和工艺路线的实战方法,并提供了核心代码示例与避坑指南,确保生产订单信息与最新主数据同步。

weixin_29231027的博客 149

Caffe for Windows: Microsoft Caffe的安装、修改和使用(Windows 10 + GPU)

由于Windows下Caffe的安装一直以来比Linux下复杂一些,在Microsoft Caffe基础上详细描述了Caffe for Windows的安装和修改方法。

ZCF_093的博客 2797

双向晶闸管交流调压基础知识及Multisim电路仿真

本文介绍了双向晶闸管交流调压电路的工作原理及应用。该电路由双向晶闸管、RC移相电路和双向触发二极管组成,通过调节电位器改变触发角实现电压调节。当电位器阻值减小时,触发角减小,输出电压升高;阻值增大时,触发角增大,输出电压降低。Multisim仿真展示了不同电位器档位下的波形特征:0%档位时全导通,50%档位时半导通,100%档位时基本关断。该电路结构简单、调节平滑,广泛应用于调光、调速等场合,但会产生谐波干扰。

XU157303764的博客 838

教程 | Caffe在Windows10系统上安装与配置

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达软件下载和安装预先安装软件与版本CMake 3.13.4Anaconda with Python 2 on 64-bi...

小白学视觉 5920

使用IGV软件可视化染色质可及性

染色质可及性(chromatin accessibility)是指DNA序列在植物细胞核中的可访问程度。染色质是由DNA和蛋白质组成的复杂结构,它紧密地包裹在细胞核中,并影响基因的表达和功能。染色质可及性研究着重于理解染色质是否容易被转录因子和其他调控蛋白访问,从而影响基因的表达。文献中,常常会有下面这种图片来表示基因组上的一些区域或基因的染色质开放性强弱。一般情况下,我们可以使用IGV软件或GSA-man软件进行可视化,两者的操作相似。这里,以IGV软件为例,演示如何对染色质可及性进行可视化。

沉香best的博客 3724

LVGL colorwheel组件教程一(调色板)

【代码】LVGL colorwheel组件教程一(调色板)

摸鱼专家 441

Windows下Caffe的学习与应用(一)——训练自己的数据模型(GoogleNet)

前言 之前有用OpenCv的特性提取和SVM、BOW做过按图像里的内容进行分类的相关项目,耗时长,准确率又不是很高,只有百分七十到八十,所以一直想用caffe试试。 一、系统环境 二、数据集准备与处理 1.收集数据 2.更改文件名 3.统一图像大小 三、创建相关文件 1.创建数据文件夹 (1)在caffe-windows/data路径下创建一个自己存放数据的文件夹,我这里起名为classify,在...

知来者逆的博客 3507

第 8 篇:TMC2240 电机正反转实现|DIR 引脚控制 + 代码优化(稳定不抖动)

本文详细介绍了TMC2240电机驱动芯片的正反转实现方法,重点解决方向切换时的抖动和冲击问题。文章首先明确了硬件连接、基础配置和使能状态三个前提条件,然后阐述了DIR引脚电平控制方向的核心原理,提供了STM32的GPIO配置代码。针对方向切换时的电流冲击问题,作者提出了"停止-延迟-切换-启动"的平滑切换逻辑,并给出了包含方向枚举、转速控制和方向切换函数的完整代码实现方案。通过这种优化方法,可以有效避免电机在正反转切换时产生的抖动、冲击声和发热问题,实现稳定的双向控制。文章还提示了后续可

BackCatK Chen的博客 2078

Windows平台上Caffe的训练与学习方法(以数据库CIFAR-10为例)

Windows平台上Caffe的训练与学习方法(以数据库CIFAR-10为例)         在完成winodws平台上的caffe环境的搭建之后,亟待掌握的就是如何在caffe中进行训练与学习,下面将进行简单的介绍。 1、数据库CIFAR-10的下载与介绍         CIFAR-10数据库的下载地址:http://www.cs.toronto.edu/~kr

成长Bar的博客专栏 1670

26届数字IC秋招笔试面试全攻略 - CPU基础架构-数字IC设计专家

本文介绍了CPU基础架构的三大关键技术:流水线、冒险处理和指令集设计。首先解析了经典五级流水线结构(取指、译码、执行、访存、写回)及其性能指标。其次详细阐述了三种流水线冒险(数据、控制、结构)及解决方案,如数据前递、分支预测等。最后对比了RISC与CISC指令集特点,并以RISC-V为例说明指令格式设计原则。全文系统梳理了CPU核心架构知识,为数字IC设计提供重要参考。

2301_79143213的博客 931

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Caffe for windows 训练cifar10数据集

Caffe for windows 训练ciifar10数据集   关于如何在windows操作系统上安装和配置caffe的问题,可见链接:http://blog.youkuaiyun.com/mmmmmttttff/article/details/51023523(这里使用的是happynear版本) 我的本机环境如下: 操作系统版本 Windows10-64.专业增强版

none 3699

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

caffe for windows 训练cifar10

1 cifar10数据库 60000张32*32 彩色图片 共10类 50000张训练 10000张测试 下载cifar10数据库:http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz 这是binary格式的,所以我们要把它转换成leveldb格式。 2 在../caffe-windows/examples/cif

BBZZ2的专栏 1010

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Caffe 从入门到精通05

在Windows环境下,使用caffe实战cifar10数据集,算是对前面博客内容知识的梳理和应用。

TMAC2016的博客 805

caffe学习笔记之Caffe for Windows 训练cifar10

caffe学习笔记之Caffe for Windows 训练cifar10 1下载cifar10数据集 cifar10数据集可以直接下载,或者是通过运行/data/cifar10/get_cifar10.sh得到,这里我是直接下载的,下载地址为:http://www.cs.toronto.edu/~kriz/cifar.html 我在.\examples\cifar10\中创建了data1文

abuqueen的博客 856

Windows下使用Caffe-Resnet

参考文章: 编译历程参考:CNN:Windows下编译使用Caffe和Caffe2 caffe的VS版本源代码直接保留了sample里面的shell命令,当然这些shell命令在Windows平台下是不能运行的,需要稍微修改一下,转换为CMD可以理解的脚本代码。 一、使用cifar数据集合。 ...

alppkk4545的博客 189

深度学习系列——windows平台下跑微软caffe实战之运行mnist,cifar10

深度学习系列——windows平台下跑微软的caffe实战之运行mnist,cifar10 为了防止自己遗忘写此博客,请各位大牛多多指正。 Minst训练我的编译环境是在windows平台下面,用微软的caffe搭建深度学习的编译环境。编译环境请参考博客: http://blog.youkuaiyun.com/K3832127/article/details/50819464。我在安装过程中将winpy

wazwx的专栏 3324

Caffe之初见:跑跑mnist,cifar10

操作系统:win8.1编译环境:Caffe+CUDA+cuDNN显卡:Nvidia GeForce GT 730(计算能力只有2.1,带不动cuDNN,但不影响使用)环境安装参考:Caffe环境布置 一、Minst训练 开始训练mnist。 第一步:我的目录是E:\Caffe-Master\examples\mnist获取leveldb格式的数据集不能FQ的,就到:htt...

weixin_30692143的博客 159

Deep Learning的训练工具~caffe

1. Deep Learning工具—— Theano  Theano是deep learning的Python库,要求首先熟悉Python语言和numpy,建议读者先看Theano basic tutorial,然后按照Getting Started 下载相关数据并用gradient descent的方法进行学习。   2、Torch 是很多机器学习和人工智能项目的核心 Fac

liulina603的专栏 4327

caffe学习日记--lesson4:windows下caffe DEMO (mnist and cifar10)

caffe学习日记--lesson4:windows下caffe DEMO (mnist and cifar10) 1.下载数据 mnist官网:http://yann.lecun.com/exdb/mnist/ 2.数据格式转化 使用编译得到的convent_mnist_data.exe程序,得到lmdb格式的数据(lmdb的内存消耗是leveldb的1.1倍,但是lmd

鲁点点的博客 331
上一篇: OpenCV 用dnn深度学习模块检测图像
下一篇: C语言 双缓冲控制台防闪屏技术
_寒潭雁影
博客等级 码龄14年 2809粉丝 343原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值