Parcourir la source

Preparation fo optimization of convolution layer

Jean Fromentin il y a 2 ans
Parent
commit
52a5631e29
43 fichiers modifiés avec 16 ajouts et 21 suppressions
  1. 1 0
      .gitignore
  2. BIN
      doc/latex/activation_8hpp__dep__incl.pdf
  3. BIN
      doc/latex/activation_8hpp__incl.pdf
  4. BIN
      doc/latex/class_dataset__inherit__graph.pdf
  5. BIN
      doc/latex/class_layer_1_1_activation_layer__inherit__graph.pdf
  6. BIN
      doc/latex/class_layer_1_1_convolution_layer__inherit__graph.pdf
  7. BIN
      doc/latex/class_layer_1_1_full_connected_layer__inherit__graph.pdf
  8. BIN
      doc/latex/class_layer_1_1_layer__inherit__graph.pdf
  9. BIN
      doc/latex/class_layer_1_1_pooling__inherit__graph.pdf
  10. BIN
      doc/latex/class_mnist__inherit__graph.pdf
  11. BIN
      doc/latex/convolution_8cpp__incl.pdf
  12. BIN
      doc/latex/convolution_8hpp__dep__incl.pdf
  13. BIN
      doc/latex/convolution_8hpp__incl.pdf
  14. BIN
      doc/latex/dataset_8hpp__dep__incl.pdf
  15. BIN
      doc/latex/dataset_8hpp__incl.pdf
  16. BIN
      doc/latex/debug_8hpp__dep__incl.pdf
  17. BIN
      doc/latex/debug_8hpp__incl.pdf
  18. BIN
      doc/latex/dir_46a221571c56bf3fcf15f3c317ca6a89_dep.pdf
  19. BIN
      doc/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf
  20. BIN
      doc/latex/dir_a481cacde78c249b6b513c075b1dc316_dep.pdf
  21. BIN
      doc/latex/full__connected_8cpp__incl.pdf
  22. BIN
      doc/latex/full__connected_8hpp__dep__incl.pdf
  23. BIN
      doc/latex/full__connected_8hpp__incl.pdf
  24. BIN
      doc/latex/layer_8hpp__dep__incl.pdf
  25. BIN
      doc/latex/layer_8hpp__incl.pdf
  26. BIN
      doc/latex/layers_8hpp__dep__incl.pdf
  27. BIN
      doc/latex/layers_8hpp__incl.pdf
  28. BIN
      doc/latex/main_8cpp__incl.pdf
  29. BIN
      doc/latex/math_8hpp__dep__incl.pdf
  30. BIN
      doc/latex/mnist_8cpp__incl.pdf
  31. BIN
      doc/latex/mnist_8hpp__dep__incl.pdf
  32. BIN
      doc/latex/mnist_8hpp__incl.pdf
  33. BIN
      doc/latex/network_8cpp__incl.pdf
  34. BIN
      doc/latex/network_8hpp__dep__incl.pdf
  35. BIN
      doc/latex/network_8hpp__incl.pdf
  36. BIN
      doc/latex/pooling_8cpp__incl.pdf
  37. BIN
      doc/latex/pooling_8hpp__dep__incl.pdf
  38. BIN
      doc/latex/pooling_8hpp__incl.pdf
  39. BIN
      doc/latex/shape_8hpp__dep__incl.pdf
  40. BIN
      doc/latex/shape_8hpp__incl.pdf
  41. BIN
      doc/latex/vector_8hpp__dep__incl.pdf
  42. BIN
      doc/latex/vector_8hpp__incl.pdf
  43. 15 21
      src/main.cpp

+ 1 - 0
.gitignore

