diff keras_macros.xml @ 27:4952fe39b61d draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ba6a47bdf76bbf4cb276206ac1a8cbf61332fd16"
author bgruening
date Fri, 13 Sep 2019 12:09:45 -0400
parents 685046e0381a
children eb79bde99328
line wrap: on
line diff
--- a/keras_macros.xml	Fri Aug 09 07:16:21 2019 -0400
+++ b/keras_macros.xml	Fri Sep 13 12:09:45 2019 -0400
@@ -1,5 +1,5 @@
 <macros>
-  <token name="@KERAS_VERSION@">0.4.0</token>
+  <token name="@KERAS_VERSION@">0.4.2</token>
 
   <xml name="macro_stdio">
     <stdio>
@@ -24,34 +24,34 @@
     </expand>
   </xml>
 
-  <xml name="keras_activations">
+  <xml name="keras_activations" token_none="true" token_tanh="false">
     <param argument="activation" type="select" label="Activation function">
-      <option value="linear" selected="true">None / linear (default)</option>
+      <option value="linear" selected="@NONE@">None / linear (default)</option>
       <option value="softmax">softmax</option>
       <option value="elu">elu</option>
       <option value="selu">selu</option>
       <option value="softplus">softplus</option>
       <option value="softsign">softsign</option>
       <option value="relu">relu</option>
-      <option value="tanh">tanh</option>
+      <option value="tanh" selected="@TANH@">tanh</option>
       <option value="sigmoid">sigmoid</option>
       <option value="hard_sigmoid">hard_sigmoid</option>
       <option value="exponential">tanh</option>
     </param>
   </xml>
 
-  <xml name="keras_initializers" token_argument="kernel_initializer" token_default_kernel="false" token_default_bias="false" token_default_embeddings="false">
+  <xml name="keras_initializers" token_argument="kernel_initializer" token_default_glorot_uniform="false" token_default_zeros="false" token_default_random_uniform="false" token_default_ones="false">
     <param argument="@ARGUMENT@" type="select" label="@ARGUMENT@">
-      <option value="zeros" selected="@DEFAULT_BIAS@">zero / zeros / Zeros</option>
-      <option value="ones">one / ones / Ones</option>
+      <option value="zeros" selected="@DEFAULT_ZEROS@">zero / zeros / Zeros</option>
+      <option value="ones" selected="@DEFAULT_ONES@">one / ones / Ones</option>
       <option value="constant">constant / Constant</option>
       <option value="random_normal">normal / random_normal / RandomNormal</option>
-      <option value="random_uniform" selected="@DEFAULT_EMBEDDINGS@">uniform / random_uniform / RandomUniform</option>
+      <option value="random_uniform" selected="@DEFAULT_RANDOM_UNIFORM@">uniform / random_uniform / RandomUniform</option>
       <option value="truncated_normal">truncated_normal / TruncatedNormal</option>
       <option value="orthogonal">orthogonal / Orthogonal</option>
       <option value="identity">identity / Identity</option>
       <option value="glorot_normal">glorot_normal</option>
-      <option value="glorot_uniform" selected="@DEFAULT_KERNEL@">glorot_uniform</option>
+      <option value="glorot_uniform" selected="@DEFAULT_GLOROT_UNIFORM@">glorot_uniform</option>
       <option value="he_normal">he_normal</option>
       <option value="he_uniform">he_uniform</option>
       <option value="lecun_normal">lecun_normal</option>
@@ -109,133 +109,120 @@
   </xml>
 
   <xml name="keras_layer_types_core">
-    <option value="Dense">Dense</option>
-    <option value="Activation">Activation</option>
-    <option value="Dropout">Dropout</option>
-    <option value="Flatten">Flatten</option>
-    <option value="Reshape">Reshape</option>
-    <option value="Permute">Permute</option>
-    <option value="RepeatVector">RepeatVector</option>
+    <option value="Dense">Core -- Dense</option>
+    <option value="Activation">Core -- Activation</option>
+    <option value="Dropout">Core -- Dropout</option>
+    <option value="Flatten">Core -- Flatten</option>
+    <option value="Reshape">Core -- Reshape</option>
+    <option value="Permute">Core -- Permute</option>
+    <option value="RepeatVector">Core -- RepeatVector</option>
     <!--option value="Lambda">Lambda - Not supported</option-->
-    <option value="ActivityRegularization">ActivityRegularization</option>
-    <option value="Masking">Masking</option>
-    <option value="SpatialDropout1D">SpatialDropout1D</option>
-    <option value="SpatialDropout2D">SpatialDropout2D</option>
-    <option value="SpatialDropout3D">SpatialDropout3D</option>
+    <option value="ActivityRegularization">Core -- ActivityRegularization</option>
+    <option value="Masking">Core -- Masking</option>
+    <option value="SpatialDropout1D">Core -- SpatialDropout1D</option>
+    <option value="SpatialDropout2D">Core -- SpatialDropout2D</option>
+    <option value="SpatialDropout3D">Core -- SpatialDropout3D</option>
   </xml>
 
   <xml name="keras_layer_types_Convolutional">
-    <option value="Conv1D">Conv1D</option>
-    <option value="Conv2D">Conv2D</option>
-    <option value="SeparableConv1D">SeparableConv1D</option>
-    <option value="SeparableConv2D">SeparableConv2D</option>
-    <option value="DepthwiseConv2D">DepthwiseConv2D</option>
-    <option value="Conv2DTranspose">Conv2DTranspose</option>
-    <option value="Conv3D">Conv3D</option>
-    <option value="Conv3DTranspose">Conv3DTranspose</option>
-    <option value="Cropping1D">Cropping1D</option>
-    <option value="Cropping2D">Cropping2D</option>
-    <option value="Cropping3D">Cropping3D</option>
-    <option value="UpSampling1D">UpSampling1D</option>
-    <option value="UpSampling2D">UpSampling2D</option>
-    <option value="UpSampling3D">UpSampling3D</option>
-    <option value="ZeroPadding1D">ZeroPadding1D</option>
-    <option value="ZeroPadding2D">ZeroPadding2D</option>
-    <option value="ZeroPadding3D">ZeroPadding3D</option>
+    <option value="Conv1D">Convolutional -- Conv1D</option>
+    <option value="Conv2D">Convolutional -- Conv2D</option>
+    <option value="SeparableConv1D">Convolutional -- SeparableConv1D</option>
+    <option value="SeparableConv2D">Convolutional -- SeparableConv2D</option>
+    <option value="DepthwiseConv2D">Convolutional -- DepthwiseConv2D</option>
+    <option value="Conv2DTranspose">Convolutional -- Conv2DTranspose</option>
+    <option value="Conv3D">Convolutional -- Conv3D</option>
+    <option value="Conv3DTranspose">Convolutional -- Conv3DTranspose</option>
+    <option value="Cropping1D">Convolutional -- Cropping1D</option>
+    <option value="Cropping2D">Convolutional -- Cropping2D</option>
+    <option value="Cropping3D">Convolutional -- Cropping3D</option>
+    <option value="UpSampling1D">Convolutional -- UpSampling1D</option>
+    <option value="UpSampling2D">Convolutional -- UpSampling2D</option>
+    <option value="UpSampling3D">Convolutional -- UpSampling3D</option>
+    <option value="ZeroPadding1D">Convolutional -- ZeroPadding1D</option>
+    <option value="ZeroPadding2D">Convolutional -- ZeroPadding2D</option>
+    <option value="ZeroPadding3D">Convolutional -- ZeroPadding3D</option>
   </xml>
 
   <xml name="keras_layer_types_Pooling">
