title: correct order for SpatialDropout2D, BatchNormalization and activation function?
body: <p>For a CNN architecture I want to use SpatialDropout2D layer instead of Dropout layer.
  Additionaly I want to use BatchNormalization.
  So far I had always set the BatchNormalization directly after a Convolutional layer but before the activation function, as in the paper by Ioffe and Szegedy mentioned.
  The dropout layers I had always set after MaxPooling2D layer.</p>
  
  <p>In <a href="https://machinelearningmastery.com/how-to-reduce-overfitting-with-dropout-regularization-in-keras/" rel="noreferrer">https://machinelearningmastery.com/how-to-reduce-overfitting-with-dropout-regularization-in-keras/</a> SpatialDropout2D is set directly after Convolutional layer.</p>
  
  <p>I find it rather confusing in which order I should now apply these layers. I had also read on a Keras page that SpatialDropout should be placed directly behind ConvLayer (but I can't find this page anymore).</p>
  
  <p>Is the following order correct?</p>
  
  <p>ConvLayer - SpatialDropout - BatchNormalization - Activation function - MaxPooling</p>
  
  <p>I really hope for tips and thank you in advance</p>
  
  <p><strong>Update</strong>
  My goal was actually to exchange in the following CNN architecture dropout for spatial dropout:</p>
  
  <pre><code>model = Sequential()
  model.add(Conv2D(32,(3,3))
  model.add(BatchNormalization())
  model.add(Activation('relu'))
  model.add(Conv2D(32,(3,3))
  model.add(BatchNormalization())
  model.add(Activation('relu'))
  model.add(MaxPooling2D(pool_size=(2,2))
  model.add(Dropout(0.2))
  
  model.add(Conv2D(64, (3,3))
  model.add(BatchNormalization())
  model.add(Activation('relu'))
  model.add(Conv2D(64,(3,3))
  model.add(BatchNormalization())
  model.add(Activation('relu'))
  model.add(MaxPooling2D(pool_size=(2,2))
  model.add(Dropout(0.2))
  
  model.add(Flatten())
  model.add(Dense(512))
  model.add(BatchNormalization())
  model.add(Activation('relu'))
  model.add(Dropout(0.4))
  model.add(Dense(10))
  model.add(Activation('softmax'))
  </code></pre>