先说一些有意义的答案:
https://groups.google.com/forum/#!topic/caffe-users/CLF4IZ2Tkqk
You probably need to save your labels as 1 Channel png images. Where the labels are encoded with a 0-based index --> in case of voc12 you would needs 21 labels correspoding to the interval [0..20]
Please be noted that 'NUM_LABELS' used in the shscript is used to generate a prototxt file. You can look at the generatedprototxt in config folder. You will find that 'num_output' in the last fullyconnected layer is the number of class. Becasue the output of last fullyconnected layer is passed to loss layer. You really should check your image,maybe you have more label values that you specified.
On my system, the same error I find because of the reading of *.png image(opencv auto insert filtered the png's edge)
真正的问题在于我们生成label图像时候是否使用了cmap,不使用就不会有这个问题。