安装TensorFlow for Go - Go语言中文社区

安装TensorFlow for Go


 

 

原文链接 : https://www.tensorflow.org/install/install_go

译文链接 : http://www.apache.wiki/pages/viewpage.action?pageId=10029605

贡献者 : 片刻 ApacheCN Apache中文网

TensorFlow提供在Go程序中使用的API。这些API特别适合加载在Python中创建的模型,并在Go应用程序中执行它们。本指南介绍如何安装和设置 TensorFlow Go软件包

警告: TensorFlow API API 不在 TensorFlow API稳定性保证范围内

 

支持的平台

您可以在以下操作系统上安装TensorFlow for Go:

  • Linux的
  • Mac OS X

 

安装

TensorFlow for Go取决于TensorFlow C库。采取以下步骤安装此库并启用TensorFlow for Go:

  1. 决定是否只在CPU或GPU的帮助下运行TensorFlow for Go。为了帮助您决定,请阅读以下指南之一标题为“确定要安装的TensorFlow”的部分。

  2.  /usr/local/lib通过调用以下shell命令,下载并提取TensorFlow C库:

    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.1.0.tar.gz" |

    sudo tar -C $TARGET_DIRECTORY -xz 

    tar命令将TensorFlow C库提取到lib 子目录中TARGET_DIRECTORY。例如,指定/usr/localTARGET_DIRECTORY使tar提取TensorFlow C库成/usr/local/lib

    如果您希望将库提取到不同的目录中,请进行相应的调整TARGET_DIRECTORY

  3. 在步骤2中,如果您指定了系统目录(例如/usr/localTARGET_DIRECTORY,则运行ldconfig以配置链接器。例如:

    sudo ldconfig 

    如果您分配了TARGET_DIRECTORY系统目录(例如,~/mydir),则必须将提取目录(例如~/mydir/lib)附加到两个环境变量中,如下所示:

    export LIBRARY_PATH=$LIBRARY_PATH:~/mydir/lib           # For both Linux and Mac OS X

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/mydir/lib     # For Linux only

    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:~/mydir/lib # For Mac OS X only 

  4. 现在安装了TensorFlow C库,请go get按如下方式调用相应的软件包及其依赖关系:

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

      

  5. 调用go test如下来验证TensorFlow for Go安装:

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

    去测试github.com/tensorflow/tensorflow/tensorflow/go

     

如果go getgo test生成错误消息,搜索(或发布到) StackOverflow 可能的解决方案。

 

Hello World

安装TensorFlow对围棋后,输入以下代码到一个文件名为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中TensorFlow的更高级示例,请查看API文档中的 示例,该文档使用预先训练过的TensorFlow模型来标记图像内容。

运行

 hello_tf.go通过调用以下命令运行:

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是开源的。您可以从TensorFlow源代码中构建TensorFlow for Go,并按照 单独文档中的说明进行操作

转载于:https://my.oschina.net/repine/blog/920747

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_34117522/article/details/91846061
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-24 22:15:01
  • 阅读 ( 1603 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