我已将机器学习模型保存为“finalized_model.sav”,我在 flask 应用程序上使用它。当我在本地桌面上运行以下代码行时,它运行良好,但在远程 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”,尽管我已将所有文件保存在我的 flask 应用程序( init .py)存在的同一目录中
最佳答案
首先,改变
filename = 'finalized_model.sav'
至
filename = './finalized_model.sav'
如果这仍然不起作用,请使用完整路径名
import os
filename = os.path.abspath(__file__) + os.sep + 'finalized_model.sav'
关于python - 无法读取远程 Ubuntu 服务器上 flask 中保存的机器学习模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53789388/