Я создал модель Cloud ML Engine и попытался сгенерировать прогнозы онлайн / HTTP, но обнаружил, что задержка выполнения прогноза все еще довольно высока. Ниже приведен сценарий Python, который я использую для создания прогнозов (здесь ):
def predict_json(project, model, instances, version=None):
service = googleapiclient.discovery.build('ml', 'v1')
name = 'projects/{}/models/{}'.format(project, model)
if version is not None:
name += '/versions/{}'.format(version)
response = service.projects().predict(
name=name,
body={'instances': instances}
).execute()
if 'error' in response:
raise RuntimeError(response['error'])
return response['predictions']
Когда модель запускается на моем ноутбуке, когда у меня есть tf.Session
с графиком и восстановленными всеми переменными, прямой проход по сети занимает около 0,16 с (для размера пакета 1). Однако, когда я загружаю одни и те же данные с помощью Cloud ML, прямой проход занимает около 3,6 секунды, даже когда я запускаю один и тот же сценарий несколько раз.
Я подозреваю, что модель перезагружается с нуля каждый раз, когда я пытаюсь сделать прогноз - есть ли способ, чтобы тот же tf.Session
работал в фоновом режиме, чтобы прогнозы генерировались намного быстрее? Или я еще что-то делаю неправильно?
Заранее спасибо за помощь!