-    <option value="MaxPooling1D">MaxPooling1D</option>
-    <option value="MaxPooling2D">MaxPooling2D</option>
-    <option value="MaxPooling3D">MaxPooling3D</option>
-    <option value="AveragePooling1D">AveragePooling1D</option>
-    <option value="AveragePooling2D">AveragePooling2D</option>
-    <option value="AveragePooling3D">AveragePooling3D</option>
-    <option value="GlobalMaxPooling1D">GlobalMaxPooling1D</option>
-    <option value="GlobalAveragePooling1D">GlobalAveragePooling1D</option>
-    <option value="GlobalMaxPooling2D">GlobalMaxPooling2D</option>
-    <option value="GlobalAveragePooling2D">GlobalAveragePooling2D</option>
-    <option value="GlobalMaxPooling3D">GlobalMaxPooling3D</option>
-    <option value="GlobalAveragePooling3D">GlobalAveragePooling3D</option>
+    <option value="MaxPooling1D">Pooling -- MaxPooling1D</option>
+    <option value="MaxPooling2D">Pooling -- MaxPooling2D</option>
+    <option value="MaxPooling3D">Pooling -- MaxPooling3D</option>
+    <option value="AveragePooling1D">Pooling -- AveragePooling1D</option>
+    <option value="AveragePooling2D">Pooling -- AveragePooling2D</option>
+    <option value="AveragePooling3D">Pooling -- AveragePooling3D</option>
+    <option value="GlobalMaxPooling1D">Pooling -- GlobalMaxPooling1D</option>
+    <option value="GlobalAveragePooling1D">Pooling -- GlobalAveragePooling1D</option>
+    <option value="GlobalMaxPooling2D">Pooling -- GlobalMaxPooling2D</option>
+    <option value="GlobalAveragePooling2D">Pooling -- GlobalAveragePooling2D</option>
+    <option value="GlobalMaxPooling3D">Pooling -- GlobalMaxPooling3D</option>
+    <option value="GlobalAveragePooling3D">Pooling -- GlobalAveragePooling3D</option>
   </xml>
 
   <xml name="keras_layer_types_locally_connected">
-    <option value="LocallyConnected1D">LocallyConnected1D</option>
-    <option value="LocallyConnected2D">LocallyConnected2D</option>
+    <option value="LocallyConnected1D">Locally_connected -- LocallyConnected1D</option>
+    <option value="LocallyConnected2D">Locally_connected -- LocallyConnected2D</option>
   </xml>
 
   <xml name="keras_layer_types_recurrent">
-    <option value="RNN">RNN</option>
-    <option value="Masking">Masking</option>
-    <option value="SimpleRNN">SimpleRNN</option>
-    <option value="GRU">GRU</option>
-    <option value="LSTM">LSTM</option>
-    <option value="ConvLSTM2D">ConvLSTM2D</option>
-    <option value="ConvLSTM2DCell">ConvLSTM2DCell</option>
-    <option value="SimpleRNNCell">SimpleRNNCell</option>
-    <option value="GRUCell">GRUCell</option>
-    <option value="LSTMCell">LSTMCell</option>
-    <option value="CuDNNGRU">CuDNNGRU</option>
-    <option value="CuDNNLSTM">Dense</option>
+    <option value="SimpleRNN">Recurrent -- SimpleRNN</option>
+    <option value="GRU">Recurrent -- GRU</option>
+    <option value="LSTM">Recurrent -- LSTM</option>
+    <option value="ConvLSTM2D">Recurrent -- ConvLSTM2D</option>
+    <option value="ConvLSTM2DCell">Recurrent -- ConvLSTM2DCell</option>
+    <option value="SimpleRNNCell">Recurrent -- SimpleRNNCell</option>
+    <option value="GRUCell">Recurrent -- GRUCell</option>
+    <option value="LSTMCell">Recurrent -- LSTMCell</option>
+    <option value="CuDNNGRU">Recurrent -- CuDNNGRU</option>
+    <option value="CuDNNLSTM">Recurrent -- CuDNNLSTM</option>
   </xml>
 
   <xml name="keras_layer_types_embedding">
-    <option value="Embedding">Embedding</option>
+    <option value="Embedding">Embedding -- Embedding</option>
   </xml>
 
   <xml name="keras_layer_types_advanced_activations">
-    <option value="LeakyReLU">LeakyReLU</option>
-    <option value="PReLU">PReLU</option>
-    <option value="ELU">ELU</option>
-    <option value="ThresholdedReLU">ThresholdedReLU</option>
-    <option value="Softmax">Softmax</option>
-    <option value="ReLU">ReLU</option>
+    <option value="LeakyReLU">Advanced activations -- LeakyReLU</option>
+    <option value="PReLU">Advanced activations -- PReLU</option>
+    <option value="ELU">Advanced activations -- ELU</option>
+    <option value="ThresholdedReLU">Advanced activations -- ThresholdedReLU</option>
+    <option value="Softmax">Advanced activations -- Softmax</option>
+    <option value="ReLU">Advanced activations -- ReLU</option>
   </xml>
 
   <xml name="keras_layer_types_normalization">
-    <option value="BatchNormalization">BatchNormalization</option>
+    <option value="BatchNormalization">Normalization -- BatchNormalization</option>
   </xml>
 
   <xml name="keras_layer_types_noise">
-    <option value="GaussianNoise">GaussianNoise</option>
-    <option value="GaussianDropout">GaussianDropout</option>
-    <option value="AlphaDropout">AlphaDropout</option>    
+    <option value="GaussianNoise">Noise -- GaussianNoise</option>
+    <option value="GaussianDropout">Noise -- GaussianDropout</option>
+    <option value="AlphaDropout">Noise -- AlphaDropout</option>    
   </xml>
 
   <xml name="keras_layer_types_merge">
