我尝试通过requirements.txt部署具有依赖项的Google云功能。部署耗时极长,并且失败,并显示以下消息:
(gcloud.functions.deploy) OperationError: code=3, message=Build failed: {"cacheStats": [{"status": "MISS", "hash": "ebbabef833cbc5bf98d2562c9f28bd5ab91e1a867134bb0c08f84397510ff774", "type": "docker_layer_cache", "level": "global"}, {"status": "MISS", "hash": "ebbabef833cbc5bf98d2562c9f28bd5ab91e1a867134bb0c08f84397510ff774", "type": "docker_layer_cache", "level": "project"}]}
我发现,requests.txt似乎是问题所在,当我只是通过Web控制台(带有HelloWorld示例)创建python3.7云函数并将需求粘贴到那里时,我会得到相同的行为。 requirements.txt如下:
Flask==1.0.2
dill>=0.2.8
numpy>=1.15.0
requests>=2.20.0
six==1.12.0
spacy>=2.1.0
torch>=1.0.0
torchtext>=0.3.1
我还有其他一些与Requirements.txt一起使用的示例,但是这里没有重点。而且我不知道是否有办法进一步调试它。
有想法吗?
似乎pytorch引起了问题,它可以通过直接指向whl文件的URL来工作,例如
...
spacy>=2.1.0
https://download.pytorch.org/whl/cpu/torch-1.0.1.post2-cp37-cp37m-linux_x86_64.whl
torchtext>=0.3.1
问题似乎与cuda有关,上面的网址指向没有cuda的火炬版本。
答案 0 :(得分:2)
PyTorch默认在支持CUDA / Nvidia GPU的PyPI上发布发行版,但是Cloud Functions运行时不支持GPU或必需的系统库。
相反,在选择以下内容时,您应该使用https://pytorch.org/提供的URL:
pip3 install https://download.pytorch.org/whl/cpu/torch-1.0.1.post2-cp37-cp37m-linux_x86_64.whl
哪个会成为您的requirements.txt
:
Flask==1.0.2
dill>=0.2.8
numpy>=1.15.0
requests>=2.20.0
six==1.12.0
spacy>=2.1.0
https://download.pytorch.org/whl/cpu/torch-1.0.1.post2-cp37-cp37m-linux_x86_64.whl
torchtext>=0.3.1