Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Caffe网络损耗很低,但测试精度很差_Python_Neural Network_Computer Vision_Deep Learning_Caffe - Fatal编程技术网

Python Caffe网络损耗很低,但测试精度很差

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

我对咖啡馆有些陌生,我有一些奇怪的行为。我试图在bvlc_reference_caffenet上使用微调来完成OCR任务

我已经使用了他们的预训练网络,将最后一个FC层更改为我拥有的输出类的数量,并重新训练。经过几千次迭代后,我得到了约0.001的丢失率,当网络测试时,准确率超过90%。这就是说,当我试图独自在数据上运行我的网络时,我得到了糟糕的结果,不超过7%或8%

我用来运行网络的代码是:

[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:我也相当确定我没有穿过头。我一直在用快照测试这一点,它们都显示出同样糟糕的结果。

您发布的模型测试代码似乎遗漏了一些组件:

  • 看起来你没有减去图像的平均值
  • 您没有将频道从RGB交换到BGR
  • 您没有将输入缩放到[0..255]范围
  • 查看类似的
    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))
    
    测试中输入转换与训练中输入转换相同是至关重要的