如何使用 .pkl 文件预测图像

Posted

技术标签:

【中文标题】如何使用 .pkl 文件预测图像【英文标题】:How to predict an image using .pkl file 【发布时间】:2020-04-05 19:41:40 【问题描述】:

我已经训练了一个图像分类模型并将其保存在 .pkl 文件中。 现在我不知道如何使用该泡菜文件进行单个或多个图像预测。 我已经为表格数据预测做了这个,但不是为了图像

from sklearn.externals import joblib

classifer = joblib.load("model.pkl")

接下来要做什么 用于预测表格数据的方法不适用于图像。

【问题讨论】:

你在 pickle 文件中究竟保存了什么?您应该只加载它并恢复分类器对象,请提供详细信息。 感谢您的回复,我已经使用fastai library 对其进行了训练,它使用export() function 将模型保存为.pkl 格式,但现在问题是由于某种原因我不允许使用fastai 项目中的库,但是我使用 fastai 训练的模型在我的数据集上表现非常好,所以是的,我只想在不使用 fastai 的情况下从 .pkl file 中得到预测 【参考方案1】:

应该是一样的,你用你正在使用的任何图像模块读取图像,例如opencv:

import cv2 
img = cv2.imread('path/to/img')
classifier.predict(img)

如果这不起作用,也许粘贴错误,以便更容易为您提供答案

【讨论】:

不工作,这个predict来自sklearn或keras,我的错误是AttributeError: 'int' object has no attribute 'predict'按照你的建议 你可以在用joblib加载它以显示参数后做print(classifier)吗?它不应该是int 对象。这就是说,如果模型被正确加载和加载,如果你对用于训练的图像进行了一些预处理,你应该对你的图像做同样的事情在预测它们之前用于预测。

以上是关于如何使用 .pkl 文件预测图像的主要内容,如果未能解决你的问题,请参考以下文章

python 保存训练好的预测模型 python如何加载训练好的模型pkl格式文件

如何将两个不同的训练有素的 ML 模型组合为一个?

如何使用 opencv 打开 pkl 文件?

如何使用预训练的 .caffemodel 在 python 上对单个图像执行预测

如何利用python读取PKL文件

如何从 2 个 pkl 文件创建 Python 嵌套字典/将 2 个嵌套字典合并为一个?