![](/img/trans.png)
[英]Trying to install keras & tensorflow on an Amazon AWS Instance
[英]Install keras tensorflow in AWS ElasticBeanstalk
我使用 CRUD 操作創建了一個簡單的 Flask web 應用程序,並使用以下 requirements.txt 文件部署在 beanstalk 中
Flask==1.1.1
Flask-MySQLdb==0.2.0
Jinja2==2.11.1
mysql==0.0.2
mysqlclient==1.4.6
SQLAlchemy==1.3.15
Werkzeug==1.0.0
Flask-Cors==3.0.8
Flask-Mail==0.9.1
Flask-SocketIO==4.3.0
它工作得很好,然后我在下面寫了一個 function
import tensorflow as tf
import keras
from keras.models import load_model
import cv2
import os
def face_shape_model():
classifier = load_model('face_shape_recog_model.h5')
image = cv2.imread('')
res = str(classifier.predict_classes(image, 1, verbose=0)[0])
return {"prediction": res}
將以下軟件包包含在 request.txt 文件中
keras==2.3.1
tensorflow==1.14.0
opencv-python==4.2.0.32
整個 flask 應用程序在我的本地環境中運行良好,所以我在部署后壓縮並部署到AWS elasticbeanstalk中,它記錄了以下錯誤
Unsuccessful command execution on instance id(s) 'i-0a2a8a4c5b3e56b81'. Aborting the operation.
Your requirements.txt is invalid. Snapshot your logs for details.
如上所述,我檢查了我的日志,它顯示以下錯誤
distutils.errors.CompileError: command 'gcc' failed with exit status 1
所以我搜索了上面的錯誤找到下面的解決方案,我創建了 yml 文件並將其添加到.ebextension文件中,如下所示
packages:
yum:
gcc-c++: []
但我仍然得到同樣的錯誤。 我該如何解決這個問題或者上面是否有任何錯誤的步驟
謝謝你。
最后用 docker 容器解決了,我在 AWS ElasticBeanstalk 中創建了 docker 環境並部署它,現在它工作正常,下面顯示了我的配置文件和 Z3254677A7917C6C01F55212F86C57FFFZ
Dockerfile
FROM python:3.6.8
RUN mkdir -p /usr/src/flask_app/
COPY src/requirements.txt /usr/src/flask_app/
WORKDIR /usr/src/flask_app/
RUN pip install -r requirements.txt
COPY . /usr/src/flask_app
ENTRYPOINT ["python", "src/app.py"]
EXPOSE 5000
Dockerrun.aws.json
{
"AWSEBDockerrunVersion": "1",
"Ports": [
{
"ContainerPort": "5000",
"HostPort": "80"
}
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.