From 84e390c5a16347c7369f6c92cb62526e42ce73ac Mon Sep 17 00:00:00 2001 From: Luke Yeager Date: Thu, 24 Sep 2015 12:35:35 -0700 Subject: [PATCH] Allow H5T_INTEGER in HDF5 files --- src/caffe/util/hdf5.cpp | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/caffe/util/hdf5.cpp b/src/caffe/util/hdf5.cpp index d0d05f7..7730e76 100644 --- a/src/caffe/util/hdf5.cpp +++ b/src/caffe/util/hdf5.cpp @@ -27,7 +27,34 @@ void hdf5_load_nd_dataset_helper( status = H5LTget_dataset_info( file_id, dataset_name_, dims.data(), &class_, NULL); CHECK_GE(status, 0) << "Failed to get dataset info for " << dataset_name_; - CHECK_EQ(class_, H5T_FLOAT) << "Expected float or double data"; + switch (class_) { + case H5T_FLOAT: + LOG_FIRST_N(INFO, 1) << "Datatype class: H5T_FLOAT"; + break; + case H5T_INTEGER: + LOG_FIRST_N(INFO, 1) << "Datatype class: H5T_INTEGER"; + break; + case H5T_TIME: + LOG(FATAL) << "Unsupported datatype class: H5T_TIME"; + case H5T_STRING: + LOG(FATAL) << "Unsupported datatype class: H5T_STRING"; + case H5T_BITFIELD: + LOG(FATAL) << "Unsupported datatype class: H5T_BITFIELD"; + case H5T_OPAQUE: + LOG(FATAL) << "Unsupported datatype class: H5T_OPAQUE"; + case H5T_COMPOUND: + LOG(FATAL) << "Unsupported datatype class: H5T_COMPOUND"; + case H5T_REFERENCE: + LOG(FATAL) << "Unsupported datatype class: H5T_REFERENCE"; + case H5T_ENUM: + LOG(FATAL) << "Unsupported datatype class: H5T_ENUM"; + case H5T_VLEN: + LOG(FATAL) << "Unsupported datatype class: H5T_VLEN"; + case H5T_ARRAY: + LOG(FATAL) << "Unsupported datatype class: H5T_ARRAY"; + default: + LOG(FATAL) << "Datatype class unknown"; + } vector blob_dims(dims.size()); for (int i = 0; i < dims.size(); ++i) { -- 2.7.4