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)
提取
没用,识别率低的绝望
我想要达到的结果
能保存我的训练数据,并在第二份程序跳过训练直接能识别模型