永远的bc 2022-05-24 12:08
浏览 64
已结题

python中使用deteocto训练图像识别的模型如何保存和调用

python中使用deteocto训练图像识别的模型如何保存和调用

from detecto import utils
#import matplotlib.pyplot as plt
#import matplotlib.image as img
from torchvision import transforms
from detecto import core
from detecto import visualize
import pickle

transform_img = transforms.Compose([
transforms.ToPILImage(),
transforms.Resize(800),
transforms.RandomHorizontalFlip(0.5),
transforms.ToTensor(),
utils.normalize_transform(),
])

dataset = core.Dataset('train.csv', 'images/', transform=transform_img)

dataloader = core.DataLoader(dataset)
validation_data = core.Dataset('val.csv', 'images/')
categories = ['apple']
with open('mo/rfc.pickle', 'rb') as f:
classifier = pickle.load(f)
这是我一开始用于保存模型的代码但是失败了,调用出来还是识别不了
image = utils.read_image('1.JPG')
labels, boxes, scores = model.predict_top(image)
visualize.show_labeled_image(image,boxes, labels)

运行结果及报错内容

训练完之后直接显示的准确率很高,但是我把模型保存再调用后,准确率就和没训练过一样

我的解答思路和尝试过的方法

with open('mo/rfc.pickle','wb') as f:
pickle.dump(classifier,f)
保存
with open('mo/rfc.pickle', 'rb') as f:
classifier = pickle.load(f)
提取
没用,识别率低的绝望

我想要达到的结果

能保存我的训练数据,并在第二份程序跳过训练直接能识别模型

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 6月1日
    • 创建了问题 5月24日

    悬赏问题

    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料