登录
首页 >  Golang >  Go问答

与TFGo中导入的TF模型进行交互的方法

来源:stackoverflow

时间:2024-03-04 22:48:27 432浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《与TFGo中导入的TF模型进行交互的方法》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

问题内容

我按照 https://www.tensorflow.org/tutorials/keras/text_classification 上的 tensorflow 教程进行操作并保存了模型。

我能够使用 tfgo 库成功导入到 go 中:

package main

import (
    "fmt"

    tg "github.com/galeone/tfgo"
    tf "github.com/tensorflow/tensorflow/tensorflow/go"
)

func main() {
    model := tg.LoadModel("movie_reviews", []string{"serve"}, nil)
    root := tg.NewRoot()
    t := tg.NewTensor(root, tg.Const(root, [3]int32{1, 2, 3}))
    fake, _ := tf.NewTensor([3]int32{1, 2, 3})
    model.Exec([]tf.Output{t.Output}, map[tf.Output]*tf.Tensor{
        model.Op("input", 0): fake,
    })
    fmt.Println(model)
}

但现在我不知道如何与其交互。在 python 中,您拥有所有这些模型方法,即 predictevaluate 等。

使用 go 绑定,您似乎需要知道确切的操作名称才能与其交互?

我如何得知这一点?


解决方案


是的,使用 go 绑定和 tfgo 你必须知道确切的操作名称。

顺便说一句,使用 saved_model_cli cli 工具(与 tensorflow python 包一起提供)可以轻松获取“serve”标签下的所有名称。

saved_model_cli show --all --dir 

它将为您提供 savedmodel 中可用的每个标签所需的所有信息。在您的情况下,您必须使用键“serve”或“serving_default”查看 signature_def

免责声明:我是 tfgo 包的作者。我还在《使用 tensorflow 2.0 进行神经网络实践》一书的第 10 章中介绍了这个主题 - 专门介绍 savedmodel 序列化格式的部分。

到这里,我们也就讲完了《与TFGo中导入的TF模型进行交互的方法》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>