TensorFlow 提供了一个 Go API,该 API 特别适合加载用 Python 创建的模型并在 Go 应用中运行这些模型。
支持的平台
以下系统支持 Go 版 TensorFlow:
- Linux - 64 位,x86
- macOS - 版本 10.12.6 (Sierra) 或更高版本
设置
TensorFlow C 库
安装 TensorFlow Go 软件包所需的 TensorFlow C 库。
下载
下载并安装 TensorFlow Go 软件包及其依赖项:
go get github.com/tensorflow/tensorflow/tensorflow/go
然后验证安装结果:
go test github.com/tensorflow/tensorflow/tensorflow/go
构建
示例程序
安装 TensorFlow Go 软件包后,使用以下源代码创建一个示例程序 (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())
}
运行
运行示例程序:
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.
从源代码编译
TensorFlow 是开源系统。请阅读相关说明,了解如何从源代码构建 Go 版 TensorFlow。