Измените вывод TensorFlow с платформой AI на единый массив результатов - PullRequest
0 голосов
/ 23 января 2020

У меня есть 2 модели, работающие на платформе Google Cloud AI, на 2 разных платформах - scikit-learn & TensorFlow (1.15). Обе модели получают матрицу в качестве входных данных, по 1 строке на прогноз, и мы хотели бы, чтобы обе модели возвращали ответ с одинаковым форматом. Однако каждый из них возвращает ответ с несколько иной структурой:

  • модель scikit-learn (GradientBoostingRegressor) возвращает словарь с массивом 1d предсказаний. Например:

    {
       "predictions": [
            93032.67306866849,
            263857.4020113492
       ]
    }
    
  • Модель TensorFlow (на основе tf.keras.Layers) возвращает более сложный объект с выходным слоем в качестве вложенного ключа каждого прогноза. Например

    {
       "predictions": [
       {
            "l_output": [
                 93032.67306866849
            ]
       },
       {
            "l_output": [
                 263857.4020113492
            ]
       }
      ]
    }
    

Как изменить форму выходного сигнала Tensorflow? Я попытался использовать tf.keras.layers.Reshape, но он влияет только на один прогноз за раз и не применяется ко всему ответу.

...