go语言有着很好的潜力,最近TensorFlow提供了go语言的API.这些API特别适合加载Python中创建的模型,并在Go应用程序中执行它们。不过这些API还没有很稳定,目前也只是支持Linux,Mac OSX平台..
安装
本文以MacOSX安装为例
一 . Mac OS X上安装TensorFlow
安装TensorFlow有几种方式可以选择:
- virtualenv
- "native" pip
- Docker
- installing from sources
之前我是Docker安装了,所以这里我选择第一种virtualenv方式,更多方式请看官网
https://www.tensorflow.org/install/install_go
1 . 安装pip
$ sudo easy_install pip
已经安装过了可以忽略.py2,和py3冲突解决方法请百度
2 . 安装virtualenv
$ sudo pip install --upgrade virtualenv
3. 创建virtualenv环境
创建文件夹 :$ mkdir ~/tensorflow
如果你电脑装了python2.7,执行
$ virtualenv --system-site-packages ~/tensorflow
如果你电脑装了python3.x,执行
$ virtualenv --system-site-packages -p python3 ~/tensorflow
4 . 激活virtualenv环境
$ source ~/tensorflow/bin/activate
你会发现你的终端变成了这个样子
(tensorflow)$
5 . 安装TensorFlow 和所有激活TensorFlow所需要的包
如果你电脑装了python2.7,执行
(tensorflow)$ pip install --upgrade tensorflow
如果你电脑装了python3.x,执行
(tensorflow)$ pip3 install --upgrade tensorflow
附图:下载比较慢
二 . 安装TensorFlow for Go
前文说到的TensorFlow要安装好.
1. 下载并解压TensorFlow C库文件 到/usr/local/lib
执行以下命令:
$ TF_TYPE="cpu" # Change to "gpu" for GPU support
$ TARGET_DIRECTORY='/usr/local'
$ curl -L \ "https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-${TF_TYPE}-$(go env GOOS)-x86_64-1.3.0.tar.gz" |
sudo tar -C $TARGET_DIRECTORY -xz
第三条语句比较长..
2 . C库安装后,下载合适的包和依赖
执行
$ go get github.com/tensorflow/tensorflow/tensorflow/go
3 . 确认TensorFlow forGO 已经生效
$ go test github.com/tensorflow/tensorflow/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())
}
运行 hello_tf.go
go run hello_tf.go
----------
运行结果:
Hello from TensorFlow version 1.3.0
同时运行结果中可能会产生一些警告,我们可以忽略.运行截图