<p>In <a href="https://github.com/mlpack/mlpack/pull/757#discussion_r75211871">src/mlpack/methods/ann/layer/inception_layer.hpp</a>:</p>
<pre style='color:#555'>&gt; +    // Forward pass for 3x3 pool path. 
&gt; +    pool3.InputParameter() = input;
&gt; +    pool3.Forward(input, pool3.OutputParameter());
&gt; +    Pad(pool3.OutputParameter(), 1, 1, convPool.InputParameter());
&gt; +    convPool.Forward(pool3.OutputParameter(), convPool.OutputParameter());
&gt; +    biasPool.Forward(convPool.OutputParameter(), biasPool.OutputParameter());
&gt; +    basePool.InputParameter() = biasPool.OutputParameter();
&gt; +    basePool.Forward(convPool.OutputParameter(), basePool.OutputParameter());
&gt; +
&gt; +    // concatenate outputs of all the paths.
&gt; +    output = arma::join_slices( 
&gt; +              arma::join_slices(
&gt; +                arma::join_slices( 
&gt; +                  base1.OutputParameter(), base3.OutputParameter() ), 
&gt; +                  base5.OutputParameter() ), basePool.OutputParameter());
&gt; +
</pre>
<p>The main class (e.g. CNN) has to initialize the weights somehow, to do that it needs to know the parameter size (weights). So, what the main class basically does is to create a parameter vector, initialize that parameter vector and call the Forward, Backward and Gradient function with the initialized parameters.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/mlpack/mlpack/pull/757/files/06d923321f246f2c6ead9ad56e99309fe24a6f5c#r75211871">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AJ4bFOHtRBrqUV_ND2mhW-tDV2quMBLuks5qg354gaJpZM4JejWj">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFL9P0Wkbfy3F5yLLHdT74IOg465Gks5qg354gaJpZM4JejWj.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/mlpack/mlpack/pull/757/files/06d923321f246f2c6ead9ad56e99309fe24a6f5c#r75211871"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/mlpack/mlpack","title":"mlpack/mlpack","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/mlpack/mlpack"}},"updates":{"snippets":[{"icon":"PERSON","message":"@zoq in #757: The main class (e.g. CNN) has to initialize the weights somehow, to do that it needs to know the parameter size (weights). So, what the main class basically does is to create a parameter vector, initialize that parameter vector and call the Forward, Backward and Gradient function with the initialized parameters."}],"action":{"name":"View Pull Request","url":"https://github.com/mlpack/mlpack/pull/757/files/06d923321f246f2c6ead9ad56e99309fe24a6f5c#r75211871"}}}</script>