1. 程式人生 > 程式設計 >go版tensorflow安裝教程詳解

go版tensorflow安裝教程詳解

此文章基於ubuntu16.04

先在這裡貼上官方教程
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/go

注意 安裝go版的tensorflow時一定要先安裝C版tensorflow且要部署好go語言

c版tensorflow官方教程
(Go 版本 TensorFlow 依賴於 TensorFlow C 語言庫)
按照官方的指導就可以,沒什麼坑,最好是官方指定位置,否則後面可能會有坑!

安好後執行這個命令

go get -d github.com/tensorflow/tensorflow/tensorflow/go

可能會出現go get 找不到 google.golang.org/protobuf/××××××××××

這類問題

此時我們可以使用git clone命令,執行如下程式碼“https://github.com/protocolbuffers/protobuf-go.git”,將下載內容放入protobuf資料夾中,即把下載下來中的內容全部替換到出問題的protobuf目錄,這可能是之前程式碼換地址導致的問題

執行如下命令(下載下來後記得把檔案替換,或者直接改名字把protobuf-go改成protobuf換目錄)
git clone https://github.com/protocolbuffers/protobuf-go.git

如果找不到相應的目錄可以用如下命令獲取

 git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc

 git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net

 git clone https://github.com/golang/text.git $GOPATH/src/golang.org/x/text

 go get -u github.com/golang/protobuf/{proto,protoc-gen-go}

 git clone https://github.com/google/go-genproto.git $GOPATH/src/google.golang.org/genproto

如果找不到包

"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)

此時我們可以執行以下命令嘗試解決問題

cd $GOPATH/src/github.com/tensorflow/tensorflow/tensorflow/go
  
 git checkout r1.11
  
 go get github.com/tensorflow/tensorflow/tensorflow/go

也可以在 StackOverflow 上通過搜尋和提問來獲取可能的解決方法。

如果go get成功 即不報錯,可用如下命令測試

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

Hello World


安裝完 Go 版本 TensorFlow 之後,在 hello_tf.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())
}

通過呼叫下面的命令來執行 hello_tf.go:

go run hello_tf.go
Hello from TensorFlow version number

這個程式可能會輸出類似下面的警告資訊,你可以忽略它們:

W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library
wasn't compiled to use *Type* instructions,but these are available on your
machine and could speed up CPU computations.

參考

[1]: https://blog.csdn.net/jj546630576/article/details/88179569
[2]: https://www.cnblogs.com/personblog/p/13084723.html
[3]: https://blog.csdn.net/qq_38431572/article/details/103671986

到此這篇關於go版tensorflow安裝教程詳解的文章就介紹到這了,更多相關go安裝tensorflow內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!