我使用this项目作为例子(框架 - caffe,网络的结构--AlexNet的mod,400个图像用于训练)。我有这个结果:
求解:
net: "./CDNet/Models/train.prototxt"
test_iter: 500
test_interval: 500
base_lr: 0.001
lr_policy: "step"
gamma: 0.1
stepsize: 100000
display: 50
max_iter: 450000
momentum: 0.9
weight_decay: 0.0005
snapshot: 10000
snapshot_prefix: "./CDNet/Models/Training/cdnet"
solver_mode: GPU
有人可以解释我的网络的准确性和丢失的这种行为吗?我做错了什么?
UPD:
我将批量大小从1更改为12并将步骤sizw更改为2000.结果如下图所示:
每次测试都是0.5左右。
答案 0 :(得分:0)
如果不查看您的代码和您的数据,很难进行完整的分析。请注意,二进制分类的0.5
准确度仅为随机猜测。如果网络输出一个常量并且测试集没有偏向一个类,你将得到相同的结果。
从这些图表中可以看出,该模型并未学习。由于您的图表上没有训练准确性,我甚至无法判断它是否过度拟合(我无法相信增强的AlexNet是不合适的)。
据我所知,这项任务需要仔细准备数据,这是犯错误的可能步骤:检查你的训练和测试数据是否有意义(它们应该是227x227,对人类来说清晰可辨,也可以检查两组的大小)。仔细检查计算的平均图像和预处理步骤。超参数看起来很合理,据说可以用于这个数据集,所以一般来说我会相信它。