@@ -1,2 +1,3 @@
 deep-network
 obj/*.o
+doc/*

BIN
doc/latex/activation_8hpp__dep__incl.pdf


BIN
doc/latex/activation_8hpp__incl.pdf


BIN
doc/latex/class_dataset__inherit__graph.pdf


BIN
doc/latex/class_layer_1_1_activation_layer__inherit__graph.pdf


BIN
doc/latex/class_layer_1_1_convolution_layer__inherit__graph.pdf


BIN
doc/latex/class_layer_1_1_full_connected_layer__inherit__graph.pdf


BIN
doc/latex/class_layer_1_1_layer__inherit__graph.pdf


BIN
doc/latex/class_layer_1_1_pooling__inherit__graph.pdf


BIN
doc/latex/class_mnist__inherit__graph.pdf


BIN
doc/latex/convolution_8cpp__incl.pdf


BIN
doc/latex/convolution_8hpp__dep__incl.pdf


BIN
doc/latex/convolution_8hpp__incl.pdf


BIN
doc/latex/dataset_8hpp__dep__incl.pdf


BIN
doc/latex/dataset_8hpp__incl.pdf


BIN
doc/latex/debug_8hpp__dep__incl.pdf


BIN
doc/latex/debug_8hpp__incl.pdf


BIN
doc/latex/dir_46a221571c56bf3fcf15f3c317ca6a89_dep.pdf


BIN
doc/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf


BIN
doc/latex/dir_a481cacde78c249b6b513c075b1dc316_dep.pdf


BIN
doc/latex/full__connected_8cpp__incl.pdf


BIN
doc/latex/full__connected_8hpp__dep__incl.pdf


BIN
doc/latex/full__connected_8hpp__incl.pdf


BIN
doc/latex/layer_8hpp__dep__incl.pdf


BIN
doc/latex/layer_8hpp__incl.pdf


BIN
doc/latex/layers_8hpp__dep__incl.pdf


BIN
doc/latex/layers_8hpp__incl.pdf


BIN
doc/latex/main_8cpp__incl.pdf


BIN
doc/latex/math_8hpp__dep__incl.pdf


BIN
doc/latex/mnist_8cpp__incl.pdf


BIN
doc/latex/mnist_8hpp__dep__incl.pdf


BIN
doc/latex/mnist_8hpp__incl.pdf


BIN
doc/latex/network_8cpp__incl.pdf


BIN
doc/latex/network_8hpp__dep__incl.pdf


BIN
doc/latex/network_8hpp__incl.pdf


BIN
doc/latex/pooling_8cpp__incl.pdf


BIN
doc/latex/pooling_8hpp__dep__incl.pdf


BIN
doc/latex/pooling_8hpp__incl.pdf


BIN
doc/latex/shape_8hpp__dep__incl.pdf


BIN
doc/latex/shape_8hpp__incl.pdf


BIN
doc/latex/vector_8hpp__dep__incl.pdf


BIN
doc/latex/vector_8hpp__incl.pdf


+ 15 - 21
src/main.cpp

@@ -8,27 +8,21 @@
 using namespace Layer;
 
 int main(int argc,char** argv){
-  Network N;
+  //Test of convolution layer
   size_t nf=4;
-  ConvolutionLayer L1(1,28,28,5,5,nf);
-  L1.init(0,1);
-  ActivationLayer<Sigmoid> L2(nf*24*24);
-  //Layer::Pooling L3(nf,24,24,2,2);
-  FullConnectedLayer L4(nf*24*24,10);
-  L4.init_standard();
-  ActivationLayer<Sigmoid> L5(10);
-  L1.name="[Convolutionnal]";
-  L2.name="[Sigmoid of convolutionnal]";
-  //L3.name="[Pooling]";
-  L4.name="[Full connected]";
-  L5.name="[Sigmoid of full]";
-
-  N.push_layer(L1);
-  N.push_layer(L2);
-  //    N.push_layer(&L3);
-  N.push_layer(L4);
-  N.push_layer(L5);
-  N.is_done();
+  ConvolutionLayer L(1,28,28,5,5,nf);
   Mnist dataset;
-  N.train(&dataset,1,10,0.1);
+  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";
+  
 }