|
@@ -2,23 +2,31 @@ package main
|
|
|
|
|
|
import (
|
|
import (
|
|
"fmt"
|
|
"fmt"
|
|
- "math/rand"
|
|
|
|
|
|
|
|
neuralnetwork "./neuralnetworkbase"
|
|
neuralnetwork "./neuralnetworkbase"
|
|
mat "gonum.org/v1/gonum/mat"
|
|
mat "gonum.org/v1/gonum/mat"
|
|
)
|
|
)
|
|
|
|
|
|
func main() {
|
|
func main() {
|
|
- sizes := []int{3, 2, 2}
|
|
|
|
|
|
+
|
|
|
|
+ dataSet, result := readData("./iris.data")
|
|
|
|
+
|
|
|
|
+ sizes := []int{4, 2, 2, 3}
|
|
nn := neuralnetwork.NewNeuralNetwork(sizes)
|
|
nn := neuralnetwork.NewNeuralNetwork(sizes)
|
|
|
|
|
|
- data := make([]float64, sizes[0])
|
|
|
|
- for i := range data {
|
|
|
|
- data[i] = rand.Float64()
|
|
|
|
|
|
+ for i := 0; i < len(dataSet); i++ {
|
|
|
|
+ fmt.Printf("Dataset[%d]:\n%v\n\n", i, mat.Formatted(dataSet[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
|
+ fmt.Printf("Result[%d]:\n%v\n\n", i, mat.Formatted(result[i], mat.Prefix(""), mat.Excerpt(0)))
|
|
|
|
+ nn.Backward(dataSet[i], result[i])
|
|
}
|
|
}
|
|
- aIn := mat.NewDense(sizes[0], 1, data)
|
|
|
|
|
|
|
|
- max, index := nn.Predict(aIn)
|
|
|
|
|
|
+ // data := make([]float64, sizes[0])
|
|
|
|
+ // for i := range data {
|
|
|
|
+ // data[i] = rand.Float64()
|
|
|
|
+ // }
|
|
|
|
+ // aIn := mat.NewDense(sizes[0], 1, data)
|
|
|
|
+
|
|
|
|
+ max, index := nn.Predict(dataSet[0])
|
|
|
|
|
|
for i := 0; i < nn.Count; i++ {
|
|
for i := 0; i < nn.Count; i++ {
|
|
if i > 0 {
|
|
if i > 0 {
|