#ifndef MNIST_HPP #define MNIST_HPP #include #include #include #include #include #include "../dataset.hpp" using namespace std; class Mnist:public Dataset{ private: unsigned char* train_labels; unsigned char* test_labels; unsigned char* train_images; unsigned char* test_images; mutable Vector x; mutable Vector y; size_t load_labels(string filename,unsigned char** dst); size_t load_images(string filename,unsigned char** dst); int reverse_int32(unsigned char* buffer); pair get(const size_t i,const unsigned char* const* labels,const unsigned char* const * images) const; public: Mnist(); pair get_train(const size_t i) const; pair get_test(const size_t i) const; }; inline pair Mnist::get_train(const size_t i) const{ assert(i Mnist::get_test(const size_t i) const{ assert(i