-    <option value="Add">Add</option>
-    <option value="Subtract">Subtract</option>
-    <option value="Multiply">Multiply</option>
-    <option value="Average">Average</option>
-    <option value="Maximum">Maximum</option>
-    <option value="Minimum">Minimum</option>
-    <option value="Concatenate">Concatenate</option>
-    <option value="Dot">Dot</option>
+    <option value="Add">Merge -- Add</option>
+    <option value="Subtract">Merge -- Subtract</option>
+    <option value="Multiply">Merge -- Multiply</option>
+    <option value="Average">Merge -- Average</option>
+    <option value="Maximum">Merge -- Maximum</option>
+    <option value="Minimum">Merge -- Minimum</option>
+    <option value="Concatenate">Merge -- Concatenate</option>
+    <option value="Dot">Merge -- Dot</option>
   </xml>
 
   <!--Core Layers-->
 
   <xml name="layer_Dense">
     <param argument="units" type="integer" value="" optional="false" label="units" help="Positive integer, dimensionality of the output space."/>
-    <section name="layer_options" title="Layer Advanced Options" expanded="false">
-      <expand macro="keras_activations"/>
-      <param argument="use_bias" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="true" />
-      <expand macro="keras_initializers" default_kernel="true"/>
-      <expand macro="keras_initializers" argument="bias_initializer" default_bias="true"/>
-      <expand macro="keras_regularizers"/>
-      <expand macro="keras_regularizers" argument="bias_regularizer"/>
-      <expand macro="keras_regularizers" argument="activity_regularizer"/>
-      <expand macro="keras_constraints"/>
-      <expand macro="keras_constraints" argument="bias_constraint"/>
-    </section>
+    <expand macro="keras_activations"/>
+    <expand macro="simple_kwargs" help="For example: use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_Dropout">
     <param argument="rate" type="float" value="" min="0." max="1.0" help="Fraction of the input units to drop."/>
-    <param argument="noise_shape" type="text" value="" help="1D integer tensor representing the shape of the
-            binary dropout mask that will be multiplied with the input."/>
-    <param argument="seed" type="integer" value="" min="0" optional="true" help="A Python integer to use as random seed."/>
+    <expand macro="simple_kwargs" help="For example: noise_shape=None, seed=None. Leave blank for default."/>
     <yield/>
   </xml>
 
@@ -301,19 +288,13 @@
 
   <xml name="layer_SpatialDropout2D">
     <param argument="rate" type="float" value="" min="0." max="1." help="Fraction of the input units to drop."/>
-    <param argument="data_format" type="select">
-      <option value="channels_last" selected="true">channels_last - the channels dimension (the depth) is at index 3</option>
-      <option value="channels_first">channels_first - the channels dimension (the depth) is at index 1</option>
-    </param>
+    <expand macro="simple_kwargs" help="For example: data_format=None. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_SpatialDropout3D">
     <param argument="rate" type="float" value="" min="0." max="1." help="Fraction of the input units to drop."/>
-    <param argument="data_format" type="select">
-      <option value="channels_last" selected="true">channels_last - the channels dimension (the depth) is at index 4</option>
-      <option value="channels_first">channels_first - the channels dimension (the depth) is at index 1</option>
-    </param>
+    <expand macro="simple_kwargs" help="For example: data_format=None. Leave blank for default."/>
     <yield/>
   </xml>
 
@@ -322,260 +303,81 @@
   <xml name="layer_Conv1D">
     <param argument="filters" type="integer" value="" min="0" help="the dimensionality of the output space (i.e. the number of output filters in the convolution)."/>
     <param argument="kernel_size" type="text" value="" help="An integer or tuple/list of a single integer, specifying the length of the 1D convolution window."/>
-    <param argument="strides" type="text" value="1" help="An integer or tuple/list of a single integer, specifying the stride length of the convolution."/>
-    <section name="layer_options" title="Layer Advanced Options" expanded="false">
-      <param argument="padding" type="select" help="">
-        <option value="valid" selected="true">valid - no padding</option>
-        <option value="same">same - output has the same length as the original input</option>
-        <option value="causal">causal - causal (dilated) convolutions</option>
-      </param>
-      <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape  (batch, steps, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, steps)</option>
-      </param>
-      <param argument="dilation_rate" type="text" value="1" help="an integer or tuple/list of a single integer, specifying the dilation rate to use for dilated convolution."/>
-      <expand macro="keras_activations"/>
-      <param argument="use_bias" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="true"/>
-      <expand macro="keras_initializers" default_kernel="true"/>\
-      <expand macro="keras_initializers" argument="bias_initializer" default_bias="true"/>
-      <expand macro="keras_regularizers"/>
-      <expand macro="keras_regularizers" argument="bias_regularizer"/>
-      <expand macro="keras_regularizers" argument="activity_regularizer"/>
-      <expand macro="keras_constraints"/>
-      <expand macro="keras_constraints" argument="bias_constraint"/>
-    </section>
+    <expand macro="keras_activations"/>
+    <expand macro="simple_kwargs" help="For example: strides=1, padding='valid', data_format='channels_last', dilation_rate=1, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_Conv2D">
     <param argument="filters" type="integer" value="" min="0" help="the dimensionality of the output space (i.e. the number of output filters in the convolution)."/>
     <param argument="kernel_size" type="text" value="" help="An integer or tuple/list of 2 integers, specifying the height and width of the 2D convolution window."/>
-    <param argument="strides" type="text" value="1" help="An integer or tuple/list of 2 integers, specifying the strides of the convolution along the height and width."/>
-    <section name="layer_options" title="Layer Advanced Options" expanded="false">
-      <param argument="padding" type="select" help="">
-        <option value="valid" selected="true">valid - no padding</option>
-        <option value="same">same - output has the same length as the original input</option>
-        <!--option value="causal">causal - causal (dilated) convolutions</option-->
-      </param>
-      <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape (batch, height, width, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, height, width)</option>
-      </param>
-      <param argument="dilation_rate" type="text" value="1" help="an integer or tuple/list of 2 integers, specifying the dilation rate to use for dilated convolution."/>
-      <expand macro="keras_activations"/>
-      <param argument="use_bias" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="true"/>
-      <expand macro="keras_initializers" default_kernel="true"/>\
-      <expand macro="keras_initializers" argument="bias_initializer" default_bias="true"/>
-      <expand macro="keras_regularizers"/>
-      <expand macro="keras_regularizers" argument="bias_regularizer"/>
-      <expand macro="keras_regularizers" argument="activity_regularizer"/>
-      <expand macro="keras_constraints"/>
-      <expand macro="keras_constraints" argument="bias_constraint"/>
-    </section>
+    <expand macro="keras_activations"/>
+    <expand macro="simple_kwargs" help="For example: strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_SeparableConv1D">
     <param argument="filters" type="integer" value="" min="0" help="the dimensionality of the output space (i.e. the number of output filters in the convolution)."/>
     <param argument="kernel_size" type="text" value="" help="An integer or tuple/list of a single integer, specifying the length of the 1D convolution window."/>
