#python #tensorflow #tensorflow-serving
Вопрос:
Я меняю запрос на API обслуживания TF, скажем, с
{
"inputs": [
[-1, -1]
]
}
Для
{
"inputs": {
"feature_name_1": -1,
"feature_name_2": -1
}
}
Я могу добиться этого, используя слой ввода, который требует указать тип данных, и в моем случае я хочу, чтобы он float32
был красивым и чистым.
Проблема в том , что некоторые значения, как ожидается, придут как 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"
также кажется мне неправильной.
Есть ли способ заставить модель принимать любой тип входных данных и выполнять всю обработку внутри самой модели? Можно ли построить входной слой, ожидая любого типа данных? Или другое решение без входных слоев?
Я был бы очень признателен за любую помощь, так как это заставляет меня думать об этом без остановки, и я все еще не могу решить эту проблему