Use hdf5 as caffe input, error: HDF5Data does not transform data
Use hdf5 as caffe input, error: HDF5Data does not transform data
我使用hdf5文件作为caffe输入数据,出现错误:
hdf5_data_layer.cpp:75] Check failed: !this->layer_param_.has_transform_param() HDF5Data does not transform data.
这是我的定义:
layer {
name: "weight28"
type: "HDF5Data"
include { phase : TRAIN }
transform_param { scale: 0.00392156862745098 }
hdf5_data_param {
source: "/home/zhangyu/codes/unsupervised/data/weight28.h5"
batch_size: 8
}
top: "weight28"
}
这是我的 h5 文件的一些信息:
HDF5 weight28.h5
Group '/'
Dataset 'data'
Size: 2555000x28
MaxSize: Infx28
Datatype: H5T_IEEE_F64LE (double)
ChunkSize: 28x28
Filters: none
FillValue: 0.000000
我找到了 ,答案是 您不能在 hdf5data 层中使用转换参数。
caffe中的剂量数据转换做什么?我可以直接取消吗?
正如您已经发现的那样,您不能在 "HDF5Data"
层中包含 transformation_param
- caffe 不支持此功能。
至于转换参数本身,看caffe.proto
:
// For data pre-processing, we can do simple scaling and subtracting the
// data mean, if provided. Note that the mean subtraction is always carried
// out before scaling.
optional float scale = 1 [default = 1];
transform_param { scale: 0.00392156862745098 }
意味着您的网络希望您的输入按 0.0039..
(1/254) 缩放。
当您创建用于训练的 hdf5 数据文件时,您可以(并且可能应该)将数据缩放 1/254,然后从 "HDF5Data"
层中删除 transform_param
。
回应user6931072提到的错误Check failed: H5LTfind_dataset(file_id, dataset_name_) Failed to find HDF5 dataset
:
您应该提供一个文本文件作为源,而不是 hdf5 文件。因此,创建一个列出 hdf5 文件的文本文件,而不是 source: "/home/zhangyu/codes/unsupervised/data/weight28.h5"
,然后使用 source: "/home/zhangyu/codes/unsupervised/data/myhdf5data.txt"
.
我使用hdf5文件作为caffe输入数据,出现错误:
hdf5_data_layer.cpp:75] Check failed: !this->layer_param_.has_transform_param() HDF5Data does not transform data.
这是我的定义:
layer {
name: "weight28"
type: "HDF5Data"
include { phase : TRAIN }
transform_param { scale: 0.00392156862745098 }
hdf5_data_param {
source: "/home/zhangyu/codes/unsupervised/data/weight28.h5"
batch_size: 8
}
top: "weight28"
}
这是我的 h5 文件的一些信息:
HDF5 weight28.h5
Group '/'
Dataset 'data'
Size: 2555000x28
MaxSize: Infx28
Datatype: H5T_IEEE_F64LE (double)
ChunkSize: 28x28
Filters: none
FillValue: 0.000000
我找到了
caffe中的剂量数据转换做什么?我可以直接取消吗?
正如您已经发现的那样,您不能在
"HDF5Data"
层中包含transformation_param
- caffe 不支持此功能。至于转换参数本身,看
caffe.proto
:
// For data pre-processing, we can do simple scaling and subtracting the // data mean, if provided. Note that the mean subtraction is always carried // out before scaling. optional float scale = 1 [default = 1];
transform_param { scale: 0.00392156862745098 }
意味着您的网络希望您的输入按 0.0039..
(1/254) 缩放。
当您创建用于训练的 hdf5 数据文件时,您可以(并且可能应该)将数据缩放 1/254,然后从 "HDF5Data"
层中删除 transform_param
。
回应user6931072提到的错误Check failed: H5LTfind_dataset(file_id, dataset_name_) Failed to find HDF5 dataset
:
您应该提供一个文本文件作为源,而不是 hdf5 文件。因此,创建一个列出 hdf5 文件的文本文件,而不是 source: "/home/zhangyu/codes/unsupervised/data/weight28.h5"
,然后使用 source: "/home/zhangyu/codes/unsupervised/data/myhdf5data.txt"
.