caffe-win10-cifar10另
上一篇主要以bat形式实现了leveldb形式的cifar10,因为对于shell脚本不甚熟悉,所以这次专门利用.sh调用来实现lmdb形式的cifar10。
1.下载数据
同上一篇。
2.数据转换和生成均值文件。
这次将bin(二进制)形式的文件转换为lmdb文件。
参考了一篇博客,用到了examples/cifar10/路径下的create_cifar10.sh文件。回顾上一篇博客里的数据转换用到的是convert_cifar_data.exe可执行文件。那么可以推想一定是crear_cifar10.sh文件里面包含了convert_cifar_data.exe这一命令。那么核心数据转换工具到头来还是convert_cifar_data.exe。
参考博客给出的方法是:
sudo sh examples/cifar10/create_cifar10.sh
但是我在git中执行这条语句老是出错:提示找不到build/examples/cifar10/convert_cifar-data.bin文件。因为我在win下操作。

按照错误原因,我利用cat命令打开create_cifar10.sh文件一探究竟:

对于sh文件里第二行注释里写道将数据转换为leveldb格式。。这。。不应该是lmdb格式吗,况且第7行写道DBTYPE=lmdb,即dbtype为lmdb格式。这并无大碍,再次声明我们的目标是lmdb。
看13行的路径起始为build,其最终文件是convert_cifar_data.bin。而我转换数据的caffe路径是E:\caffe-master\caffe-master\examples\cifar10\convert_cifar_data.exe和生成均值文件的caffe路径是E:\caffe-master\caffe-master\examples\cifar10\compute_image_mean.exe 。可见它俩一个路径。

所以这个create_cifar10.sh文件有两个步骤,先生成训练和测试样本的lmdb数据,再生成训练样本的均值文件。
所以红线标识的那两行路径都得修改,改为自己convert_cifar_data.exe、compute_image_mean.exe的路径,并且文件格式也要改为exe格式,我将其改为mycifar10-lmdb.sh:

仔细琢磨文件中:
#!/usr/bin/env sh
# This script converts the cifar data into lmdb format.
set -e EXAMPLE=examples/cifar10 #用EXAMPLE指代路径examples/cifar10
DATA=data/cifar10 #意为DATA指代路径data/cifar10
DBTYPE=lmdb #将db类型指定为lmdb echo "Creating $DBTYPE..." #开始转换数据格式 ./examples/cifar10/convert_cifar_data.exe $DATA $EXAMPLE $DBTYPE #用exe文件将DATA即data/cifar10下的二进制bin数据读入,转换成leveldb数据到EXAMPLE即examples/cifar10路径下。 echo "Computing image mean..." #开始求训练集的均值 ./examples/cifar10/compute_image_mean.exe -backend=$DBTYPE \ # 利用exe文件 ,后端为lmdb
$EXAMPLE/cifar10_train_$DBTYPE $EXAMPLE/mean.binaryproto-hahaha-forlmdb #用EXAMPLE即examples/cifar10路径下(上一步刚生成)的cifar10_train_lmdb生成examples/cifar10路径下
#的mean.binaryproto-hahaha-forlmdb均值文件。
echo "Done."
以上就是sh文件,理解起来也不难。注:mycifar10-lmdb.sh要在caffe根目录下运行,不然路径又会有问题。
运行mycifar10-lmdb.sh:

看看结果吧:


