cifar10突破87

今天是个好日子,重阳节,也是妹子的生日!

训练cifar10,自从引进了bn层类!均值和方差就像自己的炎症水平!

今天吃了一天稀饭,其实是最好的奖励!它可以把炎症水平控制的相当好!你看87分也手到擒来!

虽然还不能爆吃家里的桔子,像小时候一样随心所欲!但在自己本草---增液汤和稀饭的控制下!吃香喝辣还是可以的!

生活变好了,老一辈人却吃不动了!不是这病就是那病!这不能吃那不能吃!这也是这个时代的特征!

有时候觉得,研究人工智能和研究中医没什么两样!就像炎症水平和cifar10的训练!

从0开始,到达87分水平!和研究自己的亚健康以及维护父母的健康!很有意思!

得分只能代表你进步了!而有意思的是:有点用,有点发现,做点有意义的事情(解决问题,办法总比困难多)!

日积月累,就金石为开了!

这种金石为开,不是得到了金子,而是你突然领悟!迈进了某扇大门!大门后,还有很远的路要走!虽然初见金石很愚蠢!但那份热情很难溶解才是人生最重要的!

扯远了!回到cifar10!

上次cifar10训练是越过了86.5,摸到86.97!但就是过不去!

计划落空(以为今天可以突破87分,训练cifar10)-CSDN博客

训练架构保持不变:(标红是摸到86.97的新增)

layers.emplace_back(std::make_shared<Conv2D>(cudnn, batch, 5, 32, 32, 32, 3, 1, 1));

layers.emplace_back(std::make_shared<residualExt2>(cudnn, batch, 32, 32, 32));

layers.emplace_back(std::make_shared<ReLU>(cudnn, batch, 32, 32, 32));

layers.emplace_back(std::make_shared<Conv2D>(cudnn, batch, 32, 64, 32, 32, 3, 1, 1));

layers.emplace_back(std::make_shared<BN>(cudnn, batch, 64, 32, 32));
layers.emplace_back(std::make_shared<ReLU>(cudnn, batch, 64, 32, 32));

layers.emplace_back(std::make_shared<residualExt2>(cudnn, batch, 64, 32, 32));

layers.emplace_back(std::make_shared<ReLU>(cudnn, batch, 64, 32, 32));

layers.emplace_back(std::make_shared<Conv2D>(cudnn, batch, 64, 128, 32, 32, 3, 1, 1));

layers.emplace_back(std::make_shared<residualExt2>(cudnn, batch, 128, 32, 32));
layers.emplace_back(std::make_shared<ReLU>(cudnn, batch, 128, 32, 32));

layers.emplace_back(std::make_shared<residualExt2>(cudnn, batch, 128, 32, 32));

layers.emplace_back(std::make_shared<ReLU>(cudnn, batch, 128, 32, 32));

layers.emplace_back(std::make_shared<MaxPool2D>(cudnn, batch, 128, 32, 32, 2, 2, 0, 2));

layers.emplace_back(std::make_shared<Conv2D>(cudnn, batch, 128, 256, 16,16, 3, 1, 1));

layers.emplace_back(std::make_shared<residualExt2>(cudnn, batch, 256, 16, 16));

layers.emplace_back(std::make_shared<ReLU>(cudnn, batch, 256, 16, 16));

layers.emplace_back(std::make_shared<MaxPool2D>(cudnn, batch, 256, 16, 16, 2, 2, 0, 2));

layers.emplace_back(std::make_shared<Conv2D>(cudnn, batch, 256, 512, 8, 8, 3, 1, 1));

layers.emplace_back(std::make_shared<residualExt2>(cudnn, batch, 512, 8, 8));

layers.emplace_back(std::make_shared<ReLU>(cudnn, batch, 512, 8, 8));

layers.emplace_back(std::make_shared<AvgPool2D>(cudnn, batch, 512, 8, 8, 2, 2, 0, 2));

layers.emplace_back(std::make_shared<Dropout>(cudnn, batch, 512, 4,4));

layers.emplace_back(std::make_shared<Linear>(cublas, batch, 512 * 16, 384));

layers.emplace_back(std::make_shared<BN>(cudnn, batch, 384, 1, 1));

layers.emplace_back(std::make_shared<ReLU>(cudnn, batch, 384, 1, 1));

