cnn调整训练精度记录

之前的训练精度

Epoch 20
-------------------------------
loss: 0.198042  [    0/ 2368]
train Error: 
 train_Accuracy: 99.2%, Avg loss: 0.000984 

Test Error: 
 Accuracy: 91.8%, Avg loss: 0.011144 

cnn结构:

self.conv1 = nn.Conv2d(3, 16, 3)
        self.conv2 = nn.Conv2d(16, 32, 3)
        self.fc1 = nn.Linear(256, 128)
        self.fc2 = nn.Linear(128, 96)
        self.fc3 = nn.Linear(96, 36)
Epoch 20
-------------------------------
loss: 0.222930  [    0/ 2368]
train Error: 
 train_Accuracy: 93.1%, Avg loss: 0.006265 

Test Error: 
 Accuracy: 92.8%, Avg loss: 0.010486 

cnn结构

self.conv1 = nn.Conv2d(3, 20, 3)
        self.conv2 = nn.Conv2d(20, 32, 3)
        self.fc1 = nn.Linear(256, 128)
        self.fc2 = nn.Linear(128, 96)
        self.fc3 = nn.Linear(96, 36)
learn_rate = 1e-3

减小学习率

    learn_rate = 1e-4
Epoch 10
-------------------------------
loss: 0.096761  [    0/ 2368]
train Error: 
 train_Accuracy: 97.9%, Avg loss: 0.002522 

Test Error: 
 Accuracy: 94.4%, Avg loss: 0.007497 

再次减小学习率,可以看到还在下降,继续迭代

    learn_rate = 1e-5
Epoch 19
-------------------------------
loss: 0.152122  [    0/ 2368]
train Error: 
 train_Accuracy: 98.4%, Avg loss: 0.002046 

Test Error: 
 Accuracy: 94.4%, Avg loss: 0.008273 

Epoch 20
-------------------------------
loss: 0.256407  [    0/ 2368]
train Error: 
 train_Accuracy: 98.4%, Avg loss: 0.002045 

Test Error: 
 Accuracy: 94.4%, Avg loss: 0.008070 

这是迭代的时候loss值
这是迭代的时候loss值

Epoch 18
-------------------------------
loss: 0.166049  [    0/ 2368]
train Error: 
 train_Accuracy: 98.6%, Avg loss: 0.001326 

Test Error: 
 Accuracy: 93.8%, Avg loss: 0.009200 

Epoch 19
-------------------------------
loss: 0.062747  [    0/ 2368]
train Error: 
 train_Accuracy: 98.6%, Avg loss: 0.001326 

Test Error: 
 Accuracy: 93.4%, Avg loss: 0.009085 

Epoch 20
-------------------------------
loss: 0.044388  [    0/ 2368]
train Error: 
 train_Accuracy: 98.6%, Avg loss: 0.001326 

Test Error: 
 Accuracy: 93.1%, Avg loss: 0.009388 

现在loss值确实在下降,训练集精度在缓慢上升(98.4——98.6),测试及精度却很久没有变化,这时还训练吗,我感觉可能到极限了,先训练到这里,测试一下。

单字母训练集成果


正确数2350, 错误数18
{'0': 3, 'S': 1, 'O': 13, 'I': 1}

验证集
正确数188, 错误数0

4字母验证码:
训练前

训练集测试结果:  正确数627, 错误数72
测试集正确数55, 错误数21
验证集正确数47, 错误数1
训练集{'0': 6, '8': 1, 'B': 2, 'Q': 3, 'V': 2, '1': 3, 'M': 2, 'S': 4, 'O': 29, '7': 5, 'W': 2, 'J': 3, 'D': 2, 'Z': 1, 'L': 1, 'Y': 3, 'T': 2, 'C': 3, 'A': 1, 'P': 1, 'N': 1, 'H': 2, 'I': 2, '3': 1, 'R': 3, 'U': 2}

训练后

测试集正确数583, 错误数116
测试集正确数56, 错误数20
验证集正确数43, 错误数4
训练集{'0': 11, '1': 7, '8': 3, 'B': 1, 'P': 4, 'C': 3, 'Q': 8, 'Z': 5, 'M': 2, 'Y': 6, '6': 1, 'I': 3, 'T': 3, 'D': 6, 'G': 1, 'O': 38, 'S': 4, '7': 6, 'A': 3, 'V': 4, 'J': 2, '9': 1, 'L': 3, 'E': 1, 'U': 1, 'R': 1, '4': 1, 'X': 1}

我是不是把训练集写反了?
为什么错的更多了,过拟合了吗???
可以看训练集错的具体的数量,可以看到数字0和字母O错的变多了,看来是过拟合了。
之后重新训练试一下,还好保留了之前的模型参数

试了一下迭代次数较少的版本

正确数520, 错误数179

看来是这个结构不行,下次换一个结构

又训练了一个模型,比之前的稍好,但是还是不如第一个,为啥呢,玄学吗?

正确数555, 错误数144
{'0': 5, '1': 6, '8': 1, '9': 2, 'B': 11, 'V': 2, 'I': 5, 'H': 1, 'S': 14, 'M': 2, 'Y': 6, 'C': 7, 'R': 3, '6': 2, 'Q': 7, 'X': 1, '4': 3, 'D': 7, 'G': 4, 'O': 50, '7': 7, 'J': 2, 'W': 1, 'Z': 3, 'L': 2, 'A': 1, 'F': 1, '3': 1, 'N': 1, 'T': 2}

又训练了一次

self.conv1 = nn.Conv2d(3, 16, 3)
self.conv2 = nn.Conv2d(16, 24, 3)
self.fc1 = nn.Linear(192, 128)
self.fc2 = nn.Linear(128, 96)
self.fc3 = nn.Linear(96, 36)

最终精度
训练集稍好于第一版

单字母训练集

{'O': 9}

但最终结果只是接近
四字母

Epoch 20
-------------------------------
loss: 0.115035  [    0/ 2368]
train Error: 
 train_Accuracy: 99.7%, Avg loss: 0.000314 

Test Error: 
 Accuracy: 91.8%, Avg loss: 0.014190 


正确数624, 错误数75
{'0': 8, '8': 3, 'A': 3, 'Q': 6, 'M': 4, 'S': 3, 'H': 1, 'P': 2, 'O': 30, '1': 1, '7': 5, 'J': 4, 'V': 2, 'C': 2, 'D': 1, 'Z': 2, 'L': 3, 'Y': 2, 'E': 1, 'G': 2, 'I': 1, '3': 1, 'R': 2, 'B': 1, 'T': 1, 'U': 1}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值