我想使用Google Cloud Functions部署以tensorflow作为后端的,以JSON(包括HDF5中的权重)保存的keras模型。
当我未在requirements.txt中指定tensorflow时,部署成功。尽管在GCP中测试该功能时,我得到了一条错误消息,指出找不到tensorflow。
Error: function crashed. Details:
No module named 'tensorflow'
首先,我发现Google没有为环境提供预安装的tensorflow感到很奇怪。
但是现在,如果我在requirements.txt中指定了tensorflow,则部署失败并显示错误消息
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))
是否可以通过Cloud Functions获得tensorflow或Google故意阻止安装以使我们能够使用ML Engine?
答案 0 :(得分:5)
编辑:Tensorflow 1.13.1 now supports Python 3.7.
上一个答案:
Google Cloud Functions当前没有使用tensorflow
的方法。
但是,这并不是因为Google故意阻止了它:tensorflow
package仅提供了CPython 2.7、3.3、3.4、3.5和3.6的内置发行版,而是the Cloud Functions Python runtime is based on Python version 3.7.0,所以pip
(正确)找不到任何兼容的发行版。
当前有some compatibility issues with TensorFlow and Python 3.7,但是一旦修复,tensorflow
应该可以安装在Google Cloud Functions上。不过,到目前为止,您必须使用ML Engine。