#include <iomanip>
#include "layers/layers.hpp"
#include "network.hpp"
#include "mnist/mnist.hpp"
#include <chrono>


using namespace Layer;

int main(int argc,char** argv){
  //Test of convolution layer
  size_t nf=4;
  ConvolutionLayer L(1,28,28,5,5,nf);
  Mnist dataset;
  size_t N=dataset.get_train_size();
  clock_t c_start = clock();
  auto t_start = chrono::high_resolution_clock::now();
  for(int j=0;j<10;++j){
    for(size_t i=0;i<N;++i){
      pair<Vector,Vector> data=dataset.get_train(i);
      Vector x=data.first;
      L.feed_forward(x);
    }
  }
  auto t_end = chrono::high_resolution_clock::now();
  cout<< "Duration: "<< chrono::duration<double, std::milli>(t_end-t_start).count()<<" ms\n";
  
}