-    <param argument="strides" type="text" value="1" help="An integer or tuple/list of single integer, specifying the stride length of the convolution. "/>
-    <section name="layer_options" title="Layer Advanced Options" expanded="false">
-      <param argument="padding" type="select" help="">
-        <option value="valid" selected="true">valid - no padding</option>
-        <option value="same">same - output has the same length as the original input</option>
-        <!--option value="causal">causal - causal (dilated) convolutions</option-->
-      </param>
-      <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape  (batch, steps, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, steps)</option>
-      </param>
-      <param argument="dilation_rate" type="text" value="1" help="an integer or tuple/list of a single integer, specifying the dilation rate to use for dilated convolution. "/>
-      <param argument="depth_multiplier" type="integer" value="1" help="The number of depthwise convolution output channels for each input channel."/>
-      <expand macro="keras_activations"/>
-      <param argument="use_bias" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="true"/>
-      <expand macro="keras_initializers" argument="depthwise_initializer" default_kernel="true"/>
-      <expand macro="keras_initializers" argument="pointwise_initializer" default_kernel="true"/>
-      <expand macro="keras_initializers" argument="bias_initializer" default_bias="true"/>
-      <expand macro="keras_regularizers" argument="depthwise_regularizer"/>
-      <expand macro="keras_regularizers" argument="pointwise_regularizer"/>
-      <expand macro="keras_regularizers" argument="bias_regularizer"/>
-      <expand macro="keras_regularizers" argument="activity_regularizer"/>
-      <expand macro="keras_constraints" argument="depthwise_constraint"/>
-      <expand macro="keras_constraints" argument="pointwise_constraint"/>
-      <expand macro="keras_constraints" argument="bias_constraint"/>
-    </section>
+    <expand macro="keras_activations"/>
+    <expand macro="simple_kwargs" help="For example: strides=1, padding='valid', data_format='channels_last', dilation_rate=1, depth_multiplier=1, use_bias=True, depthwise_initializer='glorot_uniform', pointwise_initializer='glorot_uniform', bias_initializer='zeros', depthwise_regularizer=None, pointwise_regularizer=None, bias_regularizer=None, activity_regularizer=None, depthwise_constraint=None, pointwise_constraint=None, bias_constraint=None. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_SeparableConv2D">
     <param argument="filters" type="integer" value="" min="0" help="the dimensionality of the output space (i.e. the number of output filters in the convolution)."/>
     <param argument="kernel_size" type="text" value="" help="An integer or tuple/list of 2 integers, specifying the height and width of the 2D convolution window."/>
-    <param argument="strides" type="text" value="1" help="An integer or tuple/list of 2 integers, specifying the strides of the convolution along the height and width."/>
-    <section name="layer_options" title="Layer Advanced Options" expanded="false">
-      <param argument="padding" type="select" help="">
-        <option value="valid" selected="true">valid - no padding</option>
-        <option value="same">same - output has the same length as the original input</option>
-        <!--option value="causal">causal - causal (dilated) convolutions</option-->
-      </param>
-      <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape (batch, height, width, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, height, width)</option>
-      </param>
-      <param argument="dilation_rate" type="text" value="1" help="an integer or tuple/list of 2 integers, specifying the dilation rate to use for dilated convolution."/>
-      <param argument="depth_multiplier" type="integer" value="1" help="The number of depthwise convolution output channels for each input channel."/>
-      <expand macro="keras_activations"/>
-      <param argument="use_bias" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="true"/>
-      <expand macro="keras_initializers" argument="depthwise_initializer" default_kernel="true"/>
-      <expand macro="keras_initializers" argument="pointwise_initializer" default_kernel="true"/>
-      <expand macro="keras_initializers" argument="bias_initializer" default_bias="true"/>
-      <expand macro="keras_regularizers" argument="depthwise_regularizer"/>
-      <expand macro="keras_regularizers" argument="pointwise_regularizer"/>
-      <expand macro="keras_regularizers" argument="bias_regularizer"/>
-      <expand macro="keras_regularizers" argument="activity_regularizer"/>
-      <expand macro="keras_constraints" argument="depthwise_constraint"/>
-      <expand macro="keras_constraints" argument="pointwise_constraint"/>
-      <expand macro="keras_constraints" argument="bias_constraint"/>
-    </section>
+    <expand macro="keras_activations"/>
+    <expand macro="simple_kwargs" help="For example: strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), depth_multiplier=1, use_bias=True, depthwise_initializer='glorot_uniform', pointwise_initializer='glorot_uniform', bias_initializer='zeros', depthwise_regularizer=None, pointwise_regularizer=None, bias_regularizer=None, activity_regularizer=None, depthwise_constraint=None, pointwise_constraint=None, bias_constraint=None. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_DepthwiseConv2D">
-    <param argument="filters" type="integer" value="" min="0" help="the dimensionality of the output space (i.e. the number of output filters in the convolution)."/>
+    
     <param argument="kernel_size" type="text" value="" help="An integer or tuple/list of 2 integers, specifying the height and width of the 2D convolution window."/>
-    <param argument="strides" type="text" value="1" help="An integer or tuple/list of 2 integers, specifying the strides of the convolution along the height and width."/>
-    <section name="layer_options" title="Layer Advanced Options" expanded="false">
-      <param argument="padding" type="select" help="">
-        <option value="valid" selected="true">valid - no padding</option>
-        <option value="same">same - output has the same length as the original input</option>
-        <!--option value="causal">causal - causal (dilated) convolutions</option-->
-      </param>
-      <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape (batch, height, width, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, height, width)</option>
-      </param>
-      <param argument="dilation_rate" type="text" value="1" help="an integer or tuple/list of 2 integers, specifying the dilation rate to use for dilated convolution."/>
-      <param argument="depth_multiplier" type="integer" value="1" help="The number of depthwise convolution output channels for each input channel."/>
-      <expand macro="keras_activations"/>
-      <param argument="use_bias" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="true"/>
-      <expand macro="keras_initializers" argument="depthwise_initializer" default_kernel="true"/>
-      <expand macro="keras_initializers" argument="bias_initializer" default_bias="true"/>
-      <expand macro="keras_regularizers" argument="depthwise_regularizer"/>
-      <expand macro="keras_regularizers" argument="pointwise_regularizer"/>
-      <expand macro="keras_regularizers" argument="bias_regularizer"/>
-      <expand macro="keras_regularizers" argument="activity_regularizer"/>
-      <expand macro="keras_constraints" argument="depthwise_constraint"/>
-      <expand macro="keras_constraints" argument="bias_constraint"/>
-    </section>
+    <expand macro="keras_activations"/>
+    <expand macro="simple_kwargs" help="For example: strides=(1, 1), padding='valid', depth_multiplier=1, data_format=None, use_bias=True, depthwise_initializer='glorot_uniform', bias_initializer='zeros', depthwise_regularizer=None, bias_regularizer=None, activity_regularizer=None, depthwise_constraint=None, bias_constraint=None. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_Conv2DTranspose">
     <param argument="filters" type="integer" value="" min="0" help="the dimensionality of the output space (i.e. the number of output filters in the convolution)."/>
     <param argument="kernel_size" type="text" value="" help="An integer or tuple/list of 2 integers, specifying the height and width of the 2D convolution window."/>
