go学习Golang开发指南机器学习

TensorFlow for Go

2017-09-27  本文已影响150人  Jancd

 go语言有着很好的潜力,最近TensorFlow提供了go语言的API.这些API特别适合加载Python中创建的模型,并在Go应用程序中执行它们。不过这些API还没有很稳定,目前也只是支持Linux,Mac OSX平台..

安装

本文以MacOSX安装为例

一 . Mac OS X上安装TensorFlow

安装TensorFlow有几种方式可以选择:

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

同时运行结果中可能会产生一些警告,我们可以忽略.运行截图


这里写图片描述
上一篇下一篇

猜你喜欢

热点阅读