Go語言安裝tensorflow教程(親測能用,解決 cannot find 包的問題)

我在安裝tensorflow (go語言)時,按照官方教程來,發現有錯誤,經過幾位外國友人的知道,解決問題,現貼出這個坑,供大家借鑑學習。

安裝tensorflow

這裏直接參考官方鏈接,記住,tensorflow的c語言版本也要安裝,才能使用,並且安裝位置最好使用教程裏的位置。

問題來了:

我們執行到這一步時:

go test github.com/tensorflow/tensorflow/tensorflow/go

提示我們找不到包:

cannot find package 
"github.com/tensorflow/tensorflow/tensorflow/go/genop/internal/proto/github.com/tensorflow/tensorflow/tensorflow/go/core" in any of: /home/go/src/github.com/tensorflow/tensorflow/tensorflow/go/genop/internal/proto/github.com/tensorflow/tensorflow/tensorflow/go/core (from $GOROOT)

/home/go_work/src/github.com/tensorflow/tensorflow/tensorflow/go/genop/internal/proto/github.com/tensorflow/tensorflow/tensorflow/go/core (from $GOPATH)

仔細看竟然有兩層github的引用,並且去github也找不到這個文件。

解決辦法:

外國友人幫助我的鏈接(stackoverflow網站),下面是原文截圖:

下面我把需要我們執行的代碼拿出來(記住,C語言的tensorflow一定要安裝到官方教程中的指定位置):

cd $GOPATH/src/github.com/tensorflow/tensorflow/tensorflow/go

git checkout r1.11

go get github.com/tensorflow/tensorflow/tensorflow/go

下面是我執行成功的截圖:

 

下面是代碼(其實就是官方教程中的代碼)

package main

import (
    tf "github.com/tensorflow/tensorflow/tensorflow/go"
    "github.com/tensorflow/tensorflow/tensorflow/go/op"
    "fmt"
)

func main() {
    // Construct a graph with an operation that produces a string constant.
    s := op.NewScope()
    c := op.Const(s, "Hello from TensorFlow version " + tf.Version())
    graph, err := s.Finalize()
    if err != nil {
        panic(err)
    }

    // Execute the graph in a session.
    sess, err := tf.NewSession(graph, nil)
    if err != nil {
        panic(err)
    }
    output, err := sess.Run(nil, []tf.Output{c}, nil)
    if err != nil {
        panic(err)
    }
    fmt.Println(output[0].Value())
}

 

發佈了34 篇原創文章 · 獲贊 98 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章