-    <param argument="strides" type="text" value="1" help="An integer or tuple/list of 2 integers, specifying the strides of the convolution along the height and width."/>
-    <section name="layer_options" title="Layer Advanced Options" expanded="false">
-      <param argument="padding" type="select" help="">
-        <option value="valid" selected="true">valid - no padding</option>
-        <option value="same">same - output has the same length as the original input</option>
-        <!--option value="causal">causal - causal (dilated) convolutions</option-->
-      </param>
-      <param argument="output_padding" type="text" value="" help="An integer or tuple/list of 2 integers, specifying the amount of padding along the height and width of the output tensor."/>
-      <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape (batch, height, width, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, height, width)</option>
-      </param>
-      <param argument="dilation_rate" type="text" value="1" help="an integer or tuple/list of 2 integers, specifying the dilation rate to use for dilated convolution."/>
-      <expand macro="keras_activations"/>
-      <param argument="use_bias" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="true"/>
-      <expand macro="keras_initializers" default_kernel="true"/>
-      <expand macro="keras_initializers" argument="bias_initializer" default_bias="true"/>
-      <expand macro="keras_regularizers" />
-      <expand macro="keras_regularizers" argument="bias_regularizer"/>
-      <expand macro="keras_regularizers" argument="activity_regularizer"/>
-      <expand macro="keras_constraints"/>
-      <expand macro="keras_constraints" argument="bias_constraint"/>
-    </section>
+    <expand macro="keras_activations"/>
+    <expand macro="simple_kwargs" help="For example: strides=(1, 1), padding='valid', output_padding=None, data_format=None, dilation_rate=(1, 1), use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_Conv3D">
     <param argument="filters" type="integer" value="" min="0" help="the dimensionality of the output space (i.e. the number of output filters in the convolution)."/>
     <param argument="kernel_size" type="text" value="" help="An integer or tuple/list of 3 integers, specifying the depth, height and width of the 3D convolution window."/>
-    <param argument="strides" type="text" value="1" help="An integer or tuple/list of 3 integers, specifying the strides of the convolution along each spatial dimension."/>
-    <section name="layer_options" title="Layer Advanced Options" expanded="false">
-      <param argument="padding" type="select" help="">
-        <option value="valid" selected="true">valid - no padding</option>
-        <option value="same">same - output has the same length as the original input</option>
-        <!--option value="causal">causal - causal (dilated) convolutions</option-->
-      </param>
-      <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape (batch, spatial_dim1, spatial_dim2, spatial_dim3, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, spatial_dim1, spatial_dim2, spatial_dim3)</option>
-      </param>
-      <param argument="dilation_rate" type="text" value="1" help="an integer or tuple/list of 3 integers, specifying the dilation rate to use for dilated convolution."/>
-      <expand macro="keras_activations"/>
-      <param argument="use_bias" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="true"/>
-      <expand macro="keras_initializers" default_kernel="true"/>
-      <expand macro="keras_initializers" argument="bias_initializer" default_bias="true"/>
-      <expand macro="keras_regularizers" />
-      <expand macro="keras_regularizers" argument="bias_regularizer"/>
-      <expand macro="keras_regularizers" argument="activity_regularizer"/>
-      <expand macro="keras_constraints"/>
-      <expand macro="keras_constraints" argument="bias_constraint"/>
-    </section>
+    <expand macro="keras_activations"/>
+    <expand macro="simple_kwargs" help="For example: strides=(1, 1, 1), padding='valid', data_format=None, dilation_rate=(1, 1, 1), use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_Conv3DTranspose">
     <param argument="filters" type="integer" value="" min="0" help="the dimensionality of the output space (i.e. the number of output filters in the convolution)."/>
     <param argument="kernel_size" type="text" value="" help="An integer or tuple/list of 3 integers, specifying the depth, height and width of the 3D convolution window."/>
-    <param argument="strides" type="text" value="1" help="An integer or tuple/list of 3 integers, specifying the strides of the convolution along each spatial dimension."/>
-    <section name="layer_options" title="Layer Advanced Options" expanded="false">
-      <param argument="padding" type="select" help="">
-        <option value="valid" selected="true">valid - no padding</option>
-        <option value="same">same - output has the same length as the original input</option>
-        <!--option value="causal">causal - causal (dilated) convolutions</option-->
-      </param>
-      <param argument="output_padding" type="text" value="" help="An integer or tuple/list of 3 integers, specifying the amount of padding along the depth, height, and width. "/>
-      <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape (batch, spatial_dim1, spatial_dim2, spatial_dim3, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, spatial_dim1, spatial_dim2, spatial_dim3)</option>
-      </param>
-      <param argument="dilation_rate" type="text" value="1" help="an integer or tuple/list of 3 integers, specifying the dilation rate to use for dilated convolution."/>
-      <expand macro="keras_activations"/>
-      <param argument="use_bias" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="true"/>
-      <expand macro="keras_initializers" default_kernel="true"/>
-      <expand macro="keras_initializers" argument="bias_initializer" default_bias="true"/>
-      <expand macro="keras_regularizers" />
-      <expand macro="keras_regularizers" argument="bias_regularizer"/>
-      <expand macro="keras_regularizers" argument="activity_regularizer"/>
-      <expand macro="keras_constraints"/>
-      <expand macro="keras_constraints" argument="bias_constraint"/>
-    </section>
+    <expand macro="keras_activations"/>
+    <expand macro="simple_kwargs" help="For example: strides=(1, 1, 1), padding='valid', output_padding=None, data_format=None, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_Cropping1D">
-    <param argument="cropping" type="text" value="(1, 1)" help="int or tuple of int (length 2) How many units should be trimmed off at the beginning and end of the cropping dimension (axis 1).
-              If a single int is provided, the same value will be used for both."/>
+    <param argument="cropping" type="text" value="(1, 1)" help="int or tuple of int (length 2) How many units should be trimmed off at the beginning and end of the cropping dimension (axis 1). If a single int is provided, the same value will be used for both."/>
     <yield/>
   </xml>
 
   <xml name="layer_Cropping2D">
     <param argument="cropping" type="text" value="((0, 0), (0, 0))" help="int, or tuple of 2 ints, or tuple of 2 tuples of 2 ints."/>
