python - 无法读取远程 Ubuntu 服务器上 flask 中保存的机器学习模型

标签 python ubuntu machine-learning flask scikit-learn

我已将机器学习模型保存为“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/

相关文章:

python - 在 ubuntu 上安装 scikit-learn

python - PySide:QTreeView 到嵌套字典

ubuntu - 在没有密码的情况下启动hadoop守护程序

c++ - Ubuntu 触摸应用程序 : "Error opening shm"

machine-learning - 机器学习根据先前学习的组合输出字符串

Python 和 scikit 学习 : replace matrix vector product during training with custom call

javascript - 不呈现 Python Bokeh 标题和工具栏

python - 从嵌套字典创建 dfs 并计算字符串以创建带有子图的图

python - MultiHeadAttention 中的 att_mask 和 key_padding_mask 有什么区别

linux - 构建图像时 "COPY ./src"是什么