У меня есть простое приложение Flask, которое использует тензор потока и керас. Единственное, что делает это приложение, это
- Получение запроса API
- Выполнение некоторых операций с использованием кераса
- Возврат ответа
Модель keras предварительно обучена. Это прекрасно работает на локальном сервере. Когда я развертываю приложение в Google Cloud, импорт tenorflow и keras занимает много времени, и сервер возвращает "Ошибка: ошибка сервера. Сервер обнаружил ошибку и не смог выполнить ваш запрос. Повторите попытку через 30 секунд."
main.py:
from flask import Flask, jsonify, request
from flask_cors import CORS
import base64
import io
import numpy as np
from skimage.transform import resize
from matplotlib import image
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('Agg')
# import tensorflow as tf
# from keras.models import load_model
# import keras.backend as k
# from keras.preprocessing.image import img_to_array
app = Flask(__name__)
cors = CORS(app)
# sess = tf.Session()
# graph = tf.get_default_graph()
# K.tensorflow_backend.set_session(sess)
# model = load_model('./model.h5')
@app.route("/", methods=['GET'])
def hello():
return 'Hello World!'
# global sess
# global graph
# with graph.as_default():
# K.tensorflow_backend.set_session(sess)
# data = request.get_json()
# ### DO SOME WORK HERE ###
# return 'Hello World!'
if __name__ == '__main__':
app.run()
Всякий раз, когда я пытаюсь раскомментировать один из импортированных тензорных потоков / керасов, он показывает ошибку сервера.
needs.txt
Flask==1.1.2
Flask-Cors==3.0.8
Keras==2.3.1
Keras-Applications==1.0.8
Keras-Preprocessing==1.1.0
matplotlib==3.2.1
numpy==1.18.2
scikit-image==0.16.2
tensorflow==1.13.1
app.yaml
runtime: python37
instance_class: F4
Что-то мне не хватает? Я новичок в облачном развертывании Google.