Example #1
0
 private void OnDisable()
 {
     if (!IsTraining)
     {
         NeuralNetworkAPI.ReleaseNeuralNetwork(NeuralNetwork);
     }
 }
Example #2
0
    public float[] Compute(float[] Values)
    {
        IntPtr DataPointer = NeuralNetworkAPI.Compute(NeuralNetwork, Values);

        float[] ReturnFloatArray = new float[3];
        Marshal.Copy(DataPointer, ReturnFloatArray, 0, 3);
        return(ReturnFloatArray);
    }
        public float ForwardPropagation(float[] inputs, NeuralNetworkActivationFunctionType activationFunctionType)
        {
            float sum = 0;

#if NETFRAMEWORK
            NeuralNetworkAPI.Neuron(inputs, Weights, Weights.Length, ref sum);
#else
            for (int i = 0; i < Weights.Length; i++)
            {
                sum += inputs[i] * Weights[i];
            }
            ;
#endif
            return(NeuralNetworkAPI.ActivationFunction(activationFunctionType, sum + Bias));
        }
Example #4
0
    private List <NeuralNetworkAPI.DataSet> DataSetArray;                                           // Data Set 的集合

    private void Awake()
    {
        if (!IsTraining)
        {
            // 關閉 Recorder
            recorder.enabled = false;

            // 產生 Neural Network
            if (!ReadTrainData())
            {
                return;
            }

            //NeuralNetwork = NeuralNetworkAPI.CreateNeuralNetwork(5, 11, 3);
            NeuralNetwork = NeuralNetworkAPI.CreateNeuralNetwork(25, 53, 3, 1000, 0.4f, 0.9f);
            NeuralNetworkAPI.Train(NeuralNetwork, DataSetArray.ToArray(), DataSetArray.Count);
        }
    }