您的位置:首页 > Web前端

Windows Caffe 学习笔记 CIFAR-10数据的格式转换

2017-09-23 23:10 686 查看
Caffe要求的标准数据格式是LEVELDB或LMDB,所以先从CIFAR官网下载binary格式的数据(点击打开链接),然后进行转换。

从网上看到的几篇文章,解决方法均为:编译MainCaller.cpp,而在我的caffe中找不到此类文件,应该是因为版本问题的原因。所以,记录下我解决的方法。

一、将binary格式的CIFAR-10转换为LEVELDB格式的过程:

1.打开caffe.sln,编译convert_cifar_data.cpp,之后会在Build\x64\Release中生成convert_cifar_data.exe.

截图如下,作为参考:



2.cmd命令行,运行convert_cifar_data.exe,可以看到使用帮助:



可以看到Usage:  convert_cifar_data input_folder output_folder db_type

input_folder可以从官网下载(http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz)也可以从链接下载:http://pan.baidu.com/s/1eR4ytKQ 密码:g6gj

可以把命令写成一个bat文件来执行,如下:

@echo off

SET HOME=D:\Caffe\caffe-master

SET TOOL=%HOME%\Build\x64\Release\convert_cifar_data.exe

SET EXAMPLE=%HOME%\examples\cifar10

SET DATA=%HOME%\data\cifar10\cifar-10-batches-bin

SET DBTYPE=leveldb

@echo on

echo "Creating leveldb..."

@echo off

if exist %EXAMPLE%\cifar10_train_%DBTYPE% @del %EXAMPLE%\cifar10_train_%DBTYPE% /f /q

if exist %EXAMPLE%\cifar10_test_%DBTYPE% @del %EXAMPLE%\cifar10_test_%DBTYPE% /f /q

@echo on

%TOOL% %DATA% %EXAMPLE% %DBTYPE%

@echo "Done."

@pause

里面的路径根据自己电脑的实际情况修改,点击之后打印如下:


在指定文件夹中,便生成了LEVELDB格式的数据:路径就是%EXAMPLE%指定的路径

二、求图像数据的均值

1.同上面的步骤一样,打开Caffe.sln,编译compute_image_mean,会在Build\x64\Release中得到compute_image_mean.exe.

2.输入如下格式的命令写成如下的bat文件,点击执行

@echo off

SET HOME=D:\Caffe\caffe-master

SET TOOL=%HOME%\Build\x64\Release\compute_image_mean.exe

SET TRAINDATA=%HOME%\examples\cifar10\cifar10_train_leveldb

SET MEANDATA=%HOME%\examples\cifar10\mean.binaryproto

SET DBTYPE=leveldb

@echo on

echo "Compute image mean..."

@echo off

if exist %MEANDATA% @del %MEANDATA% /f /q

@echo on

%TOOL% %TRAINDATA% %MEANDATA% --backend=%DBTYPE%

@echo "Done."

@pause

3.在指定位置,得到mean.binaryproto
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