go版tensorflow安裝教程詳解
此文章基于ubuntu16.04
先在這里貼上官方教程
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/go
注意 安裝go版的tensorflow時(shí)一定要先安裝C版tensorflow且要部署好go語(yǔ)言
c版tensorflow官方教程
(Go 版本 TensorFlow 依賴于 TensorFlow C 語(yǔ)言庫(kù))
按照官方的指導(dǎo)就可以,沒(méi)什么坑,最好是官方指定位置,否則后面可能會(huì)有坑!
安好后執(zhí)行這個(gè)命令
go get -d github.com/tensorflow/tensorflow/tensorflow/go
可能會(huì)出現(xiàn)go get 找不到 google.golang.org/protobuf/×××××××××× 這類(lèi)問(wèn)題
此時(shí)我們可以使用git clone命令,執(zhí)行如下代碼“https://github.com/protocolbuffers/protobuf-go.git”,將下載內(nèi)容放入protobuf文件夾中,即把下載下來(lái)中的內(nèi)容全部替換到出問(wèn)題的protobuf目錄,這可能是之前代碼換地址導(dǎo)致的問(wèn)題
執(zhí)行如下命令(下載下來(lái)后記得把文件替換,或者直接改名字把protobuf-go改成protobuf換目錄) git clone https://github.com/protocolbuffers/protobuf-go.git
如果找不到相應(yīng)的目錄可以用如下命令獲取
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)
此時(shí)我們可以執(zhí)行以下命令嘗試解決問(wèn)題
cd $GOPATH/src/github.com/tensorflow/tensorflow/tensorflow/go git checkout r1.11 go get github.com/tensorflow/tensorflow/tensorflow/go
也可以在 StackOverflow 上通過(guò)搜索和提問(wèn)來(lái)獲取可能的解決方法。
如果go get成功 即不報(bào)錯(cuò),可用如下命令測(cè)試
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()) }
通過(guò)調(diào)用下面的命令來(lái)運(yùn)行 hello_tf.go:
go run hello_tf.go Hello from TensorFlow version number
這個(gè)程序可能會(huì)輸出類(lèi)似下面的警告信息,你可以忽略它們:
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
到此這篇關(guān)于go版tensorflow安裝教程詳解的文章就介紹到這了,更多相關(guān)go安裝tensorflow內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Golang中創(chuàng)建error的方式總結(jié)與應(yīng)用場(chǎng)景
Golang中創(chuàng)建error的方式包括errors.New、fmt.Errorf、自定義實(shí)現(xiàn)了error接口的類(lèi)型等,本文主要為大家介紹了這些方式的具體應(yīng)用場(chǎng)景,需要的可以參考一下2023-07-07使用Go語(yǔ)言實(shí)現(xiàn)敏感詞過(guò)濾功能
敏感詞過(guò)濾,算是一個(gè)比較常見(jiàn)的功能,尤其是在內(nèi)容、社交類(lèi)應(yīng)用中更是如此,本文介紹如何使用Go語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的敏感詞過(guò)濾功能,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12詳解Go語(yǔ)言中切片的長(zhǎng)度與容量的區(qū)別
切片可以看成是數(shù)組的引用,切片的長(zhǎng)度是它所包含的元素個(gè)數(shù)。切片的容量是從它的第一個(gè)元素到其底層數(shù)組元素末尾的個(gè)數(shù)。本文將通過(guò)示例詳細(xì)講講Go語(yǔ)言中切片的長(zhǎng)度與容量的區(qū)別,需要的可以參考一下2022-11-11基于Go Int轉(zhuǎn)string幾種方式性能測(cè)試
這篇文章主要介紹了Go Int轉(zhuǎn)string幾種方式測(cè)試,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04一文帶你掌握Golang中panic與recover的使用方法
這篇文章主要介紹了Golang中panic與recover的作用和使用方法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的小伙伴可以參考一下2023-04-04Go語(yǔ)言讀取,設(shè)置Cookie及設(shè)置cookie過(guò)期方法詳解
這篇文章主要介紹了Go語(yǔ)言讀取,設(shè)置Cookie及設(shè)置cookie過(guò)期方法詳解,需要的朋友可以參考下2022-04-04golang?gorm框架數(shù)據(jù)庫(kù)的連接操作示例
這篇文章主要為大家介紹了golang?gorm框架數(shù)據(jù)庫(kù)操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04Go 語(yǔ)言 JSON 標(biāo)準(zhǔn)庫(kù)的使用
今天通過(guò)本文給大家介紹Go 語(yǔ)言 JSON 標(biāo)準(zhǔn)庫(kù)的使用小結(jié),包括序列化和反序列化的相關(guān)知識(shí),感興趣的朋友跟隨小編一起看看吧2021-10-10