TensorFlow for Go

作者: Jancd | 来源:发表于2017-09-27 21:44 被阅读150次

     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
    
    

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


    这里写图片描述

    相关文章

      网友评论

      • 小子青人:别随便粘贴别人文章啊,你亲自实践过吗?
        小子青人:@SergeyChang 哦,我在CSDN上面见到过,很多引用啊,没标注原作者。
        Jancd:@小子青人 没错,我写的。只不过我再csdn发布了复制过来。

      本文标题:TensorFlow for Go

      本文链接:https://www.haomeiwen.com/subject/qzayextx.html