瀏覽代碼

Preparation fo optimization of convolution layer

Jean Fromentin 3 年之前
父節點
當前提交
52a5631e29
共有 43 個文件被更改,包括 16 次插入21 次删除
  1. 1 0
      .gitignore
  2. 二進制
      doc/latex/activation_8hpp__dep__incl.pdf
  3. 二進制
      doc/latex/activation_8hpp__incl.pdf
  4. 二進制
      doc/latex/class_dataset__inherit__graph.pdf
  5. 二進制
      doc/latex/class_layer_1_1_activation_layer__inherit__graph.pdf
  6. 二進制
      doc/latex/class_layer_1_1_convolution_layer__inherit__graph.pdf
  7. 二進制
      doc/latex/class_layer_1_1_full_connected_layer__inherit__graph.pdf
  8. 二進制
      doc/latex/class_layer_1_1_layer__inherit__graph.pdf
  9. 二進制
      doc/latex/class_layer_1_1_pooling__inherit__graph.pdf
  10. 二進制
      doc/latex/class_mnist__inherit__graph.pdf
  11. 二進制
      doc/latex/convolution_8cpp__incl.pdf
  12. 二進制
      doc/latex/convolution_8hpp__dep__incl.pdf
  13. 二進制
      doc/latex/convolution_8hpp__incl.pdf
  14. 二進制
      doc/latex/dataset_8hpp__dep__incl.pdf
  15. 二進制
      doc/latex/dataset_8hpp__incl.pdf
  16. 二進制
      doc/latex/debug_8hpp__dep__incl.pdf
  17. 二進制
      doc/latex/debug_8hpp__incl.pdf
  18. 二進制
      doc/latex/dir_46a221571c56bf3fcf15f3c317ca6a89_dep.pdf
  19. 二進制
      doc/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf
  20. 二進制
      doc/latex/dir_a481cacde78c249b6b513c075b1dc316_dep.pdf
  21. 二進制
      doc/latex/full__connected_8cpp__incl.pdf
  22. 二進制
      doc/latex/full__connected_8hpp__dep__incl.pdf
  23. 二進制
      doc/latex/full__connected_8hpp__incl.pdf
  24. 二進制
      doc/latex/layer_8hpp__dep__incl.pdf
  25. 二進制
      doc/latex/layer_8hpp__incl.pdf
  26. 二進制
      doc/latex/layers_8hpp__dep__incl.pdf
  27. 二進制
      doc/latex/layers_8hpp__incl.pdf
  28. 二進制
      doc/latex/main_8cpp__incl.pdf
  29. 二進制
      doc/latex/math_8hpp__dep__incl.pdf
  30. 二進制
      doc/latex/mnist_8cpp__incl.pdf
  31. 二進制
      doc/latex/mnist_8hpp__dep__incl.pdf
  32. 二進制
      doc/latex/mnist_8hpp__incl.pdf
  33. 二進制
      doc/latex/network_8cpp__incl.pdf
  34. 二進制
      doc/latex/network_8hpp__dep__incl.pdf
  35. 二進制
      doc/latex/network_8hpp__incl.pdf
  36. 二進制
      doc/latex/pooling_8cpp__incl.pdf
  37. 二進制
      doc/latex/pooling_8hpp__dep__incl.pdf
  38. 二進制
      doc/latex/pooling_8hpp__incl.pdf
  39. 二進制
      doc/latex/shape_8hpp__dep__incl.pdf
  40. 二進制
      doc/latex/shape_8hpp__incl.pdf
  41. 二進制
      doc/latex/vector_8hpp__dep__incl.pdf
  42. 二進制
      doc/latex/vector_8hpp__incl.pdf
  43. 15 21
      src/main.cpp

+ 1 - 0
.gitignore

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

二進制
doc/latex/activation_8hpp__dep__incl.pdf


二進制
doc/latex/activation_8hpp__incl.pdf


二進制
doc/latex/class_dataset__inherit__graph.pdf


二進制
doc/latex/class_layer_1_1_activation_layer__inherit__graph.pdf


二進制
doc/latex/class_layer_1_1_convolution_layer__inherit__graph.pdf


二進制
doc/latex/class_layer_1_1_full_connected_layer__inherit__graph.pdf


二進制
doc/latex/class_layer_1_1_layer__inherit__graph.pdf


二進制
doc/latex/class_layer_1_1_pooling__inherit__graph.pdf


二進制
doc/latex/class_mnist__inherit__graph.pdf


二進制
doc/latex/convolution_8cpp__incl.pdf


二進制
doc/latex/convolution_8hpp__dep__incl.pdf


二進制
doc/latex/convolution_8hpp__incl.pdf


二進制
doc/latex/dataset_8hpp__dep__incl.pdf


二進制
doc/latex/dataset_8hpp__incl.pdf


二進制
doc/latex/debug_8hpp__dep__incl.pdf


二進制
doc/latex/debug_8hpp__incl.pdf


二進制
doc/latex/dir_46a221571c56bf3fcf15f3c317ca6a89_dep.pdf


二進制
doc/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf


二進制
doc/latex/dir_a481cacde78c249b6b513c075b1dc316_dep.pdf


二進制
doc/latex/full__connected_8cpp__incl.pdf


二進制
doc/latex/full__connected_8hpp__dep__incl.pdf


二進制
doc/latex/full__connected_8hpp__incl.pdf


二進制
doc/latex/layer_8hpp__dep__incl.pdf


二進制
doc/latex/layer_8hpp__incl.pdf


二進制
doc/latex/layers_8hpp__dep__incl.pdf


二進制
doc/latex/layers_8hpp__incl.pdf


二進制
doc/latex/main_8cpp__incl.pdf


二進制
doc/latex/math_8hpp__dep__incl.pdf


二進制
doc/latex/mnist_8cpp__incl.pdf


二進制
doc/latex/mnist_8hpp__dep__incl.pdf


二進制
doc/latex/mnist_8hpp__incl.pdf


二進制
doc/latex/network_8cpp__incl.pdf


二進制
doc/latex/network_8hpp__dep__incl.pdf


二進制
doc/latex/network_8hpp__incl.pdf


二進制
doc/latex/pooling_8cpp__incl.pdf


二進制
doc/latex/pooling_8hpp__dep__incl.pdf


二進制
doc/latex/pooling_8hpp__incl.pdf


二進制
doc/latex/shape_8hpp__dep__incl.pdf


二進制
doc/latex/shape_8hpp__incl.pdf


二進制
doc/latex/vector_8hpp__dep__incl.pdf


二進制
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";
+  
 }