首页 > 解决方案 > 如何使 TensorFlow 模型与空输入一起工作?获取“类型:Null 不是预期的类型:float”

问题描述

我正在将请求更改为 TF Serving API

{ 
    "inputs": [
        [-1, -1]
   ] 
}

{
    "inputs": {
        "feature_name_1": -1,
        "feature_name_2": -1
    }
}

我可以通过使用需要提供数据类型的输入层来实现这一点,在我的情况下,我想让它保持float32整洁。

问题是某些值预计会出现,因此我必须通过使用 Lambda 层null将它们替换为模型本身内部想要的东西(假设null将转换为)。-10

问题是我不能让它与null数据类型一起工作。的情况下

{
    "inputs": {
        "feature_name_1": null,
        "feature_name_2": -1
    }
}

我明白了

{
    "error": "JSON Value: null Type: Null is not of expected type: float"
}

有一些我根本不喜欢的解决方法,希望找到另一个解决方案:输入层dtype可以更改为String,在构建请求时,我们可以将每个值转换String

{
    "inputs": {
        "feature_name_1": "null",
        "feature_name_2": "-1"
    }
}

但在我看来这是错误的,因为"null"它不是实际null的。同样发送数值对我-1来说String "-1"也是错误的。

有没有办法让模型接受任何输入数据类型并在模型本身内部进行所有处理?可以构建期望任何数据类型的输入层吗?或者其他没有输入层的解决方案?

我真的很感激任何帮助,因为这让我不停地思考这个问题,但我仍然无法解决它

标签: pythontensorflowtensorflow-serving

解决方案


推荐阅读