安装TensorFlow for Go
博客专区 > 片刻 的博客 > 博客详情
安装TensorFlow for Go
片刻 发表于8个月前
安装TensorFlow for Go
  • 发表于 8个月前
  • 阅读 46
  • 收藏 1
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

 

 

原文链接 : 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,并按照 单独文档中的说明进行操作

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 88
博文 268
码字总数 306559
×
片刻
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: