使用caffe用CSV数据训练Lenet
use caffe to train Lenet with CSV data
请问,我有一个关于使用caffe 获取高清数据的问题?我尝试通过以下步骤 运行 关于 Kaggle mnist csv 数据的示例
用h5py
转成h5数据。 (我是用caffe-example.py来转换的)
然后修改lenet_train_test_prototxt并训练它。我对这一步很茫然。
我在这里做的唯一改变是
layer {
name: "mnist"
type: "HDF5Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
scale: 0.00390625
}
data_param {
source: "data/mnist_train_h5.txt"
batch_size: 64
}
}
如何更改 lenet_train_test_prototxt 以适应数据?或者我还需要更改其他一些文件?错误日志是
enF0724 18:21:11.052737 79373 hdf5_data_layer.cpp:76] Check failed: !this->layer_param_.has_transform_param() HDF5Data does not transform data.
> *** Check failure stack trace: ***
> @ 0x7fe8188bbdaa (unknown)
> @ 0x7fe8188bbce4 (unknown)
> @ 0x7fe8188bb6e6 (unknown)
> @ 0x7fe8188be687 (unknown)
> @ 0x7fe818caec10 caffe::HDF5DataLayer<>::LayerSetUp()
> @ 0x7fe818c520a3 caffe::Net<>::Init()
> @ 0x7fe818c53e12 caffe::Net<>::Net()
> @ 0x7fe818c0ba20 caffe::Solver<>::InitTrainNet()
> @ 0x7fe818c0c9c3 caffe::Solver<>::Init()
> @ 0x7fe818c0cb96 caffe::Solver<>::Solver()
> @ 0x40c8f0 caffe::GetSolver<>()
> @ 0x406541 train()
> @ 0x404a81 main
> @ 0x7fe817dcdec5 (unknown)
> @ 0x40502d (unknown)
> @ (nil) (unknown) Aborted (core dumped)ter code here
我假设你有一个 hdf5 数据文件 'data/mnist_train_h5.hd5'
。
从你得到的报错信息可以看出,"HDF5Data"
层不支持数据转换。具体来说,不能按层缩放数据。
因此,您希望进行的任何转换,都必须在 'data/mnist_train_h5.hd5'
.
的创建过程中 您自己 应用它们
"HDF5Data"
层不接受 data_param
,而是 hdf5_data_param
带有参数 source
指定 list 的 hd5 二进制文件。在您的情况下,您应该准备一个额外的 text 文件 'data/mnist_train_h5.txt'
,其中只有一行:
data/mnist_train_h5.hd5
此文本文件将告诉 caffe 读取 'data/mnist_train_h5.hd5'
。
生成的图层应如下所示:
layer {
name: "mnist"
type: "HDF5Data"
top: "data"
top: "label"
hdf5_data_param {
source: "data/mnist_train_h5.txt"
batch_size: 64
}
include {
phase: TRAIN
}
}
请问,我有一个关于使用caffe 获取高清数据的问题?我尝试通过以下步骤 运行 关于 Kaggle mnist csv 数据的示例
用
h5py
转成h5数据。 (我是用caffe-example.py来转换的)然后修改lenet_train_test_prototxt并训练它。我对这一步很茫然。
我在这里做的唯一改变是
layer {
name: "mnist"
type: "HDF5Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
scale: 0.00390625
}
data_param {
source: "data/mnist_train_h5.txt"
batch_size: 64
}
}
如何更改 lenet_train_test_prototxt 以适应数据?或者我还需要更改其他一些文件?错误日志是
enF0724 18:21:11.052737 79373 hdf5_data_layer.cpp:76] Check failed: !this->layer_param_.has_transform_param() HDF5Data does not transform data.
> *** Check failure stack trace: ***
> @ 0x7fe8188bbdaa (unknown)
> @ 0x7fe8188bbce4 (unknown)
> @ 0x7fe8188bb6e6 (unknown)
> @ 0x7fe8188be687 (unknown)
> @ 0x7fe818caec10 caffe::HDF5DataLayer<>::LayerSetUp()
> @ 0x7fe818c520a3 caffe::Net<>::Init()
> @ 0x7fe818c53e12 caffe::Net<>::Net()
> @ 0x7fe818c0ba20 caffe::Solver<>::InitTrainNet()
> @ 0x7fe818c0c9c3 caffe::Solver<>::Init()
> @ 0x7fe818c0cb96 caffe::Solver<>::Solver()
> @ 0x40c8f0 caffe::GetSolver<>()
> @ 0x406541 train()
> @ 0x404a81 main
> @ 0x7fe817dcdec5 (unknown)
> @ 0x40502d (unknown)
> @ (nil) (unknown) Aborted (core dumped)ter code here
我假设你有一个 hdf5 数据文件 'data/mnist_train_h5.hd5'
。
从你得到的报错信息可以看出,
"HDF5Data"
层不支持数据转换。具体来说,不能按层缩放数据。
因此,您希望进行的任何转换,都必须在'data/mnist_train_h5.hd5'
. 的创建过程中 您自己 应用它们
"HDF5Data"
层不接受data_param
,而是hdf5_data_param
带有参数source
指定 list 的 hd5 二进制文件。在您的情况下,您应该准备一个额外的 text 文件'data/mnist_train_h5.txt'
,其中只有一行:
data/mnist_train_h5.hd5
此文本文件将告诉 caffe 读取 'data/mnist_train_h5.hd5'
。
生成的图层应如下所示:
layer {
name: "mnist"
type: "HDF5Data"
top: "data"
top: "label"
hdf5_data_param {
source: "data/mnist_train_h5.txt"
batch_size: 64
}
include {
phase: TRAIN
}
}