【边喝caffee边Caffe 】(二)python版本的报错:Mean shape incompatible with input shape

来源:互联网 发布:利用java获取snmp开发 编辑:程序博客网 时间:2024/05/29 03:51

在运行Ubuntu上的python版本,希望对比一下C++的结果是否正确时,发现一直报错Mean shape incompatible with input shape

后来遍查网络,发现了一个解决方法,见

http://blog.csdn.net/gzljss/article/details/45849013

直接贴过来

------------------------------------------分割线-----------------------------------------

解决方法参考http://stackoverflow.com/questions/29842935/mean-shape-incompatible-with-input-shape-caffe-classification-error-in-io-py

在运行caffe的python例子时,命令行输入

[html] view plain copy
  1. python classify.py cat.jpg  foo  

报错

ValueError: Mean shape incompatible with input shape.


原因是‘mean’与‘input’的尺寸不同造成的。

参考前面的文章,修改了 ./python/caffe/io.py 文件

将:

[html] view plain copy
  1. if ms != self.inputs[in_][1:]:  
  2. raise ValueError('Mean shape incompatible with input shape.')  

修改为:

[python] view plain copy
  1. if ms != self.inputs[in_][1:]:  
  2. print(self.inputs[in_])  
  3. in_shape = self.inputs[in_][1:]  
  4. m_min, m_max = mean.min(), mean.max()  
  5. normal_mean = (mean - m_min) / (m_max - m_min)  
  6. mean = resize_image(normal_mean.transpose((1,2,0)),  
  7.     in_shape[1:]).transpose((2,0,1)) * \  
  8.    (m_max - m_min) + m_min  
  9. #raise ValueError('Mean shape incompatible with input shape.')  

0 0