Spaces:
Sleeping
Sleeping
package nn | |
import "math" | |
var ActivationMap = map[string]func(float64) float64{ | |
"sigmoid": Sigmoid, | |
"tanh": Tanh, | |
"relu": Relu, | |
} | |
func Sigmoid(x float64) float64 { | |
return 1.0 / (1.0 + math.Exp(-x)) | |
} | |
func SigmoidPrime(x float64) float64 { | |
s := Sigmoid(x) | |
return s / (1.0 - s) | |
} | |
func Tanh(x float64) float64 { | |
return math.Tanh(x) | |
} | |
func TanhPrime(x float64) float64 { | |
return math.Pow((1.0 / math.Cosh(x)), 2) | |
} | |
func Relu(x float64) float64 { | |
if x > 0 { | |
return x | |
} | |
return 0 | |
} | |
func ReluPrime(x float64) float64 { | |
// maybe want to look into edge case if x == 0 | |
if x > 0 { | |
return 1 | |
} | |
return 0 | |
} | |