Comment puis-je changer G_h1 = tf.nn.relu(tf.matmul(z, G_W1) + G_b1)
en relu qui fuit? J'ai essayé de faire une boucle sur le tenseur en utilisant max(value, 0,01*value)
mais j'obtiens TypeError: Using a tf.Tensor as a Python bool is not allowed.
J'ai également essayé de trouver le code source sur relu sur Tensorflow github afin que je puisse le modifier en relu qui fuit mais je ne l'ai pas trouvé ..
Vous pouvez en écrire un basé sur tf.relu
, quelque chose comme:
def lrelu(x, alpha):
return tf.nn.relu(x) - alpha * tf.nn.relu(-x)
[~ # ~] modifier [~ # ~]
Tensorflow 1.4 a maintenant un natif tf.nn.leaky_relu
.
Si alpha <1 (il devrait l'être), vous pouvez utiliser tf.maximum(x, alpha * x)
Une fonction relu qui fuit a été incluse avec version 1.4.0-rc1 comme tf.nn.leaky_relu
.
Page de documentation: https://www.tensorflow.org/versions/master/api_docs/python/tf/nn/leaky_rel .