class_layer_1_1_convolution_layer.tex 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. \hypertarget{class_layer_1_1_convolution_layer}{}\doxysection{Layer\+::Convolution\+Layer Class Reference}
  2. \label{class_layer_1_1_convolution_layer}\index{Layer::ConvolutionLayer@{Layer::ConvolutionLayer}}
  3. {\ttfamily \#include $<$convolution.\+hpp$>$}
  4. Inheritance diagram for Layer\+::Convolution\+Layer\+:
  5. \nopagebreak
  6. \begin{figure}[H]
  7. \begin{center}
  8. \leavevmode
  9. \includegraphics[width=215pt]{class_layer_1_1_convolution_layer__inherit__graph}
  10. \end{center}
  11. \end{figure}
  12. \doxysubsection*{Public Member Functions}
  13. \begin{DoxyCompactItemize}
  14. \item
  15. \mbox{\hyperlink{class_layer_1_1_convolution_layer_a7d76977d90ca11bd1d36dbade396f1c6}{Convolution\+Layer}} (size\+\_\+t nf, size\+\_\+t ni, size\+\_\+t nj, size\+\_\+t p, size\+\_\+t q, size\+\_\+t mf)
  16. \item
  17. \mbox{\hyperlink{class_layer_1_1_convolution_layer_a0b79936c340c1667025dfda84c4c9273}{$\sim$\+Convolution\+Layer}} ()
  18. \item
  19. void \mbox{\hyperlink{class_layer_1_1_convolution_layer_a4ec9a15fc2bb960f6c02841c6293d61a}{init}} (\mbox{\hyperlink{vector_8hpp_a4b04262b81aa7d31eb5d2f607e2a35de}{Real}} mu, \mbox{\hyperlink{vector_8hpp_a4b04262b81aa7d31eb5d2f607e2a35de}{Real}} sigma)
  20. \item
  21. \mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} \mbox{\hyperlink{class_layer_1_1_convolution_layer_a8315ef1016d165f8986fb3d4c2b65276}{feed\+\_\+forward}} (\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} \mbox{\hyperlink{class_layer_1_1_layer_af2ebcf019bc0e4b97f41fc9205706665}{x}}) override
  22. \item
  23. void \mbox{\hyperlink{class_layer_1_1_convolution_layer_a435dfabf3e575ddf07a11304e2d4fe84}{init\+\_\+nabla}} () override
  24. \item
  25. \mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} \mbox{\hyperlink{class_layer_1_1_convolution_layer_a5ccdf83a1217d57678c8bedcecc43a2a}{back\+\_\+propagation}} (\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} e) override
  26. \item
  27. void \mbox{\hyperlink{class_layer_1_1_convolution_layer_a4764f42dfc31ad2d848e0d1c22b0704b}{update}} (\mbox{\hyperlink{vector_8hpp_a4b04262b81aa7d31eb5d2f607e2a35de}{Real}} eta) override
  28. \end{DoxyCompactItemize}
  29. \doxysubsection*{Additional Inherited Members}
  30. \doxysubsection{Constructor \& Destructor Documentation}
  31. \mbox{\Hypertarget{class_layer_1_1_convolution_layer_a7d76977d90ca11bd1d36dbade396f1c6}\label{class_layer_1_1_convolution_layer_a7d76977d90ca11bd1d36dbade396f1c6}}
  32. \index{Layer::ConvolutionLayer@{Layer::ConvolutionLayer}!ConvolutionLayer@{ConvolutionLayer}}
  33. \index{ConvolutionLayer@{ConvolutionLayer}!Layer::ConvolutionLayer@{Layer::ConvolutionLayer}}
  34. \doxysubsubsection{\texorpdfstring{ConvolutionLayer()}{ConvolutionLayer()}}
  35. {\footnotesize\ttfamily Layer\+::\+Convolution\+Layer\+::\+Convolution\+Layer (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{nf, }\item[{size\+\_\+t}]{ni, }\item[{size\+\_\+t}]{nj, }\item[{size\+\_\+t}]{p, }\item[{size\+\_\+t}]{q, }\item[{size\+\_\+t}]{mf }\end{DoxyParamCaption})}
  36. \mbox{\Hypertarget{class_layer_1_1_convolution_layer_a0b79936c340c1667025dfda84c4c9273}\label{class_layer_1_1_convolution_layer_a0b79936c340c1667025dfda84c4c9273}}
  37. \index{Layer::ConvolutionLayer@{Layer::ConvolutionLayer}!````~ConvolutionLayer@{$\sim$ConvolutionLayer}}
  38. \index{````~ConvolutionLayer@{$\sim$ConvolutionLayer}!Layer::ConvolutionLayer@{Layer::ConvolutionLayer}}
  39. \doxysubsubsection{\texorpdfstring{$\sim$ConvolutionLayer()}{~ConvolutionLayer()}}
  40. {\footnotesize\ttfamily Layer\+::\+Convolution\+Layer\+::$\sim$\+Convolution\+Layer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
  41. \doxysubsection{Member Function Documentation}
  42. \mbox{\Hypertarget{class_layer_1_1_convolution_layer_a5ccdf83a1217d57678c8bedcecc43a2a}\label{class_layer_1_1_convolution_layer_a5ccdf83a1217d57678c8bedcecc43a2a}}
  43. \index{Layer::ConvolutionLayer@{Layer::ConvolutionLayer}!back\_propagation@{back\_propagation}}
  44. \index{back\_propagation@{back\_propagation}!Layer::ConvolutionLayer@{Layer::ConvolutionLayer}}
  45. \doxysubsubsection{\texorpdfstring{back\_propagation()}{back\_propagation()}}
  46. {\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} Layer\+::\+Convolution\+Layer\+::back\+\_\+propagation (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}}}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}
  47. Apply back propagation algorithm on the delta output vector d. Used the input vector stored in x\+\_\+in\+\_\+ref during feedforward. Return a reference to the computed (and stored) input delta vector. Nabla vectors must be computed here.
  48. Implements \mbox{\hyperlink{class_layer_1_1_layer_ad9e2853fce56b014b1e9de5097e21dbd}{Layer\+::\+Layer}}.
  49. \mbox{\Hypertarget{class_layer_1_1_convolution_layer_a8315ef1016d165f8986fb3d4c2b65276}\label{class_layer_1_1_convolution_layer_a8315ef1016d165f8986fb3d4c2b65276}}
  50. \index{Layer::ConvolutionLayer@{Layer::ConvolutionLayer}!feed\_forward@{feed\_forward}}
  51. \index{feed\_forward@{feed\_forward}!Layer::ConvolutionLayer@{Layer::ConvolutionLayer}}
  52. \doxysubsubsection{\texorpdfstring{feed\_forward()}{feed\_forward()}}
  53. {\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} Layer\+::\+Convolution\+Layer\+::feed\+\_\+forward (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}}}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}
  54. Apply the layer to the input vector {\ttfamily x}. Vectors {\ttfamily x\+\_\+in\+\_\+ref} and {\ttfamily x\+\_\+out} must be updated in consequence. Return a reference to x\+\_\+out.
  55. Implements \mbox{\hyperlink{class_layer_1_1_layer_aeb5b92a01bc4e867d347bff4767e919f}{Layer\+::\+Layer}}.
  56. \mbox{\Hypertarget{class_layer_1_1_convolution_layer_a4ec9a15fc2bb960f6c02841c6293d61a}\label{class_layer_1_1_convolution_layer_a4ec9a15fc2bb960f6c02841c6293d61a}}
  57. \index{Layer::ConvolutionLayer@{Layer::ConvolutionLayer}!init@{init}}
  58. \index{init@{init}!Layer::ConvolutionLayer@{Layer::ConvolutionLayer}}
  59. \doxysubsubsection{\texorpdfstring{init()}{init()}}
  60. {\footnotesize\ttfamily void Layer\+::\+Convolution\+Layer\+::init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a4b04262b81aa7d31eb5d2f607e2a35de}{Real}}}]{mu, }\item[{\mbox{\hyperlink{vector_8hpp_a4b04262b81aa7d31eb5d2f607e2a35de}{Real}}}]{sigma }\end{DoxyParamCaption})}
  61. \mbox{\Hypertarget{class_layer_1_1_convolution_layer_a435dfabf3e575ddf07a11304e2d4fe84}\label{class_layer_1_1_convolution_layer_a435dfabf3e575ddf07a11304e2d4fe84}}
  62. \index{Layer::ConvolutionLayer@{Layer::ConvolutionLayer}!init\_nabla@{init\_nabla}}
  63. \index{init\_nabla@{init\_nabla}!Layer::ConvolutionLayer@{Layer::ConvolutionLayer}}
  64. \doxysubsubsection{\texorpdfstring{init\_nabla()}{init\_nabla()}}
  65. {\footnotesize\ttfamily void Layer\+::\+Convolution\+Layer\+::init\+\_\+nabla (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}
  66. Initialize nabla vectors which are used during gradient descent.
  67. Implements \mbox{\hyperlink{class_layer_1_1_layer_a87dbd5d1c1091769ba285084bd3513e7}{Layer\+::\+Layer}}.
  68. \mbox{\Hypertarget{class_layer_1_1_convolution_layer_a4764f42dfc31ad2d848e0d1c22b0704b}\label{class_layer_1_1_convolution_layer_a4764f42dfc31ad2d848e0d1c22b0704b}}
  69. \index{Layer::ConvolutionLayer@{Layer::ConvolutionLayer}!update@{update}}
  70. \index{update@{update}!Layer::ConvolutionLayer@{Layer::ConvolutionLayer}}
  71. \doxysubsubsection{\texorpdfstring{update()}{update()}}
  72. {\footnotesize\ttfamily void Layer\+::\+Convolution\+Layer\+::update (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a4b04262b81aa7d31eb5d2f607e2a35de}{Real}}}]{eta }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}
  73. Update layer parameters using gradient descent algorithm with learning rate eta.
  74. Implements \mbox{\hyperlink{class_layer_1_1_layer_a8f0801b946b94dfe856c57a632c9998f}{Layer\+::\+Layer}}.
  75. The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
  76. \item
  77. src/layers/\mbox{\hyperlink{convolution_8hpp}{convolution.\+hpp}}\item
  78. src/layers/\mbox{\hyperlink{convolution_8cpp}{convolution.\+cpp}}\end{DoxyCompactItemize}