脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Golang - go版tensorflow安装教程详解

go版tensorflow安装教程详解

2021-02-22 00:46Bungula Golang

这篇文章主要介绍了go版tensorflow安装教程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

此文章基于ubuntu16.04

先在这里贴上官方教程
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/go

注意 安装go版的tensorflow时一定要先安装C版tensorflow且要部署好go语言

c版tensorflow官方教程
(Go 版本 TensorFlow 依赖于 TensorFlow C 语言库)
按照官方的指导就可以,没什么坑,最好是官方指定位置,否则后面可能会有坑!

安好后执行这个命令

?
1
go get -d github.com/tensorflow/tensorflow/tensorflow/go

可能会出现go get 找不到 google.golang.org/protobuf/×××××××××× 这类问题

此时我们可以使用git clone命令,执行如下代码“https://github.com/protocolbuffers/protobuf-go.git”,将下载内容放入protobuf文件夹中,即把下载下来中的内容全部替换到出问题的protobuf目录,这可能是之前代码换地址导致的问题

?
1
2
执行如下命令(下载下来后记得把文件替换,或者直接改名字把protobuf-go改成protobuf换目录)
git clone https://github.com/protocolbuffers/protobuf-go.git

如果找不到相应的目录可以用如下命令获取

?
1
2
3
4
5
6
7
8
9
git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc
 
git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net
 
git clone https://github.com/golang/text.git $GOPATH/src/golang.org/x/text
 
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
 
git clone https://github.com/google/go-genproto.git $GOPATH/src/google.golang.org/genproto

如果找不到包

?
1
"github.com/tensorflow/tensorflow/tensorflow/go/genop/internal/proto/github.com/tensorflow/tensorflow/tensorflow/go/core" in any of: /home/go/src/github.com/tensorflow/tensorflow/tensorflow/go/genop/internal/proto/github.com/tensorflow/tensorflow/tensorflow/go/core (from $GOROOT)

此时我们可以执行以下命令尝试解决问题

?
1
2
3
4
5
cd $GOPATH/src/github.com/tensorflow/tensorflow/tensorflow/go
  
 git checkout r1.11
  
 go get github.com/tensorflow/tensorflow/tensorflow/go

也可以在 StackOverflow 上通过搜索和提问来获取可能的解决方法。

如果go get成功 即不报错,可用如下命令测试

?
1
go test github.com/tensorflow/tensorflow/tensorflow/go

Hello World


安装完 Go 版本 TensorFlow 之后,在 hello_tf.go 文件中输入下面的代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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:

?
1
2
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.

参考

[1]: https://blog.csdn.net/jj546630576/article/details/88179569
[2]: https://www.cnblogs.com/personblog/p/13084723.html
[3]: https://blog.csdn.net/qq_38431572/article/details/103671986

到此这篇关于go版tensorflow安装教程详解的文章就介绍到这了,更多相关go安装tensorflow内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/introsend/article/details/110784821

延伸 · 阅读

精彩推荐
  • Golanggolang 通过ssh代理连接mysql的操作

    golang 通过ssh代理连接mysql的操作

    这篇文章主要介绍了golang 通过ssh代理连接mysql的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    a165861639710342021-03-08
  • GolangGolang通脉之数据类型详情

    Golang通脉之数据类型详情

    这篇文章主要介绍了Golang通脉之数据类型,在编程语言中标识符就是定义的具有某种意义的词,比如变量名、常量名、函数名等等,Go语言中标识符允许由...

    4272021-11-24
  • GolangGolang中Bit数组的实现方式

    Golang中Bit数组的实现方式

    这篇文章主要介绍了Golang中Bit数组的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    天易独尊11682021-06-09
  • Golanggolang json.Marshal 特殊html字符被转义的解决方法

    golang json.Marshal 特殊html字符被转义的解决方法

    今天小编就为大家分享一篇golang json.Marshal 特殊html字符被转义的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    李浩的life12792020-05-27
  • Golanggolang如何使用struct的tag属性的详细介绍

    golang如何使用struct的tag属性的详细介绍

    这篇文章主要介绍了golang如何使用struct的tag属性的详细介绍,从例子说起,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看...

    Go语言中文网11352020-05-21
  • Golanggo日志系统logrus显示文件和行号的操作

    go日志系统logrus显示文件和行号的操作

    这篇文章主要介绍了go日志系统logrus显示文件和行号的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    SmallQinYan12302021-02-02
  • Golanggolang的httpserver优雅重启方法详解

    golang的httpserver优雅重启方法详解

    这篇文章主要给大家介绍了关于golang的httpserver优雅重启的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,...

    helight2992020-05-14
  • Golanggo语言制作端口扫描器

    go语言制作端口扫描器

    本文给大家分享的是使用go语言编写的TCP端口扫描器,可以选择IP范围,扫描的端口,以及多线程,有需要的小伙伴可以参考下。 ...

    脚本之家3642020-04-25