32 data_filename(
"data_filename",data_filename_),
33 labels_filename(
"labels_filename", labels_filename_),
34 samples_limit(
"samples_limit",-1)
61 float rgb_grayscale_coeffs[] = {0.299, 0.587, 0.114};
66 std::ifstream labels_file(
labels_filename, std::ios::in | std::ios::binary);
69 LOG(LSTATUS) <<
"Opening file containing STL-10 labels: " <<
labels_filename;
70 if (!labels_file.is_open()) {
77 LOG(LSTATUS) <<
"Opening file containing STL-10 images: " <<
data_filename;
78 std::ifstream data_file(
data_filename, std::ios::in | std::ios::binary);
79 if (!data_file.is_open()) {
85 LOG(LSTATUS) <<
"Importing STL-10 images. This might take a while...";
91 unsigned int temp_label;
94 labels_file.read(buffer, 1);
96 if (labels_file.eof())
99 temp_label = (
unsigned int)buffer[0];
117 for (
size_t j = 0 ; j < 3 ; j++) {
118 for (
size_t i = 0 ; i < (size_t)(
image_width*image_height) ; i++) {
122 (*image_ptr)(row, col) += rgb_grayscale_coeffs[j] * (
float)((uint8_t)buffer[i + ((image_height*
image_width)*j)])/255.0f;
127 LOG(LDEBUG) <<
"Loading STL-10 sample: " << sample;
130 sample_labels.push_back(std::make_shared <unsigned int> (temp_label) );
138 LOG(LINFO) <<
"Imported " <<
sample_labels.size() <<
" patches";
152 LOG(LINFO) <<
"Data import finished";
std::shared_ptr< mic::types::MatrixXf > MatrixXfPtr
Shared pointer to matrix with single precision floats (of dynamic size).
std::vector< size_t > sample_indices
Stores sample indices (sample "positions" in original dataset).
mic::configuration::Property< std::string > data_filename
void setDataFilename(std::string data_filename_)
Parent class for all data importers.
std::vector< std::shared_ptr< mic::types::MatrixXf > > sample_data
Stores the data.
void setLabelsFilename(std::string labels_filename_)
STL10MatrixImporter(std::string node_name_="stl10_matrix_importer", std::string data_filename_="", std::string labels_filename_="")
mic::configuration::Property< int > samples_limit
mic::configuration::Property< std::string > labels_filename
std::vector< std::shared_ptr< unsigned int > > sample_labels
Stores labels.
Template-typed Matrix of dynamic size. Uses OpenBLAS if found by CMAKE - overloaded, specializations of * operator for types: float, double.