此文章基于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
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 群星.2023-非凡医者影视原声带【华纳】【FLAC分轨】
- 《寻找弗兰基》全成就一览
- 《传说法师2》EA评测:不是亲生的不心疼
- 《射戮骑士》评测:“幸存者!去杀穿硬核地狱!”
- 群星《名声(黑胶CD)》[WAV+CUE]
- 梅艳芳《女人花》SACD[原抓WAV+CUE]
- 孙露《因为想念》【WAV+CUE】
- 罗艺恒《What Could've Been》[FLAC/分轨][130.04MB]
- 罗熙楷《笼中鸟Caged Bird》[320K/MP3][72.27MB]
- 罗熙楷《笼中鸟Caged Bird》[FLAC/分轨][191.82MB]
- 英雄联盟s14晋级四强队伍是哪些 S14全球总决赛四强战队介绍
- 魔兽世界怀旧服专家模式什么时候开 怀旧服专家模式开启时间介绍
- 魔兽世界永久60级哪个职业最强 魔兽世界永久60级职业推荐
- 上海Major赛事专属版显示器首次亮相PNL高校决赛
- 寻找中国“龙” 感受乐元素的“科普力”