上图中生成了训练和测试集的lmdb格式和均值文件mean.binaryproto-hahaha-forlmdb(起这么个hahaha文件只是为了好区分。。)
上图中生成的leveldb格式和mean.binaryproto均值文件都是上一篇博客利用bat生成的,不管怎样bat和sh的核心都是调用exe文件。
caffe-win10-cifar10另的更多相关文章
- caffe学习--cifar10学习-ubuntu16.04-gtx650tiboost--1g--02
caffe学习--cifar10学习-ubuntu16.04-gtx650tiboost--1g--02 训练网络: caffe train -solver examples/cifar10/cifa ...
- Caffe初试(三)使用caffe的cifar10网络模型训练自己的图片数据
由于我涉及一个车牌识别系统的项目,计划使用深度学习库caffe对车牌字符进行识别.刚开始接触caffe,打算先将示例中的每个网络模型都拿出来用用,当然这样暴力的使用是不会有好结果的- -||| ,所以 ...
- 【caffe】cifar10例子之quick_train.sh在windows下的解决方案
@tags caffe 照例还是转写为python脚本: import os caffe_root=os.environ['caffe_root'] caffe_build=os.environ['c ...
- [Caffe]Win10+VS2015+CUDA8.0+cudnn5.1环境配置
百度:win10 caffe vs2015 编译caffe.sln工程参见->这里 caffe训练参见->这里 参见->这里 Windows+VS2013爆详细Caffe编译安装教程
- caffe学习--cifar10学习-ubuntu16.04-gtx650tiboost--1g--03--20171103
classification ./examples/cifar10/cifar10_full.prototxt ./examples/cifar10/cifar10_full_iter_70000.c ...
- caffe学习--cifar10学习-ubuntu16.04-gtx650tiboost--1g--01
引用了下文的资料,在此感谢! http://www.cnblogs.com/alexcai/p/5468164.html http://blog.csdn.net/garfielder007/arti ...
- Ubuntu+caffe训练cifar-10数据集
1. 下载cifar-10数据库 ciffar-10数据集包含10种物体分类,50000张训练图片,10000张测试图片. 在终端执行指令下载cifar-10数据集(二进制文件): cd ~/caff ...
- caffe+win10+git使用sh文件
在windows下是否可以执行sh文件呢,搜了一下,可以安装了git就可以执行,当然这不是唯一答案. 然后联想到caffe下有一些.sh文件可以尝试,就用create_mnist.sh尝试把. cre ...
- caffe︱cifar-10数据集quick模型的官方案例
准备拿几个caffe官方案例用来练习,就看到了caffe中的官方案例有cifar-10数据集.于是练习了一下,在CPU情况下构建quick模型.主要参考博客:liumaolincycle的博客 配置: ...
- 在Caffe上运行Cifar10示例
准备数据集 在终端上运行以下指令: cd caffe/data/cifar10 ./get_cifar10.sh cd caffe/examples/cifar10 ./create_cifar10. ...
随机推荐
- MT【48】分式连加形式下求不等式解集的区间长度
] 评:此题有分析的味道在里面,用到了n次多项式的韦达定理,用到了零点存在定理以及代数基本定理:n次多项式在复数域上有n个根.
- 搜索Ex
哎呀好几天没写POI题解了 (>﹏<) 看着摇曳不定的小旗子深深惶恐 打算开始肝洛谷试炼场的提高分区了[对我就是这么菜… 搜索Ex 比暴搜不错得多的题 洛谷P1514 引水入城 拆成两问来 ...
- Mysql 主从服务器数据同步
安装2台windows Server 服务器,分别安装Mysql,配置环境变量,完成安装确认在CMD窗口可以使用Mysql命令 在Master服务器上创建同步账号,确保Slave服务器能访问Maste ...
- 学习Spring Boot:(二十八)Spring Security 权限认证
前言 主要实现 Spring Security 的安全认证,结合 RESTful API 的风格,使用无状态的环境. 主要实现是通过请求的 URL ,通过过滤器来做不同的授权策略操作,为该请求提供某个 ...
- 【转】typedef和#define的用法与区别
typedef和#define的用法与区别 一.typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: ...
- 【SDOI 2017】龙与地下城(组合)
概率论太难了,不会.但这不能阻止我们过题.相信大家都会一个基于背包的暴力做法,我们可以将其看成是卷积的形式就可以用fft优化了.形式化讲,就是求幂级数$ (\sum\limits_{i = 0}^{x ...
- CAN总线中节点ID相同会怎样?
CAN-bus网络中原则上不允许两个节点具有相同的ID段,但如果两个节点ID段相同会怎样呢? 实验前,我们首先要对CAN报文的结构组成.仲裁原理有清晰的认识. 一.CAN报文结构 目前使用最广泛的CA ...
- Spring Cloud(五) --- zuul
微服务网关 在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个API网关根据请求的url,路由到相应的服务.当添加API网关后,在第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用 ...
- Linux 系统缓存机制学习
前言:本文为参考他人的文章,是一篇学习记录型博客.理解linux的系统缓存机制有助于理解elasticsearch实时更新的原理. 一.缓存机制 为了提高文件系统性能,内核利用一部分物理内存分配出缓冲 ...
- centos6.5重新调整/home和跟目录/大小
0. 说明 系统刚刚安装完之后,默认到/home有1.5TiB,而根分区只有200G.现在是要将VolGroup-lv_home缩小到200G,并将剩余的空间添加给VolGroup-lv_root. ...