-    <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape (batch, height, width, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, height, width)</option>
-    </param>
+    <expand macro="simple_kwargs" help="For example: data_format=None. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_Cropping3D">
     <param argument="cropping" type="text" value="((1, 1), (1, 1), (1, 1))" help="int, or tuple of 3 ints, or tuple of 3 tuples of 2 ints."/>
-    <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape  (batch, spatial_dim1, spatial_dim2, spatial_dim3, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, spatial_dim1, spatial_dim2, spatial_dim3)</option>
-    </param>
+    <expand macro="simple_kwargs" help="For example: data_format=None. Leave blank for default."/>
     <yield/>
   </xml>
 
@@ -586,23 +388,13 @@
 
   <xml name="layer_UpSampling2D">
     <param argument="size" type="text" value="(2, 2)" help="int, or tuple of 2 integers. The upsampling factors for rows and columns."/>
-    <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape (batch, height, width, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, height, width)</option>
-    </param>
-    <param argument="interpolation" type="select">
-      <option value="nearest" selected="true">nearest</option>
-      <option value="bilinear">bilinear</option>
-    </param>
+    <expand macro="simple_kwargs" help="For example: data_format=None, interpolation='nearest'. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_UpSampling3D">
     <param argument="size" type="text" value="(2, 2, 2)" help="int, or tuple of 3 integers. The upsampling factors for dim1, dim2 and dim3."/>
-    <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape (batch, spatial_dim1, spatial_dim2, spatial_dim3, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, spatial_dim1, spatial_dim2, spatial_dim3)</option>
-    </param>
+    <expand macro="simple_kwargs" help="For example: data_format=None, interpolation='nearest'. Leave blank for default."/>
     <yield/>
   </xml>
 
@@ -613,19 +405,13 @@
 
   <xml name="layer_ZeroPadding2D">
     <param argument="padding" type="text" value="(1, 1)" help="int, or tuple of 2 ints, or tuple of 2 tuples of 2 ints."/>
-    <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape (batch, height, width, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, height, width)</option>
-    </param>
+    <expand macro="simple_kwargs" help="For example: data_format=None. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_ZeroPadding3D">
     <param argument="padding" type="text" value="(1, 1, 1)" help="int, or tuple of 3 ints, or tuple of 3 tuples of 2 ints."/>
-    <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape  (batch, spatial_dim1, spatial_dim2, spatial_dim3, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, spatial_dim1, spatial_dim2, spatial_dim3)</option>
-    </param>
+    <expand macro="simple_kwargs" help="For example: data_format=None. Leave blank for default."/>
     <yield/>
   </xml>
 
@@ -634,30 +420,14 @@
   <xml name="layer_MaxPooling1D">
     <param name="pool_size" type="integer" value="2" help="Integer, size of the max pooling windows."/>
     <param name="strides" type="integer" value="" help="Integer, or None. Factor by which to downscale. E.g. 2 will halve the input. If None, it will default to pool_size."/>
-    <param argument="padding" type="select" >
-      <option value="valid" selected="true">valid - no padding</option>
-      <option value="same">same - output has the same length as the original input</option>
-      <!--option value="causal">causal - causal (dilated) convolutions</option-->
-    </param>
-    <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-      <option value="channels_last" selected="true">channels_last - inputs with shape  (batch, steps, channels)</option>
-      <option value="channels_first">channels_first - inputs with shape (batch, channels, steps)</option>
-    </param>
+    <expand macro="simple_kwargs" help="For example: padding='valid', data_format='channels_last'. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_MaxPooling2D">
     <param name="pool_size" type="text" value="(2, 2)" help="integer or tuple of 2 integers, factors by which to downscale (vertical, horizontal)"/>
     <param name="strides" type="text" value="" help="Integer, tuple of 2 integers, or None. Strides values. If None, it will default to pool_size."/>
-    <param argument="padding" type="select" >
-      <option value="valid" selected="true">valid - no padding</option>
-      <option value="same">same - output has the same length as the original input</option>
-      <!--option value="causal">causal - causal (dilated) convolutions</option-->
-    </param>
-    <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape (batch, height, width, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, height, width)</option>
-    </param>
+    <expand macro="simple_kwargs" help="For example: padding='valid', data_format='channels_last'. Leave blank for default."/>
     <yield/>
   </xml>
 
@@ -665,45 +435,21 @@
     <param name="pool_size" type="text" value="(2, 2, 2)" help="tuple of 3 integers, factors by which to downscale (dim1, dim2, dim3). 
                                                                 (2, 2, 2) will halve the size of the 3D input in each dimension."/>
     <param name="strides" type="text" value="" help="tuple of 3 integers, or None. If None, it will default to pool_size."/>
-    <param argument="padding" type="select" >
-      <option value="valid" selected="true">valid - no padding</option>
-      <option value="same">same - output has the same length as the original input</option>
-      <!--option value="causal">causal - causal (dilated) convolutions</option-->
-    </param>
-    <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-      <option value="channels_last" selected="true">channels_last - inputs with shape (batch, spatial_dim1, spatial_dim2, spatial_dim3, channels)</option>
-      <option value="channels_first">channels_first - inputs with shape (batch, channels, spatial_dim1, spatial_dim2, spatial_dim3)</option>
-    </param>
+    <expand macro="simple_kwargs" help="For example: padding='valid', data_format='channels_last'. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_AveragePooling1D">
     <param name="pool_size" type="integer" value="2" help="Integer, size of the max pooling windows."/>
     <param name="strides" type="integer" value="" help="Integer, or None. Factor by which to downscale. E.g. 2 will halve the input. If None, it will default to pool_size."/>
