[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/halukmy/TensorFlow.NET/master/test/KerasNET.Example/Program.cs [Back]  [Original]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tensorflow;
using static Tensorflow.Python;
using static Keras.Keras;
using Keras.Layers;
using Keras;
using NumSharp;

namespace Keras.Example
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("================================== Keras ==================================");

            #region data
            var batch_size = 1000;
            var (X, Y) = XOR(batch_size);
            //var (X, Y, batch_size) = (np.array(new float[,]{{1, 0 },{1, 1 },{0, 0 },{0, 1 }}), np.array(new int[] { 0, 1, 1, 0 }), 4);
            #endregion

            #region features
            var (features, labels) = (new Tensor(X), new Tensor(Y));
            var num_steps = 10000;
            #endregion

            #region model
            var m = new Model();
            
            //m.Add(new Dense(8, name: "Hidden", activation: tf.nn.relu())).Add(new Dense(1, name:"Output"));

            m.Add(
                new ILayer[] {
                    new Dense(8, name: "Hidden_1", activation: tf.nn.relu()),
                    new Dense(1, name: "Output")
                });

            m.train(num_steps, (X, Y));
            #endregion

            Console.ReadKey();
        }
        static (NDArray, NDArray) XOR(int samples)
        {
            var X = new List();
            var Y = new List();
            var r = new Random();
            for (int i = 0; i < samples; i++)
            {
                var x1 = (float)r.Next(0, 2);
                var x2 = (float)r.Next(0, 2);
                var y = 0.0f;
                if (x1 == x2)
                    y = 1.0f;
                X.Add(new float[] { x1, x2 });
                Y.Add(y);
            }
            
            return (np.array(X.ToArray()), np.array(Y.ToArray()));
        }
    }
}

Web Proxy Viewer  |  New URL  |  Original Page