public double activate(double x, ActivatorFunc?_tF) { ActivatorFunc __tF = _tF ?? tF; switch (__tF) { case ActivatorFunc.Sigmoid: return(Activate.Sigmoid(x)); case ActivatorFunc.TanHyperbolic: return(Activate.Tanh(x)); case ActivatorFunc.Identity: return(Activate.Identity(x)); case ActivatorFunc.ReLU: return(Activate.ReLU(x)); case ActivatorFunc.SoftStep: return(Activate.SoftStep(x)); } return(-1); }
public IEnumerable<NetworkParameters> GenerateParameters(ActivatorFunc activator) { // d | d(2d + 1) | (2d + 1) | o int sizeOfGenePool = 6; var d = _vectorSize; var l = new int[sizeOfGenePool][]; var o = _outputSize; l[0] = L(d, d * (2 * d + 1), (2 * d + 1), o); l[1] = L(d, d * 2, d * 2, o); l[2] = L(d, d * 4, d * 2, o); l[3] = L(d, d * (2 * d + 1), (2 * d + 1), o); l[4] = L(d, o); l[5] = L(d, d * 4, o); return Enumerable.Range(0, sizeOfGenePool).Select(n => new NetworkParameters(l[n], activator) { LearningRate = _learningRate }); }
public transferFunc(ActivatorFunc?_tF) { tF = _tF ?? ActivatorFunc.Sigmoid; }