-    <param argument="padding" type="select" >
-      <option value="valid" selected="true">valid - no padding</option>
-      <option value="same">same - output has the same length as the original input</option>
-      <!--option value="causal">causal - causal (dilated) convolutions</option-->
-    </param>
-    <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-      <option value="channels_last" selected="true">channels_last - inputs with shape  (batch, steps, channels)</option>
-      <option value="channels_first">channels_first - inputs with shape (batch, channels, steps)</option>
-    </param>
+    <expand macro="simple_kwargs" help="For example: padding='valid', data_format='channels_last'. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_AveragePooling2D">
     <param name="pool_size" type="text" value="(2, 2)" help="integer or tuple of 2 integers, factors by which to downscale (vertical, horizontal)"/>
     <param name="strides" type="text" value="" help=" Integer, tuple of 2 integers, or None. Strides values. If None, it will default to pool_size."/>
-    <param argument="padding" type="select" >
-      <option value="valid" selected="true">valid - no padding</option>
-      <option value="same">same - output has the same length as the original input</option>
-      <!--option value="causal">causal - causal (dilated) convolutions</option-->
-    </param>
-    <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape (batch, height, width, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, height, width)</option>
-    </param>
+    <expand macro="simple_kwargs" help="For example: padding='valid', data_format='channels_last'. Leave blank for default."/>
     <yield/>
   </xml>
 
@@ -711,15 +457,7 @@
     <param name="pool_size" type="text" value="(2, 2, 2)" help="tuple of 3 integers, factors by which to downscale (dim1, dim2, dim3). 
                                                                 (2, 2, 2) will halve the size of the 3D input in each dimension."/>
     <param name="strides" type="text" value="" help="tuple of 3 integers, or None. If None, it will default to pool_size."/>
-    <param argument="padding" type="select" >
-      <option value="valid" selected="true">valid - no padding</option>
-      <option value="same">same - output has the same length as the original input</option>
-      <!--option value="causal">causal - causal (dilated) convolutions</option-->
-    </param>
-    <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-      <option value="channels_last" selected="true">channels_last - inputs with shape (batch, spatial_dim1, spatial_dim2, spatial_dim3, channels)</option>
-      <option value="channels_first">channels_first - inputs with shape (batch, channels, spatial_dim1, spatial_dim2, spatial_dim3)</option>
-    </param>
+    <expand macro="simple_kwargs" help="For example: padding='valid', data_format='channels_last'. Leave blank for default."/>
     <yield/>
   </xml>
 
@@ -776,92 +514,90 @@
   <xml name="layer_LocallyConnected1D">
     <param argument="filters" type="integer" value="" min="0" help="the dimensionality of the output space (i.e. the number of output filters in the convolution)."/>
     <param argument="kernel_size" type="text" value="" help="An integer or tuple/list of a single integer, specifying the length of the 1D convolution window."/>
-    <param argument="strides" type="text" value="1" help="An integer or tuple/list of a single integer, specifying the stride length of the convolution."/>
-    <section name="layer_options" title="Layer Advanced Options" expanded="false">
-      <param argument="padding" type="select" help="">
-        <option value="valid" selected="true">valid - no padding</option>
-      </param>
-      <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape  (batch, steps, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, steps)</option>
-      </param>
-      <expand macro="keras_activations"/>
-      <param argument="use_bias" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="true"/>
-      <expand macro="keras_initializers" default_kernel="true"/>\
-      <expand macro="keras_initializers" argument="bias_initializer" default_bias="true"/>
-      <expand macro="keras_regularizers"/>
-      <expand macro="keras_regularizers" argument="bias_regularizer"/>
-      <expand macro="keras_regularizers" argument="activity_regularizer"/>
-      <expand macro="keras_constraints"/>
-      <expand macro="keras_constraints" argument="bias_constraint"/>
-    </section>
+    <expand macro="keras_activations"/>
+    <expand macro="simple_kwargs" help="For example: strides=1, padding='valid', data_format=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None. Leave blank for default."/>
     <yield/>
   </xml>
 
   <xml name="layer_LocallyConnected2D">
     <param argument="filters" type="integer" value="" min="0" help="the dimensionality of the output space (i.e. the number of output filters in the convolution)."/>
     <param argument="kernel_size" type="text" value="" help="An integer or tuple/list of 2 integers, specifying the height and width of the 2D convolution window."/>
-    <param argument="strides" type="text" value="(1, 1)" help="An integer or tuple/list of 2 integers, specifying the strides of the convolution along the height and width."/>
-    <section name="layer_options" title="Layer Advanced Options" expanded="false">
-      <param argument="padding" type="select" help="">
-        <option value="valid" selected="true">valid - no padding</option>
-        <option value="same">same - output has the same length as the original input</option>
-        <!--option value="causal">causal - causal (dilated) convolutions</option-->
-      </param>
-      <param argument="data_format" type="select" help="The ordering of the dimensions in the inputs.">
-        <option value="channels_last" selected="true">channels_last - inputs with shape (batch, height, width, channels)</option>
-        <option value="channels_first">channels_first - inputs with shape (batch, channels, height, width)</option>
-      </param>
-      <expand macro="keras_activations"/>
-      <param argument="use_bias" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="true"/>
-      <expand macro="keras_initializers" default_kernel="true"/>\
-      <expand macro="keras_initializers" argument="bias_initializer" default_bias="true"/>
-      <expand macro="keras_regularizers"/>
-      <expand macro="keras_regularizers" argument="bias_regularizer"/>
-      <expand macro="keras_regularizers" argument="activity_regularizer"/>
-      <expand macro="keras_constraints"/>
-      <expand macro="keras_constraints" argument="bias_constraint"/>
-    </section>
+    <expand macro="keras_activations"/>
+    <expand macro="simple_kwargs" help="For example: strides=(1, 1), padding='valid', data_format=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None. Leave blank for default."/>
+    <yield/>
+  </xml>
+
+  <!--Recurrent Layers-->
+
+  <xml name="layer_SimpleRNN">
+    <param argument="units" type="integer" value="" min="1" help="Positive integer, dimensionality of the output space."/>
+    <expand macro="simple_kwargs" help="For example: activation='tanh', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False. Leave blank for default."/>
+    <yield/>
+  </xml>
+
+  <xml name="layer_GRU">
+    <param argument="units" type="integer" value="" min="1" help="Positive integer, dimensionality of the output space."/>
+    <expand macro="simple_kwargs" help="For example: activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, implementation=1, return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False, reset_after=False. Leave blank for default."/>
+    <yield/>
+  </xml>
+
+  <xml name="layer_LSTM">
+    <param argument="units" type="integer" value="" min="1" help="Positive integer, dimensionality of the output space."/>
+    <expand macro="simple_kwargs" help="For example: activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, implementation=1, return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False. Leave blank for default."/>
+    <yield/>
+  </xml>
+
+  <xml name="layer_ConvLSTM2D">
+    <param argument="filters" type="integer" value="" min="0" help="the dimensionality of the output space (i.e. the number of output filters in the convolution)."/>
+    <param argument="kernel_size" type="text" value="" help="An integer or tuple/list of n integers, specifying the dimensions of the convolution window."/>
+    <expand macro="simple_kwargs" help="For example: strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, return_sequences=False, go_backwards=False, stateful=False, dropout=0.0, recurrent_dropout=0.0. Leave blank for default."/>
     <yield/>
   </xml>
 
