利用caffe训练cifar之训练数据集合生成leveldb
来源:互联网 发布:java并发编程 编辑:程序博客网 时间:2024/06/05 06:14
1.首先要搭建好VS+Caffe的训练环境。
2.下载训练集合Cifar:
下载地址:http://www.cs.toronto.edu/~kriz/cifar.html
获得训练集合:cifar-10-binary.tar.gz
解压缩后获得cifar-10-batches-bin数据文件,里面有6个bin文件,为训练数据集合。在windows环境下可以直接使用rar解压缩。
3.在目录路径caffe-master\caffe-master\Build\x64\Debug的Debug文件下创建数据输入层文件夹。文件名名input_folder。(ps,文件名是固定的,这是代码中已经固定好的,请确认文件夹名是否问input_folder.)然后将上面解压后得到的6个bin文件拷贝到这个文件夹中。
4.在Debug目录级下新建一个bat文件,命名为training.bat,然后编辑内容:
convert_cifar_data.exe input_folder output_foldersleveldb
pause
点击运行bat文件就行了。
ps:bat文件名称可以随意,不一定非要为trainning,里面的代码也很简单,就是利用convert_cifar_data.exe执行文件训练input_folder文件夹中的数据集,然后设置leveldb文件。训练结果中自动生成两个leveldb文件夹为:
cifar10_test_leveldb中的文件内容为:
cifar10_test_leveldb中的文件内容为:
这里我们就生成了cifar的leveldb文件。
最后附加我第一次学习中遇到的两个问题:
1.第一个问题
创建input_folder文件添加训练数据后,点击bat文件,出现错误:
D:\caffe\caffe-master\caffe-master\Build\x64\Debug>convert_cifar_data.exe input
_folder output_folders leveldb
I0422 21:51:02.593572 20568 db_leveldb.cpp:18] Opened leveldb output_folders/cif
ar10_train_leveldb
I0422 21:51:02.594573 20568 convert_cifar_data.cpp:52] Writing Training data
I0422 21:51:02.594573 20568 convert_cifar_data.cpp:55] Training Batch 1
F0422 21:51:02.594573 20568 convert_cifar_data.cpp:60] Check failed: data_file U
nable to open train file #1
*** Check failure stack trace: ***
解决方法:用VS Debug到错误处代码:
for (int fileid = 0; fileid < kCIFARTrainBatches; ++fileid) { // Open files LOG(INFO) << "Training Batch " << fileid + 1; string batchFileName = input_folder + "/data_batch_" + caffe::format_int(fileid+1) + ".bin"; std::ifstream data_file(batchFileName.c_str(), std::ios::in | std::ios::binary); CHECK(data_file) << "Unable to open train file #" << fileid + 1; for (int itemid = 0; itemid < kCIFARBatchSize; ++itemid) { read_image(&data_file, &label, str_buffer); datum.set_label(label); datum.set_data(str_buffer, kCIFARImageNBytes); string out; CHECK(datum.SerializeToString(&out)); txn->Put(caffe::format_int(fileid * kCIFARBatchSize + itemid, 5), out); }
肯定是数据集或者数据集的路径出现了问题,首先检查自己的数据集文件,也就是6个bin文件是否大小都为30010KB,以保证文件数据没有缺失。网上说用rar解压cifar-10-binary.tar.gz得到的数据不正确,本人觉得纯属于胡扯,本人亲自试验用7-zip和rar解压获得数据文件都是一样,都可以进行训练。
数据文件完好无损的后,检查数据文件名称是否问input_folder!!!!!!博主第一次出现Check failed: data_file Unable to open train file这个问题就是因为创建input_folder文件多加了个空格,导致运行错误。说到心塞。注意路径!注意路径!注意路径!重要的事说三遍。
2.第二个问题
运行bat文件后出现错误信息:
D:\caffe\caffe-master\caffe-master\Build\x64\Debug>convert_cifar_data.exe input
_folder output_folders leveldb
F0414 09:18:39.685039 4272 db_leveldb.cpp:16] Check failed: status.ok() Failed
to open leveldb output_folders/cifar10_train_leveldb
Invalid argument: output_folders/cifar10_train_leveldb: exists (error_if_exists
is true)
*** Check failure stack trace: ***
解决办法:删除output_folders文件夹重新运行bat文件。问题解决。
- 利用caffe训练cifar之训练数据集合生成leveldb
- Ubuntu+caffe训练cifar-10数据集
- caffe训练CIFAR数据库
- caffe示例实现之1在CIFAR-10数据集上训练与测试Caffe
- BWN-XNOR-caffe-master训练二进制cifar数据集
- caffe学习(二) CIFAR-10数据集上训练
- CIFAR-10 在Caffe上训练学习
- CIFAR-10在caffe上进行训练
- 使用Caffe + VGG16 训练 Cifar-10
- 利用video-caffe训练自己的数据
- caffe-1.1-纯CPU入门--调用自己的leveldb数据格式(本例为cifar的部分图片对应的leveldb格式),进行训练和测试
- Windows Caffe 学习笔记(一)训练和测试CIFAR-10数据集
- simpleCNN 训练 cifar-10 数据集
- caffe再见之训练自己的数据
- caffe再见之训练自己的数据
- Caffe 训练mnist数据
- 我的第一个二值化网络:BWN-XNOR-caffe安装注意项&&BWN-XNOR-caffe-master训练二进制cifar数据集
- 利用python生成caffe训练数集的txt文件
- web.xml is missing and <failOnMissingWebXml> is set to true
- LeetCode ( Reverse Nodes in k-Group)
- 感觉python好简洁啊。
- AngularJs学习笔记(5)--模块(module)
- VUE第一天基本学习
- 利用caffe训练cifar之训练数据集合生成leveldb
- h5 的video视频控件
- Java NIO 之缓冲区
- Kubernetes编排工具-helm源码分析(helm客户端)
- poj1322 Chocolate(滚动数组dp)
- Java中的happen-before规则
- C3P0快速入门
- 两串旋转问题
- Spring基本知识