From c172126760d8a70833a44b404f8663c92f420b62 Mon Sep 17 00:00:00 2001 From: Samuel Caldas Date: Thu, 21 May 2020 22:58:38 -0300 Subject: [PATCH 1/4] Exposing epsilon in AdamOptimizer --- src/TensorFlowNET.Core/APIs/tf.train.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/TensorFlowNET.Core/APIs/tf.train.cs b/src/TensorFlowNET.Core/APIs/tf.train.cs index ca0ecc32..b3819b7b 100644 --- a/src/TensorFlowNET.Core/APIs/tf.train.cs +++ b/src/TensorFlowNET.Core/APIs/tf.train.cs @@ -38,8 +38,8 @@ namespace Tensorflow public Optimizer GradientDescentOptimizer(Tensor learning_rate) => new GradientDescentOptimizer(learning_rate); - public Optimizer AdamOptimizer(float learning_rate, string name = "Adam") - => new AdamOptimizer(learning_rate, name: name); + public Optimizer AdamOptimizer(float learning_rate, float epsilon = 1e-8f, string name = "Adam") + => new AdamOptimizer(learning_rate, epsilon:epsilon, name: name); public Optimizer AdamOptimizer(float learning_rate, TF_DataType dtype, string name = "Adam") => new AdamOptimizer(learning_rate, name: name, dtype: dtype); From 48a62b7ca3bf3330b541ab8d18a3b0ede2237c8c Mon Sep 17 00:00:00 2001 From: Samuel Caldas Date: Thu, 21 May 2020 23:04:36 -0300 Subject: [PATCH 2/4] Exposing softmax activation --- src/TensorFlowNET.Core/APIs/tf.nn.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/TensorFlowNET.Core/APIs/tf.nn.cs b/src/TensorFlowNET.Core/APIs/tf.nn.cs index c8ce62f9..19afce1d 100644 --- a/src/TensorFlowNET.Core/APIs/tf.nn.cs +++ b/src/TensorFlowNET.Core/APIs/tf.nn.cs @@ -116,6 +116,8 @@ namespace Tensorflow public IActivation relu() => new relu(); public IActivation swish() => new swish(); public IActivation tanh() => new tanh(); + + public IActivation softmax() => new softmax(); public Tensor tanh(Tensor x, string name = null) => gen_nn_ops.tanh(x, name); From c2672e63d9044b6f30d444f0976d69c9fc042f63 Mon Sep 17 00:00:00 2001 From: Samuel Caldas Date: Thu, 21 May 2020 23:07:01 -0300 Subject: [PATCH 3/4] Exposing squared_difference --- src/TensorFlowNET.Core/APIs/tf.math.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/TensorFlowNET.Core/APIs/tf.math.cs b/src/TensorFlowNET.Core/APIs/tf.math.cs index 66e1ba00..4ad70420 100644 --- a/src/TensorFlowNET.Core/APIs/tf.math.cs +++ b/src/TensorFlowNET.Core/APIs/tf.math.cs @@ -528,5 +528,7 @@ namespace Tensorflow public Tensor square(Tensor x, string name = null) => gen_math_ops.square(x, name: name); + public Tensor squared_difference(Tensor x, Tensor y, string name = null) + => gen_math_ops.squared_difference(x: x, y: y, name: name); } } From 1bfa6a77a6d9f0fcdd700f256992f86cc5743013 Mon Sep 17 00:00:00 2001 From: Samuel Caldas Date: Thu, 21 May 2020 23:13:05 -0300 Subject: [PATCH 4/4] Exposing categorical random --- src/TensorFlowNET.Core/APIs/tf.random.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/TensorFlowNET.Core/APIs/tf.random.cs b/src/TensorFlowNET.Core/APIs/tf.random.cs index d6c7d93a..54fd57be 100644 --- a/src/TensorFlowNET.Core/APIs/tf.random.cs +++ b/src/TensorFlowNET.Core/APIs/tf.random.cs @@ -38,6 +38,12 @@ namespace Tensorflow TF_DataType dtype = TF_DataType.TF_FLOAT, int? seed = null, string name = null) => random_ops.random_normal(shape, mean, stddev, dtype, seed, name); + public Tensor categorical( + Tensor logits, + int num_samples, + int? seed = null, + string name = null, + TF_DataType output_dtype = TF_DataType.DtInvalid) => random_ops.multinomial(logits, num_samples, seed: seed, name: name, output_dtype: output_dtype); } public Tensor random_uniform(TensorShape shape,