go-neural

Neural network implementation on golang

  • 所有者: NOX73/go-neural
  • 平台:
  • 許可證:
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

go-neural

Install

  go get github.com/NOX73/go-neural
  go get github.com/NOX73/go-neural/persist
  go get github.com/NOX73/go-neural/learn

Neural Network

Create new network:


  import "github.com/NOX73/go-neural"

  //...

  // Network has 9 enters and 3 layers 
  // ( 9 neurons, 9 neurons and 4 neurons).
  // Last layer is network output.
  n := neural.NewNetwork(9, []int{9,9,4})
  // Randomize sypaseses weights
  n.RandomizeSynapses()
  
  result := n.Calculate([]float64{0,1,0,1,1,1,0,1,0})
  

Persist network

Save to file:

  import "github.com/NOX73/go-neural/persist"

  persist.ToFile("/path/to/file.json", network)

Load from file:

  import "github.com/NOX73/go-neural/persist"

  network := persist.FromFile("/path/to/file.json")

Learning

  import "github.com/NOX73/go-neural/learn"

  var input, idealOutput []float64
  // Learning speed [0..1]
  var speed float64

  learn.Learn(network, in, idealOut, speed)

You can get estimate of learning quality:

  e := learn.Evaluation(network, in, idealOut)

Engine

For concurrent learn, calculate & dump neural network.

	network := neural.NewNetwork(2, []int{2, 2})
	engine := New(network)
	engine.Start()

	engine.Learn([]float64{1, 2}, []float64{3, 3}, 0.1)

	out := engine.Calculate([]float64{1, 2})

Live example

Dirty live example: [https://github.com/NOX73/go-neural-play]

主要指標

概覽
名稱與所有者NOX73/go-neural
主編程語言Go
編程語言Go (語言數: 2)
平台
許可證
所有者活动
創建於2014-01-04 14:42:44
推送於2019-01-08 07:10:32
最后一次提交2019-01-08 11:10:31
發布數0
用户参与
星數254
關注者數15
派生數40
提交數35
已啟用問題?
問題數9
打開的問題數6
拉請求數5
打開的拉請求數2
關閉的拉請求數2
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?