用自己的数据集做resnet-50的测试

这是我参考的博客

我的数据集是一个图片9分类的数据集,文本标签的形式为路径+空格+标签,制作的标签方法参考我上一篇博客

做一些问题补充如下:

1、因为我做的图片数据集稳128*128,所以把prototxt最后pool5里的kernelsize改小了一些,然后9分类所以把最后的numout改成了9

2、文本标签我做的是1从9出现了错误,我把它改成了0-8后解决

3、出现loss一直不变的问题,基于官方训练好后的50caffemodel进行训练得以解决

4、出现了cv2_image_data无法读取图片文件的报错,确认路径是好的,最终查找到原因是text路径文件多出一个空行造成

5、caffe-parallel has a bug: Check failed: proto.SerializeToOstream(&output)训练的时候出现这个错误

网上有说是没有相应的目录或者权限对这个目录进行写操作而引起的。
修改权限:cd /User/Yourname/caffe/example/myfile #你的caffe目录下的训练文件目录

sudo chmod 777 ./* #修改权限

或者是在solver中设置错了snapshot directory 

但我的原因是内存不够导致!!!!

 

6、

layer {
  name: "accuracy-1"
  type: "Accuracy"
  bottom: "fc204"
  bottom: "label"
  top: "accuracy-1"
  include {
    phase: TEST
  }
}
layer {
  name: "accuracy-5"
  type: "Accuracy"
  bottom: "fc204"
  bottom: "label"
  top: "accuracy-5"
  include {
    phase: TEST
  }
  accuracy_param {
    top_k:5
  }
}

accuracy-1指的是输出最高概率为正确选项的准确率

accuracy-5指的是输出最高的前五项概率里有正确选项的准确率

放置这两个准确率主要是为了及时的评判网络,防止出现较大的训练误差

你可能感兴趣的:(深度学习)