bool supervised_data_mem_reader::read( void * input_neurons, float * output_neurons) { if (!entry_available()) return false; if (input_neurons) { const void * input_src; switch (type_code) { case neuron_data_type::type_byte: input_src = &(*input_data_list_byte[entry_read_count]->begin()); break; case neuron_data_type::type_float: input_src = &(*input_data_list_float[entry_read_count]->begin()); break; } memcpy(input_neurons, input_src, input_neuron_count * neuron_data_type::get_input_size(type_code)); } if (output_neurons) { const float * output_src = &(*output_data_list[entry_read_count]->begin()); memcpy(output_neurons, output_src, input_neuron_count * sizeof(float)); } entry_read_count++; return true; }
bool supervised_limited_entry_count_data_reader::raw_read(std::vector<unsigned char>& all_elems) { if (!entry_available()) return false; ++entry_read_count; return original_reader->raw_read(all_elems); }
bool supervised_limited_entry_count_data_reader::read( void * input_elems, float * output_elems) { if (!entry_available()) return false; ++entry_read_count; return original_reader->read(input_elems, output_elems); }