Cómo instalar TensorFlow para Go

TensorFlow proporciona una API para Go que es especialmente útil a la hora de cargar modelos creados con Python y ejecutarlos en una aplicación de Go.

Plataformas compatibles

TensorFlow para Go es compatible con los siguientes sistemas:

  • Linux, 64 bits, x86
  • macOS, versión 10.12.6 (Sierra) o versiones posteriores

Configuración

Biblioteca de TensorFlow para C

Instala la biblioteca de TensorFlow para C, que es necesaria para el paquete de TensorFlow Go.

Descarga

Descarga e instala el paquete de TensorFlow Go y sus dependencias:

go get github.com/tensorflow/tensorflow/tensorflow/go

Valida la instalación:

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

Compila

Programa de ejemplo

Cuando hayas instalado el paquete de TensorFlow Go, usa el siguiente código fuente (hello_tf.go) para crear un programa de ejemplo:

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())
}

Ejecuta

Ejecuta el programa de ejemplo:

go run hello_tf.go

El resultado del comando es el siguiente: Hello from TensorFlow version number

Es posible que el programa genere los siguientes mensajes de advertencia, que puedes ignorar:

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.

Compila a partir de código fuente

TensorFlow es de código abierto. Lee las instrucciones para compilar TensorFlow para Go con el código fuente.