| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package main
- import "math/rand"
- type Vector []float64
- func MakeVector(n int) Vector {
- return make(Vector, n)
- }
- func MakeRandomVector(n int) Vector {
- V := make(Vector, n)
- for i := 0; i < n; i++ {
- for V[i] == 0 {
- V[i] = rand.NormFloat64()
- }
- }
- return V
- }
- func MakeDropoutVector(n int) Vector {
- V := make(Vector, n)
- for i := 0; i < n; i++ {
- if rand.Float64() >= Dropout {
- V[i] = 1 / (1 - Dropout)
- }
- }
- return V
- }
- func (V Vector) N() int {
- return len(V)
- }
- func (V Vector) Max() (int, float64) {
- id, max := 0, V[0]
- for i := 1; i < V.N(); i++ {
- if V[i] > max {
- id, max = i, V[i]
- }
- }
- return id, max
- }
|