|
@@ -4,38 +4,32 @@ import (
|
|
|
"fmt"
|
|
|
|
|
|
neuralnetwork "./neuralnetworkbase"
|
|
|
- mat "gonum.org/v1/gonum/mat"
|
|
|
)
|
|
|
|
|
|
func main() {
|
|
|
sizes := []int{4, 8, 8, 3}
|
|
|
nn := neuralnetwork.NewNeuralNetwork(sizes, 0.1, 481)
|
|
|
|
|
|
- for i := 0; i < nn.Count; i++ {
|
|
|
- if i > 0 {
|
|
|
- fmt.Printf("Weights before:\n%v\n\n", mat.Formatted(nn.Weights[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
- fmt.Printf("Biases before:\n%v\n\n", mat.Formatted(nn.Biases[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
- fmt.Printf("Z before:\n%v\n\n", mat.Formatted(nn.Z[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
- }
|
|
|
- fmt.Printf("A before:\n%v\n\n", mat.Formatted(nn.A[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
- }
|
|
|
+ // for i := 0; i < nn.Count; i++ {
|
|
|
+ // if i > 0 {
|
|
|
+ // fmt.Printf("Weights before:\n%v\n\n", mat.Formatted(nn.Weights[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
+ // fmt.Printf("Biases before:\n%v\n\n", mat.Formatted(nn.Biases[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
+ // fmt.Printf("Z before:\n%v\n\n", mat.Formatted(nn.Z[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
+ // }
|
|
|
+ // fmt.Printf("A before:\n%v\n\n", mat.Formatted(nn.A[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
+ // }
|
|
|
|
|
|
dataSet, result := readData("./iris.data")
|
|
|
nn.Train(dataSet, result)
|
|
|
|
|
|
- for i := 0; i < nn.Count; i++ {
|
|
|
- if i > 0 {
|
|
|
- fmt.Printf("Weights after:\n%v\n\n", mat.Formatted(nn.Weights[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
- fmt.Printf("Biases after:\n%v\n\n", mat.Formatted(nn.Biases[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
- fmt.Printf("Z after:\n%v\n\n", mat.Formatted(nn.Z[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
- }
|
|
|
- fmt.Printf("A after:\n%v\n\n", mat.Formatted(nn.A[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
- }
|
|
|
- // data := make([]float64, sizes[0])
|
|
|
- // for i := range data {
|
|
|
- // data[i] = rand.Float64()
|
|
|
+ // for i := 0; i < nn.Count; i++ {
|
|
|
+ // if i > 0 {
|
|
|
+ // fmt.Printf("Weights after:\n%v\n\n", mat.Formatted(nn.Weights[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
+ // fmt.Printf("Biases after:\n%v\n\n", mat.Formatted(nn.Biases[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
+ // fmt.Printf("Z after:\n%v\n\n", mat.Formatted(nn.Z[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
+ // }
|
|
|
+ // fmt.Printf("A after:\n%v\n\n", mat.Formatted(nn.A[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
// }
|
|
|
- // aIn := mat.NewDense(sizes[0], 1, data)
|
|
|
|
|
|
failCount := 0
|
|
|
for i := 0; i < len(dataSet); i++ {
|