Python Caffe网络损耗很低,但测试精度很差
我对咖啡馆有些陌生,我有一些奇怪的行为。我试图在bvlc_reference_caffenet上使用微调来完成OCR任务 我已经使用了他们的预训练网络,将最后一个FC层更改为我拥有的输出类的数量,并重新训练。经过几千次迭代后,我得到了约0.001的丢失率,当网络测试时,准确率超过90%。这就是说,当我试图独自在数据上运行我的网络时,我得到了糟糕的结果,不超过7%或8% 我用来运行网络的代码是:Python Caffe网络损耗很低,但测试精度很差,python,neural-network,computer-vision,deep-learning,caffe,Python,Neural Network,Computer Vision,Deep Learning,Caffe,我对咖啡馆有些陌生,我有一些奇怪的行为。我试图在bvlc_reference_caffenet上使用微调来完成OCR任务 我已经使用了他们的预训练网络,将最后一个FC层更改为我拥有的输出类的数量,并重新训练。经过几千次迭代后,我得到了约0.001的丢失率,当网络测试时,准确率超过90%。这就是说,当我试图独自在数据上运行我的网络时,我得到了糟糕的结果,不超过7%或8% 我用来运行网络的代码是: [imports] net = caffe.Classifier('bvlc_reference_c
[imports]
net = caffe.Classifier('bvlc_reference_caffenet/deploy.prototxt', 'bvlc_reference_caffenet/caffenet_train_iter_28000.caffemodel',
image_dims=(227, 227, 1))
input_image = caffe.io.load_image('/Training_Processed/6/0.png')
prediction = net.predict([input_image]) # predict takes any number of images, and formats them for the Caffe net automatically
cls = prediction[0].argmax()
有没有想过为什么这次的表现会如此糟糕
谢谢
注:一些附加信息,可能有用,也可能没用。当按如下所示进行分类时,分类器似乎确实喜欢某些类。即使我有一个101类的问题,它似乎只分配了最多15个不同的类
PPS:我也相当确定我没有穿过头。我一直在用快照测试这一点,它们都显示出同样糟糕的结果。您发布的模型测试代码似乎遗漏了一些组件:
caffe.Classifier
实例,您可能会看到如下内容:
net = caffe.Classifier('bvlc_reference_caffenet/deploy.prototxt',
'bvlc_reference_caffenet/caffenet_train_iter_28000.caffemodel',
mean = NP.load( 'ilsvrc_2012_mean.npy' ),
input_scale=1.0, raw_scale=255,
channel_swap=(2,1,0),
image_dims=(227, 227, 1))
测试中输入转换与训练中输入转换相同是至关重要的