Загрузка большого файла в приложении gcloud с помощью Flask - PullRequest
0 голосов
/ 19 апреля 2019

Я загрузил приложение Flask в движок приложений Google, который использует модель обучения Scikit.Я бы хотел, чтобы файл pickle загружался только один раз, но я не знаю, где и как его импортировать.

Я пытался импортировать модель в самом начале сценария приложения, но затем на сайте произошла ошибка.

main.py:


clf = joblib.load(open("static/troll_model.pkl", "rb"))

application = Flask(__name__)

@application.route("/")
def home():
    return render_template('index.html')

@application.route('/predict', methods=['POST'])
def predict():
    if request.method == "POST":
        message = request.form['message']
        data = [message]
        pred = clf.predict(data)

    return render_template("result.html", prediction=pred)

app.yaml:

runtime: python37
entrypoint: gunicorn -b :$PORT main:application

handlers:
- url: /static
  static_dir: static

- url : /.*
  script: auto

На данный момент модель импортируется каждый раз, когда клиент запрашивает ответ, она работаетно приложение становится очень медленным.Я хотел бы импортировать файл только один раз.

1 Ответ

0 голосов
/ 24 июля 2019

Работает просто отлично, если используется среда движка Flex Flex. Гибкая среда позволяет использовать локальные файлы (здесь модель обучения scikit), тогда как строгая среда не позволяет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...