private void OnDisable() { if (!IsTraining) { NeuralNetworkAPI.ReleaseNeuralNetwork(NeuralNetwork); } }
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)); }
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); } }