当前位置: 首页 > 面试题库 >

在用于服务模型的Tensorflow中,服务输入功能应该做什么

沈博延
2023-03-14
问题内容

因此,我一直在努力了解在Tensorflow中出于训练目的导出经过训练的模型时,serving_input_fn()的主要任务是什么。网上有一些例子可以解释它,但是我在为自己定义它时遇到了问题。

我要解决的问题是一个回归问题,其中有29个输入和一个输出。是否有用于为此创建相应的服务输入功能的模板?如果我使用一类分类问题怎么办?服务输入功能是否需要更改,或者我可以使用相同的功能?

最后,我是否总是需要提供输入功能,还是仅当使用tf.estimator导出模型时才使用?


问题答案:

如果希望模型能够进行预测,则需要提供服务的输入功能。serving_input_fn指定predict()方法的调用者必须提供的内容。您实际上是在告诉模型必须从用户那里获取什么数据

如果您有29个输入,则服务输入功能可能类似于:

def serving_input_fn():
    feature_placeholders = {
      'var1' : tf.placeholder(tf.float32, [None]),
      'var2' : tf.placeholder(tf.float32, [None]),
      ...
    }
    features = {
        key: tf.expand_dims(tensor, -1)
        for key, tensor in feature_placeholders.items()
    }
    return tf.estimator.export.ServingInputReceiver(features, 
                                                    feature_placeholders)

通常以JSON形式出现:

{"instances": [{"var1": [23, 34], "var2": [...], ...}]}

PS输出不是服务输入功能的一部分,因为这与要预测的输入有关。如果您使用的是预制估算器,则输出已经预先确定。如果要编写自定义估算器,则应编写导出签名。



 类似资料:
  • 我正在尝试使用Tensorflow服务项目为HDFS的Tensorflow模型提供服务。 我正在运行tenorflow服务docker容器标签1.10.1https://hub.docker.com/r/tensorflow/serving 我可以看到tensorflow/serving repo在 https://github.com/tensorflow/serving/blob/628702

  • 1.1.1. inputflinger 1.1.1. inputflinger inputflinger为输入事件服务,基于android源码修改。 源码路径:robot/frameworks/native/services/inputflinger 此服务为系统级服务,不允许第三方应用直接调用,不支持多实例运行。可由类似AMS(Apps Manager Service)级别的系统进程注册inpu

  • 我在数据库中存储了一个字符串,希望从应用程序中的不同位置访问该字符串。我发现最好的解决方案是创建一个函数,从数据库中获取该字符串并将其注册为服务。 功能: service.yml 其他控制器中的输出: 不幸的是,我不断地 严重-未捕获的PHP异常Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException:“您请求

  • 我一直在与TensorFlow的构建器进行斗争,以便能够为我的模型服务,我试图在为模型服务后向我的分类器提供数据 我的问题是如何向模型提供输入?我看过Google的inception教程使用的代码 并试图实施它 据我所知,输入被传递给一个名为serialized_tf_example的张量,顾名思义,该张量将输入序列化为string,但是他们使用我不理解的tf.fixedlenfeature,然后

  • 我按照教程中的步骤使用Tensorflow训练神经网络,如上所示https://www.tensorflow.org/alpha/tutorials/keras/overfit_and_underfit 在训练数据值上运行拟合函数时,遇到输入形状有问题的错误。 模型架构: ---------------------------------------------------------------

  • 我有以下服务: 和其他服务 我有我的Junit 当我在调试模式下运行这个测试时,我看到这个。合同服务。getInfo(multipartFileId) 正在返回我“null”。 我在嘲弄中错在哪里。 我刚刚在JUnit中嘲笑了ContractService。我还需要模拟AccountServiceImpl吗? 编辑:添加saveInCache和getInfo方法