layers.emplace_back(std::make_shared<Dropout>(cudnn, batch, 384, 1, 1));

layers.emplace_back(std::make_shared<Linear>(cublas, batch, 384, 10));

改变的是学习率!固化了一个概念(被束缚住了):增加了动量后,学习率不再使用0.001,而用0.0006代替!

其实不然!今天突破87,就是又回到0.001的学习率,在标签平滑加持下,均值方差表现也很好!

其实今天还有一个大胆的想法:就是训练过程中,我如何测量梯度,并根据梯度而调整学习率!

一直以来,梯度和学习率以盲人下山来比拟!实际也是这个情况!

那么下山的时候,是不是可以边走边看!该大步就大步,该小步就小步!而不是什么cos余弦呀!也不是自己这种固化学习率的军队正步走的方法!

训练情况如下:(战神3070显卡8g,17轮开始起飞!每轮40秒!30轮就见到最好成绩!)

轮次:0

learn rate:0.001

时间: 36447.503906 ms

train Classification result: 10.00% ok (used 49984 images)

时间: 2997.252930 ms

Test Classification result: 10.00% ok (used 9984 images)

轮次:1

learn rate:0.001

时间: 39322.203125 ms

train Classification result: 9.69% ok (used 49984 images)

时间: 2965.709961 ms

Test Classification result: 9.99% ok (used 9984 images)

轮次:2

learn rate:0.001

时间: 39519.769531 ms

train Classification result: 9.83% ok (used 49984 images)

时间: 3011.364990 ms

Test Classification result: 9.99% ok (used 9984 images)

轮次:3

learn rate:0.001

时间: 39503.171875 ms

train Classification result: 9.91% ok (used 49984 images)

时间: 2995.260986 ms

Test Classification result: 10.00% ok (used 9984 images)

轮次:4

learn rate:0.001

时间: 39655.609375 ms

train Classification result: 9.98% ok (used 49984 images)

时间: 2963.865967 ms

Test Classification result: 10.00% ok (used 9984 images)

轮次:5

learn rate:0.001

时间: 39684.937500 ms

train Classification result: 9.73% ok (used 49984 images)

时间: 3012.450928 ms

Test Classification result: 10.00% ok (used 9984 images)

轮次:6

learn rate:0.001

时间: 39763.367188 ms

train Classification result: 10.06% ok (used 49984 images)

时间: 2982.949951 ms

Test Classification result: 10.00% ok (used 9984 images)

轮次:7

learn rate:0.001

时间: 39700.359375 ms

train Classification result: 9.93% ok (used 49984 images)

时间: 2965.875977 ms

Test Classification result: 10.00% ok (used 9984 images)

轮次:8

learn rate:0.001

时间: 39910.433594 ms

train Classification result: 10.04% ok (used 49984 images)

时间: 2959.720947 ms

Test Classification result: 10.00% ok (used 9984 images)

轮次:9

learn rate:0.001

时间: 39826.687500 ms

train Classification result: 9.93% ok (used 49984 images)

时间: 2970.152100 ms

Test Classification result: 9.98% ok (used 9984 images)

轮次:10

learn rate:0.001

时间: 39757.218750 ms

train Classification result: 10.06% ok (used 49984 images)

时间: 2996.028076 ms

Test Classification result: 10.01% ok (used 9984 images)

轮次:11

learn rate:0.001

时间: 39821.695312 ms

train Classification result: 10.07% ok (used 49984 images)

时间: 2968.591064 ms

Test Classification result: 9.99% ok (used 9984 images)

轮次:12

learn rate:0.001

时间: 39873.984375 ms

train Classification result: 9.83% ok (used 49984 images)

时间: 2994.991943 ms

Test Classification result: 10.01% ok (used 9984 images)

轮次:13

learn rate:0.001

时间: 39900.871094 ms

train Classification result: 9.80% ok (used 49984 images)

时间: 3035.878906 ms

Test Classification result: 10.02% ok (used 9984 images)

轮次:14

learn rate:0.001

时间: 39880.074219 ms

train Classification result: 9.73% ok (used 49984 images)

时间: 2990.248047 ms

Test Classification result: 10.00% ok (used 9984 images)

轮次:15

learn rate:0.001

时间: 40013.734375 ms

train Classification result: 9.89% ok (used 49984 images)

时间: 3036.279053 ms

Test Classification result: 9.99% ok (used 9984 images)

