diff --git a/TensorFlow.NET.sln b/TensorFlow.NET.sln
index 4aae6e0d..880d886b 100644
--- a/TensorFlow.NET.sln
+++ b/TensorFlow.NET.sln
@@ -13,8 +13,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TensorFlowNET.Utility", "sr
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TensorFlowNET.Visualization", "TensorFlowNET.Visualization\TensorFlowNET.Visualization.csproj", "{4BB2ABD1-635E-41E4-B534-CB5B6A2D754D}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NumSharp.Core", "..\NumSharp\src\NumSharp.Core\NumSharp.Core.csproj", "{0AB4662E-7E3C-455F-BF0C-23D56CBE74F3}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -41,10 +39,6 @@ Global
{4BB2ABD1-635E-41E4-B534-CB5B6A2D754D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4BB2ABD1-635E-41E4-B534-CB5B6A2D754D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4BB2ABD1-635E-41E4-B534-CB5B6A2D754D}.Release|Any CPU.Build.0 = Release|Any CPU
- {0AB4662E-7E3C-455F-BF0C-23D56CBE74F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0AB4662E-7E3C-455F-BF0C-23D56CBE74F3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0AB4662E-7E3C-455F-BF0C-23D56CBE74F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0AB4662E-7E3C-455F-BF0C-23D56CBE74F3}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/TensorFlowNET.Core/APIs/tf.nn.cs b/src/TensorFlowNET.Core/APIs/tf.nn.cs
new file mode 100644
index 00000000..7ca290fd
--- /dev/null
+++ b/src/TensorFlowNET.Core/APIs/tf.nn.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tensorflow
+{
+ public static partial class tf
+ {
+ public static nn_impl nn => new nn_impl();
+ }
+}
diff --git a/src/TensorFlowNET.Core/Operations/math_ops.py.cs b/src/TensorFlowNET.Core/Operations/math_ops.py.cs
index 8bfb51a7..83ee4719 100644
--- a/src/TensorFlowNET.Core/Operations/math_ops.py.cs
+++ b/src/TensorFlowNET.Core/Operations/math_ops.py.cs
@@ -23,6 +23,35 @@ namespace Tensorflow
return x;
});
}
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static Tensor reduce_mean(Tensor input_tensor, int[] axes = null, bool keepdims = false, string name = null)
+ {
+ throw new NotFiniteNumberException();
+ }
+ ///
+ /// Reduction Operation
+ ///
+ ///
+ ///
+ ///
+ public void _ReductionDims(Tensor x, int[] axis, int[] reduction_indices = null)
+ {
+ if (reduction_indices != null || reduction_indices.Length != 0)
+ {
+ if (axis != null)
+ {
+
+ }
+ }
+
+ throw new NotSupportedException("Can't specify both axis' and 'reduction_indices'.");
+ }
///
/// Helper function for reduction ops.
diff --git a/src/TensorFlowNET.Core/Operations/nn_impl.py.cs b/src/TensorFlowNET.Core/Operations/nn_impl.py.cs
new file mode 100644
index 00000000..56c4fb46
--- /dev/null
+++ b/src/TensorFlowNET.Core/Operations/nn_impl.py.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tensorflow
+{
+ public class nn_impl : Python
+ {
+ ///
+ /// Calculate the mean and variance of `x`
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public (Tensor, Tensor) moments(Tensor x,
+ int[] axes,
+ string name = null,
+ bool keep_dims = false)
+ {
+ with(new ops.name_scope(name, "moments", new { x, axes }), scope =>
+ {
+ var y = math_ops.cast(x, TF_DataType.TF_FLOAT);
+ // mean = math_ops.reduce_mean(y, axes, keepdims = True, name = "mean")
+
+ });
+
+ throw new NotImplementedException("");
+ }
+ }
+}
diff --git a/src/TensorFlowNET.Core/TensorFlowNET.Core.csproj b/src/TensorFlowNET.Core/TensorFlowNET.Core.csproj
index 01448769..c4e5891d 100644
--- a/src/TensorFlowNET.Core/TensorFlowNET.Core.csproj
+++ b/src/TensorFlowNET.Core/TensorFlowNET.Core.csproj
@@ -51,8 +51,4 @@ Docs: https://tensorflownet.readthedocs.io
-
-
-
-
diff --git a/test/TensorFlowNET.Examples/NaiveBayesClassifier.cs b/test/TensorFlowNET.Examples/NaiveBayesClassifier.cs
index 8f395ea9..948b9fff 100644
--- a/test/TensorFlowNET.Examples/NaiveBayesClassifier.cs
+++ b/test/TensorFlowNET.Examples/NaiveBayesClassifier.cs
@@ -2,6 +2,8 @@
using System.Collections.Generic;
using System.Text;
using Tensorflow;
+using NumSharp.Core;
+using System.Linq;
namespace TensorFlowNET.Examples
{
@@ -9,10 +11,28 @@ namespace TensorFlowNET.Examples
/// https://github.com/nicolov/naive_bayes_tensorflow
///
public class NaiveBayesClassifier : Python, IExample
- {
+ {
public void Run()
{
- throw new NotImplementedException();
+ // t/f.nn.moments()
+ }
+
+ public void fit(NDArray X, NDArray y)
+ {
+ // separate training points by class
+ // shape : nb_class * nb_samples * nb_features
+ NDArray unique_y = y.unique();
+ NDArray points_by_class = np.array(y.Data().Where(ys => unique_y.Data().Contains(ys)));
+
+ foreach (long cls in unique_y)
+ {
+
+ }
+
+
+ // estimate mean and variance for each class / feature
+ // shape : nb_classes * nb_features
+
}
}
}
diff --git a/test/TensorFlowNET.Examples/TensorFlowNET.Examples.csproj b/test/TensorFlowNET.Examples/TensorFlowNET.Examples.csproj
index 34a29361..e32a8092 100644
--- a/test/TensorFlowNET.Examples/TensorFlowNET.Examples.csproj
+++ b/test/TensorFlowNET.Examples/TensorFlowNET.Examples.csproj
@@ -11,7 +11,6 @@
-