Развертывание облачных функций Google с TensorFlow в качестве зависимости - PullRequest
0 голосов
/ 07 сентября 2018

Я бы хотел использовать облачные функции Google для развертывания модели керас, сохраненной в JSON (включая веса в HDF5) с тензорным потоком в качестве бэкэнда.

Развертывание завершается успешно, когда я не указываю тензор потока в файле require.txt. Хотя при тестировании функции в GCP я получаю сообщение об ошибке, указывающее, что тензорный поток не может быть найден.

Error: function crashed. Details:
No module named 'tensorflow'

Во-первых, я нахожу довольно странным, что Google не предоставляет среды с предварительно установленным тензорным потоком.

Но теперь, если я указываю тензор потока в файле require.txt, развертывание завершается с сообщением об ошибке

ERROR: (gcloud.beta.functions.deploy) OperationError: 
code=3, message=Build failed: USER ERROR:
`pip_download_wheels` had stderr output:
 Could not find a version that satisfies the 
requirement tensorflow (from -r /dev/stdin (line 5)) 
(from versions: )
No matching distribution found for tensorflow (from -r 
/dev/stdin (line 5))

Есть ли способ получить тензор потока в облачных функциях, или Google намеренно блокирует установку, чтобы заставить нас использовать ML Engine?

1 Ответ

0 голосов
/ 07 сентября 2018

РЕДАКТИРОВАТЬ: Tensorflow 1.13.1 теперь поддерживает Python 3.7.


Предыдущий ответ:

В настоящее время нет способа использовать tensorflow в облачных функциях Google.

Однако это не потому, что Google намеренно блокирует его: пакет tensorflow предоставляет только встроенные дистрибутивы для CPython 2.7, 3.3, 3.4, 3.5 и 3.6, но среда исполнения Python Cloud Functions основан на Python версии 3.7.0 , поэтому pip (правильно) не может найти совместимые дистрибутивы.

В настоящее время есть некоторые проблемы совместимости с TensorFlow и Python 3.7 , но как только это будет исправлено, tensorflow должен быть установлен в Google Cloud Functions. Пока что вам придется использовать ML Engine.

...