轮次:16

learn rate:0.001

时间: 39932.664062 ms

train Classification result: 9.89% ok (used 49984 images)

时间: 2997.216064 ms

Test Classification result: 10.02% ok (used 9984 images)

轮次:17

learn rate:0.001

时间: 39897.359375 ms

train Classification result: 13.85% ok (used 49984 images)

时间: 3010.770996 ms

Test Classification result: 10.01% ok (used 9984 images)

轮次:18

learn rate:0.001

时间: 39905.199219 ms

train Classification result: 30.50% ok (used 49984 images)

时间: 3012.548096 ms

Test Classification result: 9.99% ok (used 9984 images)

轮次:19

learn rate:0.001

时间: 40065.675781 ms

train Classification result: 54.69% ok (used 49984 images)

时间: 3023.435059 ms

Test Classification result: 10.00% ok (used 9984 images)

轮次:20

learn rate:0.001

时间: 40030.808594 ms

train Classification result: 66.81% ok (used 49984 images)

时间: 3026.618896 ms

Test Classification result: 10.01% ok (used 9984 images)

轮次:21

learn rate:0.001

时间: 39992.136719 ms

train Classification result: 73.07% ok (used 49984 images)

时间: 3077.064941 ms

Test Classification result: 10.01% ok (used 9984 images)

轮次:22

learn rate:0.001

时间: 40017.898438 ms

train Classification result: 77.65% ok (used 49984 images)

时间: 3070.283936 ms

Test Classification result: 9.99% ok (used 9984 images)

轮次:23

learn rate:0.001

时间: 39930.359375 ms

train Classification result: 80.91% ok (used 49984 images)

时间: 3035.000000 ms

Test Classification result: 10.02% ok (used 9984 images)

轮次:24

learn rate:0.001

rb均值: 1.9149223566,rb方差:5.033261775970

rb均值: -1.3561934233,rb方差:6.028037548065

rb均值: 1.3299045563,rb方差:5.304408073425

rb均值: -0.6633890867,rb方差:5.504553318024

rb均值: 2.1603300571,rb方差:5.300384998322

rb均值: 1.1565886736,rb方差:5.039112567902

时间: 39954.878906 ms

train Classification result: 83.58% ok (used 49984 images)

时间: 3022.920898 ms

Test Classification result: 76.43% ok (used 9984 images)

轮次:25

learn rate:0.001

rb均值: 2.4611129761,rb方差:7.534705638885

rb均值: -1.5263407230,rb方差:6.694259643555

rb均值: 1.9157645702,rb方差:6.233901977539

rb均值: -0.9254013300,rb方差:7.611061573029

rb均值: 2.3301167488,rb方差:7.407562255859

时间: 40036.015625 ms

train Classification result: 85.68% ok (used 49984 images)

时间: 3033.436035 ms

Test Classification result: 78.28% ok (used 9984 images)

轮次:26

learn rate:0.001

rb均值: 2.8513188362,rb方差:9.884593009949

rb均值: -1.7313048840,rb方差:9.083971977234

rb均值: 2.1404109001,rb方差:8.445034027100

rb均值: -1.2183930874,rb方差:9.509625434875

rb均值: -1.1783189774,rb方差:5.639903545380

rb均值: 2.3734884262,rb方差:10.120932579041

rb均值: -1.0795305967,rb方差:5.292316913605

rb均值: 1.4279394150,rb方差:6.170767307281

时间: 40056.539062 ms

train Classification result: 87.79% ok (used 49984 images)

时间: 3085.272949 ms

Test Classification result: 10.01% ok (used 9984 images)

轮次:27

learn rate:0.001

rb均值: 3.2972726822,rb方差:12.505812644958

rb均值: -1.7722152472,rb方差:9.542632102966

rb均值: 2.6289858818,rb方差:12.249313354492

rb均值: -1.5486562252,rb方差:11.599844932556

rb均值: -1.3026698828,rb方差:6.739412307739

rb均值: 2.7013981342,rb方差:14.092802047729

rb均值: -1.1468740702,rb方差:6.390090942383

rb均值: 1.8709686995,rb方差:7.630422592163

rb均值: -1.1082611084,rb方差:5.517454624176

时间: 39931.292969 ms

train Classification result: 89.56% ok (used 49984 images)

时间: 3052.461914 ms

