Watch talks from the 2019 TensorFlow Dev Summit Watch now

安装 Go 版 TensorFlow

TensorFlow 提供了一个 Go API,该 API 特别适合加载用 Python 创建的模型并在 Go 应用中运行这些模型。

支持的平台

以下系统支持 Go 版 TensorFlow:

  • Linux - 64 位,x86
  • macOS X - 版本 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。