我试图用 Flask 和 Heroku 部署一个 XGBoost 模型,并在 Medium 上学习了这个教程。在我的本地机器上成功运行应用程序后,我无法在 Heroku 上部署它而不会产生“应用程序错误”。(我尝试部署教程作者的代码并遇到了完全相同的问题。)
以下是所有相关文件中的代码和错误消息。如果有人知道如何解决这个问题,我会很感激吗?
代码app.py
:
import pickle
import pandas as pd
import flask
# Load two pre-trained models
with open(f"model/classifier.pkl", "rb") as f:
model = pickle.load(f)
with open(f"model/age_scaler.pkl", "rb") as f:
scaler = pickle.load(f)
# Initialize the Flask app
app = flask.Flask(__name__, template_folder="templates")
# Set up the main route
@app.route("/", methods=["GET", "POST"])
def main():
if flask.request.method == "GET":
# Just render the initial form, to get input
return …
Run Code Online (Sandbox Code Playgroud) 我有6个测试题,我想随机化,以及正确的答案.问题#1和#2,#3和#4,#5和#6属于同一类型.为了不让测试太容易,我不希望连续显示#1和#2(#3和#4,或#5和#6).
为此,我想我应该[1, 2, 3, 4, 5, 6]
用这个约束来改变列表:1和2,3和4,5和6 不相邻.例如,[ 1,2,4,6,3,5]是不能接受的,因为1和2是彼此相邻的.然后,我想将新订单应用于问题列表和答案列表.
作为编程新手,我只知道如何在没有约束的情况下对列表进行混洗,如下所示:
question = [1, 3, 5, 2, 4, 6]
answer = ['G', 'Y', 'G', 'R', 'Y', 'R']
order = list(zip(question, answer))
random.shuffle(order)
question, answer = zip(*order)
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!