Test Classification result: 9.99% ok (used 9984 images)

轮次:28

learn rate:0.0001

rb均值: 3.4387867451,rb方差:13.933111190796

rb均值: -1.8417197466,rb方差:10.618833541870

rb均值: 2.6618514061,rb方差:12.704145431519

rb均值: -1.6320669651,rb方差:12.183236122131

rb均值: -1.3718317747,rb方差:6.980798721313

rb均值: 2.8730702400,rb方差:15.387064933777

rb均值: -1.1710481644,rb方差:6.989798545837

rb均值: 2.0349464417,rb方差:7.865902423859

rb均值: -1.1388322115,rb方差:5.894830703735

时间: 40047.296875 ms

train Classification result: 93.54% ok (used 49984 images)

时间: 3024.955078 ms

Test Classification result: 86.45% ok (used 9984 images)

轮次:29

learn rate:0.0001

rb均值: 3.4256231785,rb方差:13.745270729065

rb均值: -1.8627237082,rb方差:10.498931884766

rb均值: 2.6799733639,rb方差:12.213313102722

rb均值: -1.7018209696,rb方差:11.810649871826

rb均值: -1.3820400238,rb方差:6.747069835663

rb均值: 2.8791222572,rb方差:14.989130973816

rb均值: -1.2196347713,rb方差:7.008196353912

rb均值: 2.0671632290,rb方差:7.917681694031

rb均值: -1.1426309347,rb方差:5.950524330139

时间: 40007.496094 ms

train Classification result: 95.10% ok (used 49984 images)

时间: 3054.498047 ms

Test Classification result: 86.67% ok (used 9984 images)

轮次:30

learn rate:1e-05

rb均值: 3.4389760494,rb方差:13.688804626465

rb均值: -1.9091309309,rb方差:10.627991676331

rb均值: 2.7014520168,rb方差:12.312853813171

rb均值: -1.7526875734,rb方差:11.692285537720

rb均值: -1.3802312613,rb方差:6.677406787872

rb均值: 2.9045193195,rb方差:15.039876937866

rb均值: -1.2505999804,rb方差:7.133963584900

rb均值: 2.0639233589,rb方差:7.984604835510

rb均值: -1.1745035648,rb方差:5.877790927887

时间: 40041.332031 ms

train Classification result: 96.11% ok (used 49984 images)

时间: 3052.292969 ms

Test Classification result: 87.14% ok (used 9984 images)

轮次:31

learn rate:1e-05

rb均值: 3.4467761517,rb方差:13.757027626038

rb均值: -1.9273608923,rb方差:10.759774208069

rb均值: 2.7109084129,rb方差:12.326829910278

rb均值: -1.7334213257,rb方差:11.864251136780

rb均值: -1.3992475271,rb方差:6.696102142334

rb均值: 2.8973941803,rb方差:15.122732162476

rb均值: -1.2439786196,rb方差:7.142957210541

rb均值: 2.0563895702,rb方差:7.871241569519

rb均值: -1.1696541309,rb方差:5.958726882935

时间: 39934.722656 ms

train Classification result: 96.36% ok (used 49984 images)

时间: 3033.363037 ms

Test Classification result: 86.95% ok (used 9984 images)

轮次:32

learn rate:1e-06

rb均值: 3.4489614964,rb方差:13.761837005615

rb均值: -1.9160084724,rb方差:10.664150238037

rb均值: 2.7035217285,rb方差:12.142875671387

rb均值: -1.7389460802,rb方差:11.731540679932

rb均值: -1.3951699734,rb方差:6.662581920624

rb均值: 2.9066228867,rb方差:14.955391883850

rb均值: -1.2409926653,rb方差:7.128028869629

rb均值: 2.0664086342,rb方差:7.924966812134

rb均值: -1.1617511511,rb方差:5.944725513458

时间: 39886.574219 ms

train Classification result: 96.33% ok (used 49984 images)

时间: 3031.548096 ms

Test Classification result: 86.98% ok (used 9984 images)

轮次:33

learn rate:1e-06

rb均值: 3.4500176907,rb方差:13.762453079224

rb均值: -1.9044157267,rb方差:10.611716270447

rb均值: 2.7190537453,rb方差:12.379726409912

rb均值: -1.7513258457,rb方差:11.784087181091

rb均值: -1.3975774050,rb方差:6.714685916901

