gpt4 book ai didi

python - 'ndarray' 类型的对象不是 JSON 可序列化的

转载 作者:太空狗 更新时间:2023-10-29 21:41:25 28 4
gpt4 key购买 nike

我是 Python 和机器学习的新手。我有一个线性回归模型,它能够根据我转储用于 Web 服务的输入来预测输出。请看下面的代码:

      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)

regression_model = LinearRegression()
regression_model.fit(X_train, y_train)
print(regression_model.predict(np.array([[21, 0, 0, 0, 1, 0, 0, 1, 1, 1]]))) # this is returning my expected output

joblib.dump(regression_model, '../trainedModels/MyTrainedModel.pkl')

我正在尝试使用 Flask 将其公开为 Web 服务,如下所示:

 @app.route('/predict', methods=['POST'])
def predict():


X = [[21, 0, 0, 0, 1, 0, 0, 1, 1, 1]]
model = joblib.load('../trainedModels/MyTrainedModel.pkl')
prediction = model.predict(np.array(X).tolist())
return jsonify({'prediction': list(prediction)})

但它抛出以下异常

Object of type 'ndarray' is not JSON serializable

我试过了 NumPy array is not JSON serializable

但是还是一样的错误。我该如何解决这个问题

最佳答案

尝试使用 tolist() 方法转换您的 ndarray:

prediction = model.predict(np.array(X).tolist()).tolist()
return jsonify({'prediction': prediction})

json 包示例:

a = np.array([1,2,3,4,5]).tolist()
json.dumps({"prediction": a})

应该输出:

'{"prediction": [1, 2, 3, 4, 5]}'

关于python - 'ndarray' 类型的对象不是 JSON 可序列化的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51685322/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com