From 0996be3b85689ee7d5263982ce2ae7cafcea4c44 Mon Sep 17 00:00:00 2001
From: Dennis Noll <github_001@nollde.de>
Date: Thu, 12 Nov 2020 08:43:33 +0100
Subject: [PATCH] [keras] adds improvements for DenseLayer

---
 keras.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/keras.py b/keras.py
index 9b78cdd..9ae24da 100644
--- a/keras.py
+++ b/keras.py
@@ -975,13 +975,20 @@ class DenseLayer(tf.keras.layers.Layer):
 
     def build(self, input_shape):
         parts = []
+        if self.activation == "selu":
+            kernel_initializer = tf.variance_scaling_initializer(factor=1.0, mode="FAN_IN")
+        else:
+            kernel_initializer = "glorot_uniform"
 
         l2 = tf.keras.regularizers.l2(self.l2)
-        weights = tf.keras.layers.Dense(self.nodes, kernel_regularizer=l2)
+        weights = tf.keras.layers.Dense(
+            self.nodes,
+            kernel_regularizer=l2,
+            kernel_initializer=kernel_initializer,
+        )
         parts.append(weights)
 
-        if self.batch_norm:
-            self.dropout = 0.0
+        if self.batch_norm and not self.activation == "selu":
             bn = tf.keras.layers.BatchNormalization()
             parts.append(bn)
 
-- 
GitLab