我使用 Flask 构建 Web 应用程序。我想要应该执行一次并在呈现网络之前就绪的构建模型函数。之后,它不应该再执行了,构建的模型就可以让我使用了。对于我下面的代码,它无法实现我的目的。请帮助我。
import pathlib
from flask import Flask, request, jsonify, render_template
import main_classifier
import classify_header
import os
import logging
import SingleURLFeatureExtraction
import pandas as pd
import numpy as np
from process_url import process_url
from url_feature_model import build_model
from extract_msg import Message
app = Flask(__name__)
# Set up the logger
logging.basicConfig(level=logging.DEBUG)
initialized = False
def build_and_initialize_model():
global initialized
if not initialized:
# Perform model building and initialization tasks here
global model
model = build_model()
print("Model built and initialized...")
initialized = True
# Call the build_and_initialize_model() function immediately
build_and_initialize_model()
@app.route('/')
def index():
return render_template('index.html')
@app.route('/', methods=['POST'])
def process_input():
global model
input_data = request.json['input']
app.logger.info(f'Received input: {input_data}')
features = SingleURLFeatureExtraction.addfeature(input_data)
output = process_url(model, features)
#output = main_classifier.process_data(input_data)
app.logger.info(f'Response: {output}')
return jsonify(output=output), 200, {'Content-Type': 'application/json'}