在ICNet分割网络训练的过程中,发生了很郁闷的事情

首先ICNet的训练数据准备,和segnet一样,需要准备原始数据,mask 已经对应的txt文件,格式为pathofdata 空格 pathofmask

在训练过程中,需要把mask转化为二值化也就是只包含0,1值的像素。

但是虽然转过了,还是会报 CUBLAS_STATUS_SUCCESS (11 vs. 0) CUBLAS_STATUS_MAPPING_ERROR这个问题。在网上查了很久,都说是二值化图片转换的有问题。也就label过多,但是loss层的output数量 少于 Label数量,在这里就是像素的数量,正常的图片有0-255,也就是256个label

但是我的解决方案是发现需要在在caffe loss layer中需要添加一个loss_param参数,则可以正常训练

Caffe学习记录(十二) ICNet分割网络学习二

记录下来。