我有一个FastAPI API,它获取图像,加载Tensorflow模型,并返回预测。本地一切都很好,但我想把它托管在谷歌云上,我遵循了一个教程,并做了以下操作:
- 创建app.yaml文件,其中内容为
runtime: python39
entrypoint: gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app
- requirements.txt包含
fastapi
numpy
Pillow
pydantic
tensorflow
uvicorn
gunicorn
opencv-python
之后,我把所有东西上传到Github上,打开Google cloud,创建一个新项目,激活cloud run和cloud build,克隆git repo,然后运行
gcloud app deploy app.yaml
我用
安装了需求pip3 install -r requirements.txt
,最后使用
启动APIgcloud app browse
我得到的是
upstream connect error or disconnect/reset before headers. reset reason: connection termination" or "Error: Server Error
或
The server encountered an error and could not complete your request.
Please try again in 30 seconds.
如Isabi所述,这是因为实例内存不足而产生的。您是否尝试过增加实例内存?尝试更改app.yaml中的实例类2,这将根据分配的类增加内存限制。
您也可以使用这个堆栈答案来增加实例内存