rb均值: 2.9113528728,rb方差:15.196555137634

rb均值: -1.2481554747,rb方差:7.082885265350

rb均值: 2.0648455620,rb方差:7.952729225159

rb均值: -1.1656916142,rb方差:5.875449657440

时间: 39943.128906 ms

train Classification result: 96.32% ok (used 49984 images)

时间: 3072.040039 ms

Test Classification result:87.03% ok (used 9984 images)

轮次:34

learn rate:1e-07

rb均值: 3.4498884678,rb方差:13.764389991760

rb均值: -1.9072422981,rb方差:10.687661170959

rb均值: 2.7131588459,rb方差:12.357494354248

rb均值: -1.7496953011,rb方差:11.941749572754

rb均值: -1.3980531693,rb方差:6.728104591370

rb均值: 2.9165480137,rb方差:15.297974586487

rb均值: -1.2468137741,rb方差:7.011734962463

rb均值: 2.0764503479,rb方差:8.003220558167

rb均值: -1.1670255661,rb方差:5.930608272552

时间: 39985.953125 ms

train Classification result: 96.36% ok (used 49984 images)

时间: 3057.958984 ms

Test Classification result: 87.06% ok (used 9984 images)

轮次:35

learn rate:1e-07

rb均值: 3.4500224590,rb方差:13.765678405762

rb均值: -1.9127366543,rb方差:10.727529525757

rb均值: 2.7046515942,rb方差:12.201869010925

rb均值: -1.7431532145,rb方差:11.822277069092

rb均值: -1.3936837912,rb方差:6.740434646606

rb均值: 2.9168980122,rb方差:15.199685096741

rb均值: -1.2463408709,rb方差:7.079766750336

rb均值: 2.0661885738,rb方差:8.002958297729

rb均值: -1.1645082235,rb方差:5.848778724670

时间: 40066.742188 ms

train Classification result: 96.44% ok (used 49984 images)

时间: 3064.773926 ms

Test Classification result:87.06% ok (used 9984 images)

请按任意键继续. . .

今天还遇到奇葩的是:

昨天发现训练cifar100,1*1降维筛选通道c/2,3*3卷积升维到c,要49秒!

本来的规律是:

残差两个3*3卷积,训练一轮57秒!

一个1*1卷积通道c,一个3*3 卷积通道c,49秒一轮!

1*1降维筛选通道c/2,3*3卷积升维到c,39秒一轮!

然后回到cifar10上面这个架构:

昨天是:49秒一轮!我真没注意!因为残差叠加,没放心上!

没找到原因!

今天用最粗暴的方法:电脑重新启动!搞定!

cifar100回到39秒一轮!

cifar10竟然40秒也搞定了!

今天午觉害怕睡不好!喝了两口白酒!还不错!很放松!(有点担心自己的强迫症找回来了!工程上养成的解决问题的习惯!)

训练让电脑自己训练!睡起来!

好成绩接踵而至!

相关推荐
工业机器视觉设计和实现12 天前
cifar100训练见到62分(国庆献礼,relu是怎么被发明的?)
cudnn微积分·动量实现
工业机器视觉设计和实现20 天前
从假86分到真86分(c++ cudnn训练cifar10,86.41分版本诞生)
cudnn微积分·动量实现
工业机器视觉设计和实现1 个月前
虚实结合的残差块突破83分(c++cudnn版本resnet18更进一步)
cudnn微积分·残差实现
工业机器视觉设计和实现1 个月前
c++ cudnn模仿resnet18训练cifar10(冲击80分,成功)
残差网络·resnet18·cudnn微积分
工业机器视觉设计和实现1 个月前
实现pytorch resnet18功能(五,总结,顺便实现yolov3 shortcut残差)
cudnn微积分·残差实现
工业机器视觉设计和实现1 个月前
c++ cudnn模仿resnet18训练cifar10(70分)
cudnn微积分·虚线残差块实现
工业机器视觉设计和实现1 个月前
实现pytorch resnet18功能(四,c++ cudnn)
cudnn微积分·虚线残差块实现·cifar10训练
工业机器视觉设计和实现1 个月前
训练cifar100的临界点到来!(59.94分到来!)
cudnn微积分
工业机器视觉设计和实现2 个月前
cudnn训练cifar100(摸到pytorch尾灯,54.94分)
cudnn微积分