-  <!--Recurrent Layers>
+  <xml name="layer_ConvLSTM2DCell">
+    <param argument="filters" type="integer" value="" min="0" help="the dimensionality of the output space (i.e. the number of output filters in the convolution)."/>
+    <param argument="kernel_size" type="text" value="" help="An integer or tuple/list of n integers, specifying the dimensions of the convolution window."/>
+    <expand macro="simple_kwargs" help="For example: strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0. Leave blank for default."/>
+    <yield/>
+  </xml>
 
-  <xml name="layer_RNN">
-    <param argument="cell" >
-    <section name="layer_options" title="Layer Advanced Options" expanded="false">
-      <param argument="return_sequences" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="false" />
-      <param argument="return_state" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="false" />
-      <param argument="go_backwards" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="false" />
-      <param argument="stateful" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="false" />
-      <param argument="unroll" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="false" />
-      <param argument="input_dim" >
-      <param argument="input_length" >
-    </section>
+  <xml name="layer_SimpleRNNCell">
+    <param argument="units" type="integer" value="" min="1" help="Positive integer, dimensionality of the output space."/>
+    <expand macro="simple_kwargs" help="For example: activation='tanh', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0. Leave blank for default."/>
     <yield/>
-  </xml-->
+  </xml>
 
-  <xml name="layer_LSTM">
+  <xml name="layer_GRUCell">
     <param argument="units" type="integer" value="" min="1" help="Positive integer, dimensionality of the output space."/>
-    <section name="layer_options" title="Layer Advanced Options" expanded="false">
-      <expand macro="keras_activations"/>
-    </section>
+    <expand macro="simple_kwargs" help="For example: activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, implementation=1, reset_after=False. Leave blank for default."/>
     <yield/>
   </xml>
 
+  <xml name="layer_LSTMCell">
+    <param argument="units" type="integer" value="" min="1" help="Positive integer, dimensionality of the output space."/>
+    <expand macro="simple_kwargs" help="For example: activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, implementation=1. Leave blank for default."/>
+    <yield/>
+  </xml>
+
+  <xml name="layer_CuDNNGRU">
+    <param argument="units" type="integer" value="" min="1" help="Positive integer, dimensionality of the output space."/>
+    <expand macro="simple_kwargs" help="For example: kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, return_sequences=False, return_state=False, stateful=False. Leave blank for default."/>
+    <yield/>
+  </xml>
+
+  <xml name="layer_CuDNNLSTM">
+    <param argument="units" type="integer" value="" min="1" help="Positive integer, dimensionality of the output space."/>
+    <expand macro="simple_kwargs" help="For example: kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, return_sequences=False, return_state=False, stateful=False. Leave blank for default."/>
+    <yield/>
+  </xml>
+
+
   <!--Embedding Layers-->
 
   <xml name="layer_Embedding">
     <param argument="input_dim" type="integer" value="" min="0" help="int > 0. Size of the vocabulary, i.e. maximum integer index + 1."/>
     <param argument="output_dim" type="integer" value="" min="0" help="int >= 0. Dimension of the dense embedding."/>
-    <section name="layer_options" title="Layer Advanced Options" expanded="false">
-      <expand macro="keras_initializers" argument="embeddings_initializer" default_embeddings="true"/>
-      <expand macro="keras_regularizers" argument="embeddings_regularizer"/>
-      <expand macro="keras_regularizers" argument="activity_regularizer"/>
-      <expand macro="keras_constraints" argument="embeddings_constraint"/>
-      <param argument="mask_zero" type="boolean" truevalue="booltrue" falsevalue="boolfalse" optional="true" checked="false"/>
-      <param argument="input_length" type="integer" value="" optional="true" min="0" help="Length of input sequences. Required if connecting Flatten then Dense layers upstream"/>
-    </section>
+    <expand macro="simple_kwargs" help="For example: embeddings_initializer='uniform', embeddings_regularizer=None, activity_regularizer=None, embeddings_constraint=None, mask_zero=False, input_length=None. Leave blank for default."/>
     <yield/>
   </xml>
 
@@ -901,7 +637,7 @@
   </xml>
 
   <xml name="layer_PReLU">
-    <expand macro="keras_initializers" argument="alpha_initializer" default_bias="true"/>
+    <expand macro="keras_initializers" argument="alpha_initializer" default_zeros="true"/>
     <expand macro="keras_regularizers" argument="alpha_regularizer"/>
     <expand macro="keras_constraints" argument="alpha_constraint"/>
     <param argument="shared_axes" type="text" value="" help="the axes along which to share learnable parameters for the activation function. E.g. [1, 2]">
@@ -939,13 +675,34 @@
 
   <!--Normalization Layers-->
 
+  <xml name="layer_BatchNormalization">
+    <expand macro="simple_kwargs" help="For example: axis=-1, momentum=0.99, epsilon=0.001, center=True, scale=True, beta_initializer='zeros', gamma_initializer='ones', moving_mean_initializer='zeros', moving_variance_initializer='ones', beta_regularizer=None, gamma_regularizer=None, beta_constraint=None, gamma_constraint=None. Leave blank for default."/>
+  </xml>
+
   <!--Noise layers-->
 
+  <xml name="layer_GaussianNoise">
+    <param argument="stddev" type="float" value="" help="float, standard deviation of the noise distribution."/>
+  </xml>
+
+  <xml name="layer_GaussianDropout">
+    <param argument="rate" type="float" value="" help="drop probability, (as with `Dropout`). The multiplicative noise will have standard deviation `sqrt(rate / (1 - rate))`"/>
+  </xml>
+
+  <xml name="layer_AlphaDropout">
+    <expand macro="layer_Dropout"/>
+  </xml>
+
   <xml name="inbound_nodes_index">
     <param name="inbound_nodes" type="integer" value="" label="Type the index number of input layer"
           help="Find the index number at the left top corner of layer configuration block"/>
   </xml>
 
+  <!--Simple key words text parameters, conbined to reduce UI latency-->
+
+  <xml name="simple_kwargs" token_help="Leave blank for default.">
+    <param argument="kwargs" type="text" value="" label="Type in key words arguments if different from the default" help="@HELP@"/>
+  </xml>
 
   <!-- Keras CallBacks -->