【发布时间】:2018-12-15 17:11:36
【问题描述】:
我已将机器学习模型保存为“finalized_model.sav”,我在烧瓶应用程序上使用它。当我在本地桌面上运行以下代码行时,它运行良好,但在远程 Ubuntu 服务器上运行相同的代码会出错:
@app.route('/studentData/', methods=['POST'])
def parsing_data():
try:
jsonData = request.get_json(force=True)
data = json.loads(jsonData)
requiredData = data['statement']
filename = 'finalized_model.sav'
loaded_model = pickle.load(open(filename, 'rb'))
count_vect = pickle.load(open('count_vect', 'rb'))
result = loaded_model.predict(count_vect.transform([requiredData]))
out = {"studentId": str(result)}
return json.dumps(out)
except:
return "invalid data"
我想知道问题可能出在哪里,似乎问题在于加载“finalized_model.sav”,尽管我已将所有文件保存在我的烧瓶应用程序所在的同一目录中(init .py) 存在
【问题讨论】:
-
错误信息是什么?
-
没有错误信息,我检查了日志文件。注释行 loaded_model = pickle.load(open(filename, 'rb')) 使其运行并取消注释,使其转到 except: block
-
已经解决scikit-learn没有安装在服务器上,日志文件没有错误,也有路径错误
标签: python ubuntu machine-learning flask scikit-learn