title: Merge Variables in Keras
body: <p>I'm building a convolutional neural network with Keras and would like to add a single node with the standard deviation of my data before the last fully connected layer.</p>
  
  <p>Here's a minimum code to reproduce the error:</p>
  
  <pre><code>from keras.layers import merge, Input, Dense
  from keras.layers import Convolution1D, Flatten
  from keras import backend as K
  
  input_img = Input(shape=(64, 4))
  
  x = Convolution1D(48, 3, activation='relu', init='he_normal')(input_img)
  x = Flatten()(x)
  
  std = K.std(input_img, axis=1)
  x = merge([x, std], mode='concat', concat_axis=1)
  
  output =  Dense(100, activation='softmax', init='he_normal')(x)
  </code></pre>
  
  <p>This results in the following <code>TypeError</code>:</p>
  
  <pre><code>-----------------------------------------------------------------
  TypeError                       Traceback (most recent call last)
  &lt;ipython-input-117-c1289ebe610e&gt; in &lt;module&gt;()
        6 x = merge([x, std], mode='concat', concat_axis=1)
        7 
  ----&gt; 8 output =  Dense(100, activation='softmax', init='he_normal')(x)
  
  /home/ubuntu/anaconda2/envs/tensorflow/lib/python2.7/site-packages/keras/engine/topology.pyc in __call__(self, x, mask)
      486                                     '`layer.build(batch_input_shape)`')
      487             if len(input_shapes) == 1:
  --&gt; 488                 self.build(input_shapes[0])
      489             else:
      490                 self.build(input_shapes)
  
  /home/ubuntu/anaconda2/envs/tensorflow/lib/python2.7/site-packages/keras/layers/core.pyc in build(self, input_shape)
      701 
      702         self.W = self.init((input_dim, self.output_dim),
  --&gt; 703                            name='{}_W'.format(self.name))
      704         if self.bias:
      705             self.b = K.zeros((self.output_dim,),
  
  /home/ubuntu/anaconda2/envs/tensorflow/lib/python2.7/site-packages/keras/initializations.pyc in he_normal(shape, name, dim_ordering)
       64     '''
       65     fan_in, fan_out = get_fans(shape, dim_ordering=dim_ordering)
  ---&gt; 66     s = np.sqrt(2. / fan_in)
       67     return normal(shape, s, name=name)
       68 
  
  TypeError: unsupported operand type(s) for /: 'float' and 'NoneType'
  </code></pre>
  
  <p>Any idea why?</p>