python调用caffe接口进行classify时提示Mean shape incompatible with input shape错误的解决方法
修改caffe中python接口的源代码caffe/python/caffe/io.py,将
if ms != self.inputs[in_][1:]:
raise ValueError('Mean shape incompatible with input shape.')
修改为
if ms != self.inputs[in_][1:]:
print(self.inputs[in_])
in_shape = self.inputs[in_][1:]
m_min, m_max = mean.min(), mean.max()
normal_mean = (mean - m_min) / (m_max - m_min)
mean = resize_image(normal_mean.transpose((1,2,0)),in_shape[1:]).transpose((2,0,1)) * (m_max - m_min) + m_min
#raise ValueError('Mean shape incompatible with input shape.')
共两处都进行了修改,同时有点需要注意,python语言中一定要对齐 (用tab 或者 空格),不对齐将会出现另一个错误。
修改完毕后重新编译caffe-python接口
<span style="font-size:18px;">make clean
make pycaffe</span>
问题解决了!!!