最近参考博主on2way 的博客:
深度学习(十四):详解Matconvnet使用imagenet模型训练自己的数据集(https://blog.csdn.net/on2way/article/details/52959344)训练自己的数据,进行二分类,遇到以下几个问题:
(1)将prepareDINet.m中第8行改为ncls=2
且cnn_image_setup_data.m第17行改为ncls=2后运行。
运行报错!
解决方法:将prepareDINet.m中第24-26行注释掉。
因为博主的标签有10类,而我的标签只有2类,小于5类,也就不存在 top-5 错误率。
(2)运行一段时间后,报错:
错误使用 save
无法写入文件············(如下图)
报错原因:保存模型的硬盘满了···········
解决方法:由于每个epoch后都会生成一个模型,会占用很大空间,可以释放硬盘空间或者修改cnn_train_dag.m函数中107-109行、添加126和128行,如下图所示,修改后的代码只保存最后一个epoch模型。
(3)生成的模型:net-deployed.mat,无法像Matconvnet提供的预训练模型那样进行单张测试。
原因是生成的net-deployed.mat模型中,net.layers为struct而非cell结构,所以使用vl_simplenn函数会报错,目前还没有找到解决办法。