如何用神经网络建立一个基本的Go项目?

时间:2015-02-06 20:37:05

标签: go

我是超级新人Go并需要一些帮助。首先是$GOPATH。似乎我的所有go项目应该在我的机器上的同一个地方?所以我有这套:

$ echo $GOPATH
/sites/gopath

在里面,我设置了推荐的文件夹:

$ ls -a /sites/gopath
.   ..  bin pkg src

src内,我有一个名为github.com的文件夹,其中有一个名为shamoons的文件夹,其中有一个名为go-ann-test的文件夹。

在其中,我有一个名为autompg的文件夹,在其中,我有一个名为autompg.go的文件。

唷!这是项目的很多设置!但我会假设我做错了或者它有点值得。

在我的autompg.go中,我有:

package main

import (
  "fmt"
  "github.com/fxsjy/gonn"
)

func main() {
  nn := gonn.DefaultNetwork(2,3,1,true)
  inputs := [][]float64{
    []float64{0,0},
    []float64{0,1},
    []float64{1,0},
    []float64{1,1},
  }

  targets := [][]float64{
    []float64{0},//0+0=0
    []float64{1},//0+1=1
    []float64{1},//1+0=1
    []float64{2},//1+1=2
  }

  nn.Train(inputs,targets,1000)

  for _,p := range inputs{
    fmt.Println(nn.Forward(p))
  }
}

当我从go install autompg文件夹中输入go-ann-test时,我得到:

$ go install autompg 
can't load package: package autompg: cannot find package "autompg" in any of:
    /usr/local/Cellar/go/1.4.1/libexec/src/autompg (from $GOROOT)
    /sites/gopath/src/autompg (from $GOPATH)

那么我做错了什么?如何正确设置项目以接受外部包?

1 个答案:

答案 0 :(得分:1)

  来自go install autompg文件夹的

go-ann-test

不,您需要转到go-ann-test/autompg文件夹,然后输入go install

这会将autompg.go编译成可执行文件autompg并放入$GOPATH/bin

最后,您可以添加,提交并推送到https://github.com/shamoons/go-ann-test

OP Shamoon添加in the comments

  

我得到了

 autompg.go:35:3: no buildable Go source files in /sites/gopath/src/github.com/fxsjy/gonn

这意味着首先导入和编译go get github.com/fxsjy/gonn需要github.com/fxsjy/gonn

考虑到导入的repo结构https://github.com/fxsjy/gonn,它确实需要:

cd /sites/gopath/src/github.com/fxsjy/gonn/gonn
go install 

这意味着实际导入是:

import github.com/fxsjy/gonn/gonn