搞工业机器视觉的人有一种天生的喜欢yolo今天7bn3residual这说明bn层和残差块可以继续添加还是要有怀疑和尝试的精神其实在cifar10上7bn3residual感觉有点过度如果是训练够用就好如果是da分辨率的图像继续增加bn层和残差块才变得有实际意义!所以残差块尝试降维后又升维效果不好7bn3residual训练得分也一般但尝试一种新东西跑起来已经是成功然后再慢慢改进也就是说我可以尝试大分辨率的训练了32*32的cifar训练慢慢可以宣告结束了看看训练40轮没崩溃的效果先看架构learn rate1e-05轮次38时间: 23110.236328 mstrain Classification result: 19.24% ok (used 49984 images)均值: 0.1271439195,方差:0.0028827651均值: -0.2113353908,方差:0.0004993885均值: 0.3338155448,方差:0.0014339959均值: 0.2335036546,方差:0.0004293791均值: 0.1801297963,方差:0.0017966304均值: 0.0047765928,方差:0.0033084354均值: -0.1828130037,方差:0.0019517142均值: 0.3012771308,方差:0.0007776191均值: 0.0036486187,方差:0.0018622045均值: -0.0599044822,方差:0.0007307360均值: 0.1259885430,方差:0.0016608177均值: 0.2196586430,方差:0.0008038962均值: -0.1785935909,方差:0.0003868770均值: -0.1551580429,方差:0.0012674336均值: 0.0092445854,方差:0.0011179807均值: 0.0075621014,方差:0.0006979248均值: 0.1750876009,方差:0.0006878381均值: 0.1400706321,方差:0.0016453919均值: 0.1041845605,方差:0.0003682757均值: 0.0642209798,方差:0.0007756161均值: 0.1715795100,方差:0.0008800479均值: -0.1564081758,方差:0.0002486607均值: 0.2390058041,方差:0.0005841126均值: -0.1557001919,方差:0.0039955424均值: 0.0375819169,方差:0.0011390452均值: 0.3267762959,方差:0.0005321549均值: 0.0500742793,方差:0.0014510320均值: 0.0603393391,方差:0.0072002909均值: 0.1078442261,方差:0.0029186588均值: 0.2713217437,方差:0.0013740987均值: -0.1449769288,方差:0.0060739527均值: 0.2905433178,方差:0.0003204170rb均值: -0.0390642621,rb方差:0.000916633173rb均值: 0.1794353426,rb方差:0.001492809737rb均值: 0.3245928884,rb方差:0.000380433223rb均值: 0.2684802413,rb方差:0.000812193961rb均值: -0.0965696499,rb方差:0.001555342809rb均值: 0.0534199066,rb方差:0.000887580740rb均值: 0.0119903907,rb方差:0.001486138091rb均值: 0.0829400867,rb方差:0.000642761705rb均值: -0.0717621446,rb方差:0.002448620042rb均值: 0.0587351732,rb方差:0.000986455474rb均值: 0.2032028288,rb方差:0.000969655346rb均值: 0.2148298770,rb方差:0.001120114815rb均值: 0.0991356224,rb方差:0.001362916781rb均值: 0.0019956066,rb方差:0.001093696803rb均值: -0.1091915220,rb方差:0.003511046292rb均值: 0.0623876266,rb方差:0.000529425452rb均值: -0.4338119030,rb方差:0.001276447903rb均值: -0.3760890961,rb方差:0.001803981722rb均值: -0.4306257665,rb方差:0.000915475946rb均值: -0.3411856890,rb方差:0.003737014951rb均值: -0.1302397102,rb方差:0.000747695740rb均值: 0.1900480092,rb方差:0.003162280889rb均值: 0.1510370374,rb方差:0.001126138959rb均值: -0.0786980689,rb方差:0.000798819819rb均值: -0.1488232762,rb方差:0.001185730449rb均值: 0.3017099798,rb方差:0.000985594583rb均值: -0.0677339882,rb方差:0.000390912784rb均值: 0.1564132422,rb方差:0.004587723408rb均值: 0.0498987287,rb方差:0.003765411908rb均值: 0.0169767272,rb方差:0.001924954704rb均值: 0.3526547551,rb方差:0.002180872019rb均值: 0.1596872807,rb方差:0.000654597068rb均值: 0.3678979576,rb方差:0.002242948161rb均值: 0.0205265284,rb方差:0.001346461824rb均值: -0.2260576189,rb方差:0.001606544480rb均值: -0.2391085476,rb方差:0.001044049975rb均值: 0.0819803253,rb方差:0.002171222819rb均值: -0.0897822455,rb方差:0.001365703763rb均值: 0.1101164147,rb方差:0.002222929616rb均值: -0.4422039092,rb方差:0.002460170537rb均值: -0.1877422482,rb方差:0.000820508401rb均值: -0.0126300575,rb方差:0.004124301486rb均值: 0.0493747629,rb方差:0.003613920882rb均值: -0.0872443095,rb方差:0.000847513555rb均值: 0.1319258958,rb方差:0.002113292692rb均值: 0.3016111851,rb方差:0.003641376039rb均值: -0.2939792275,rb方差:0.003062962322rb均值: 0.1426689774,rb方差:0.002235667547rb均值: 0.0328550823,rb方差:0.001425898517rb均值: 0.3701271713,rb方差:0.001716276980rb均值: 0.1968962997,rb方差:0.007316167001rb均值: -0.0954261795,rb方差:0.001055009197rb均值: -0.1482347995,rb方差:0.002489172854rb均值: 0.0174233261,rb方差:0.009699993767rb均值: 0.2641937137,rb方差:0.001379133901rb均值: 0.1295230538,rb方差:0.000974509458rb均值: 0.2974347174,rb方差:0.001759281266rb均值: 0.2845378816,rb方差:0.002030129312rb均值: -0.1182849258,rb方差:0.002581670880rb均值: 0.0224006120,rb方差:0.001664460986rb均值: -0.1690917015,rb方差:0.001387158409rb均值: -0.1952017397,rb方差:0.002503600903rb均值: 0.1507936865,rb方差:0.006386510096rb均值: 0.0322905071,rb方差:0.001199360704均值: -0.1121454313,方差:0.0128701925均值: 0.0826563984,方差:0.0030856135均值: 0.1004444584,方差:0.0070941313均值: 0.1082457453,方差:0.0089840367均值: 0.2026736587,方差:0.0091302283均值: 0.3454448283,方差:0.0043688808均值: 0.0630316660,方差:0.0130874431均值: 0.0934243500,方差:0.0112322327均值: -0.1457915306,方差:0.0143400552均值: -0.2044883221,方差:0.0099089155均值: 0.1393559575,方差:0.0141589725均值: -0.1394432634,方差:0.0093419114均值: -0.1129246503,方差:0.0050147418均值: 0.1790036410,方差:0.0091674775均值: 0.0171594024,方差:0.0121004740均值: -0.0491469540,方差:0.0048262868均值: -0.0430094302,方差:0.0094683459均值: 0.3478636444,方差:0.0134560131均值: -0.1178697422,方差:0.0047718785均值: 0.0500279590,方差:0.0029003024均值: 0.1096612513,方差:0.0103722103均值: 0.2116708905,方差:0.0093749007均值: 0.2008302212,方差:0.0059379786均值: -0.0042532906,方差:0.0063069710均值: -0.0775027722,方差:0.0034302848均值: 0.1178009585,方差:0.0060313172均值: -0.0291974209,方差:0.0059973770均值: -0.0018592019,方差:0.0124519020均值: 0.0347059816,方差:0.0054867892均值: 0.1957944036,方差:0.0219890047均值: -0.0206267443,方差:0.0061817211均值: 0.0923775882,方差:0.0066534546rb均值: -0.1468503624,rb方差:0.514619410038rb均值: 1.0945937634,rb方差:1.118079066277rb均值: 0.2037583590,rb方差:1.298680782318rb均值: 2.0962805748,rb方差:1.075383067131rb均值: 0.3219115734,rb方差:1.027411937714rb均值: -0.1597445756,rb方差:0.440882861614rb均值: 0.4391078949,rb方差:0.481568038464rb均值: -0.6703985929,rb方差:1.297284722328rb均值: 0.3011008203,rb方差:0.935113966465rb均值: -1.6486603022,rb方差:0.721871316433rb均值: -0.1557932496,rb方差:1.694716691971rb均值: 0.0033881452,rb方差:0.392967432737rb均值: -0.5664314032,rb方差:0.547676563263rb均值: 0.0150661059,rb方差:1.302479147911rb均值: -0.7746558189,rb方差:0.574206888676rb均值: 0.8685243726,rb方差:0.482303768396rb均值: 0.1834148467,rb方差:2.323847293854rb均值: 0.3039263189,rb方差:0.479439407587rb均值: 0.6128163934,rb方差:0.769122064114rb均值: 0.6830773354,rb方差:1.275282025337rb均值: 1.2293783426,rb方差:0.393769174814rb均值: -0.0458886512,rb方差:0.730980515480rb均值: -0.3260147870,rb方差:2.595458507538rb均值: -0.3997245133,rb方差:0.556357145309rb均值: -0.4381921589,rb方差:1.052927494049rb均值: -1.0017154217,rb方差:1.166311383247rb均值: -1.3151785135,rb方差:0.436381548643rb均值: -0.3907709718,rb方差:0.907785892487rb均值: 0.7108307481,rb方差:2.755680322647rb均值: 0.2597629428,rb方差:0.645223617554rb均值: 0.0430130921,rb方差:1.012958168983rb均值: 1.1136987209,rb方差:0.864887416363rb均值: -0.1154021248,rb方差:0.021006459370rb均值: 0.1156152189,rb方差:0.023414060473rb均值: 0.0892219990,rb方差:0.019505828619rb均值: 0.1396925151,rb方差:0.024844396859rb均值: 0.0567088872,rb方差:0.032241478562rb均值: -0.1823167950,rb方差:0.031778484583rb均值: 0.0352640338,rb方差:0.012037058361rb均值: 0.0718829036,rb方差:0.032396856695rb均值: 0.1509544998,rb方差:0.030641095713rb均值: -0.0264862683,rb方差:0.019659599289rb均值: -0.0706780255,rb方差:0.028138013557rb均值: 0.0375175588,rb方差:0.035386458039rb均值: -0.1408219486,rb方差:0.013301557861rb均值: -0.0002306042,rb方差:0.026158610359rb均值: -0.1571017206,rb方差:0.017769843340rb均值: -0.0218536295,rb方差:0.032844435424rb均值: -0.0268377271,rb方差:0.029085701331rb均值: -0.0219340120,rb方差:0.038424011320rb均值: -0.0923893228,rb方差:0.055522482842rb均值: 0.0476764515,rb方差:0.013533934020rb均值: 0.1009622887,rb方差:0.016005380079rb均值: 0.0890090764,rb方差:0.018030153587rb均值: -0.0389258265,rb方差:0.020700739697rb均值: -0.1287163496,rb方差:0.019969634712rb均值: 0.0730661452,rb方差:0.013762272894rb均值: -0.0554218516,rb方差:0.015819987282rb均值: -0.1501842886,rb方差:0.030016310513rb均值: -0.1658928543,rb方差:0.034830793738rb均值: -0.0273568984,rb方差:0.018832661211rb均值: 0.0450271070,rb方差:0.015628635883rb均值: -0.0651334748,rb方差:0.016027862206rb均值: 0.0288194735,rb方差:0.024744547904均值: 162.3019866943,方差:0.1462335289均值: 37.7166290283,方差:0.0759480372均值: 134.8147888184,方差:0.0658562407均值: 16.2825698853,方差:0.0348935798均值: 196.1622772217,方差:-0.3660278022均值: 15.2907056808,方差:0.0582733266均值: -10.4346265793,方差:0.1056058630均值: -7.6367063522,方差:0.0712258071均值: 11.6941814423,方差:0.0874804407均值: 197.7062683105,方差:0.0905932784均值: 72.6540603638,方差:-0.0178958066均值: -8.0940704346,方差:0.0377495624均值: 43.9305534363,方差:0.0501453355均值: -11.5583734512,方差:0.0427870154均值: -7.3656725883,方差:0.0893332139均值: -11.5264072418,方差:0.0225695707均值: -7.3012747765,方差:0.0775645748均值: -11.5213766098,方差:0.0186793674均值: -3.9215676785,方差:0.0615919903均值: 109.8956527710,方差:0.0383495651均值: -11.9310550690,方差:-0.1544442922均值: 164.0859222412,方差:0.1094555333均值: 92.2024230957,方差:0.1226359308均值: -9.2814674377,方差:0.0299011376均值: -11.0127735138,方差:0.1469851434均值: -4.9676375389,方差:0.0304383859均值: -3.2968242168,方差:0.0560424440均值: -0.2839553952,方差:-1.0610678196均值: 146.9124450684,方差:0.1008401364均值: 38.5788154602,方差:0.0858640894均值: 222.8332824707,方差:-0.1655865610均值: -6.6083993912,方差:0.0503053106rb均值: -39.1166839600,rb方差:0.011960560456rb均值: 36.0514106750,rb方差:0.002342209220rb均值: 20.4288654327,rb方差:0.005140264053rb均值: -38.4431114197,rb方差:0.001903682598rb均值: -66.6534423828,rb方差:0.001963926712rb均值: -42.2224464417,rb方差:0.003511637915rb均值: 27.5382671356,rb方差:0.018335783854rb均值: 1.8339958191,rb方差:0.043879859149rb均值: 44.8379707336,rb方差:0.000690233486rb均值: -21.7206840515,rb方差:0.006009255070rb均值: 42.9280624390,rb方差:0.007272493094rb均值: 20.2691192627,rb方差:0.013680236414rb均值: -42.3653717041,rb方差:0.005167781841rb均值: 50.2898178101,rb方差:0.007105726749rb均值: 7.0378370285,rb方差:0.002605774440rb均值: 41.1988143921,rb方差:0.008458645083rb均值: -21.4763679504,rb方差:0.011773868464rb均值: 40.1553535461,rb方差:0.014933293685rb均值: 4.4795641899,rb方差:0.023558568209rb均值: -37.2808074951,rb方差:0.008539400995rb均值: 53.6717453003,rb方差:0.019362282008rb均值: -38.2880134583,rb方差:0.000689849432rb均值: -61.2706489563,rb方差:0.002354579512rb均值: 27.1242465973,rb方差:0.010402738117rb均值: 29.0371780396,rb方差:0.003677292028rb均值: -41.5852890015,rb方差:0.003607605351rb均值: 5.0134110451,rb方差:0.002446315484rb均值: 20.6500549316,rb方差:0.004206457175rb均值: -52.5558280945,rb方差:0.006359080318rb均值: -5.0455164909,rb方差:-0.001104559749rb均值: 21.3165397644,rb方差:0.001048562350rb均值: -21.5110721588,rb方差:0.008319489658rb均值: 3.0679037571,rb方差:41.704158782959rb均值: -3.2689187527,rb方差:4.265918731689rb均值: -17.9928474426,rb方差:29.889366149902rb均值: -2.6091468334,rb方差:7.338628292084rb均值: -33.2683486938,rb方差:251.519409179688rb均值: 1.2888743877,rb方差:4.909247398376rb均值: -0.2729818821,rb方差:1.386992931366rb均值: -5.6042361259,rb方差:4.036290168762rb均值: -1.6061414480,rb方差:3.426803112030rb均值: -27.4495391846,rb方差:85.002601623535rb均值: -8.2270507812,rb方差:6.764956474304rb均值: 3.9059045315,rb方差:1.514521837234rb均值: -2.0609478951,rb方差:6.957289695740rb均值: 2.5321967602,rb方差:3.071455240250rb均值: 4.2376461029,rb方差:2.189170837402rb均值: 2.9861218929,rb方差:2.027086734772rb均值: -3.2896912098,rb方差:10.522394180298rb均值: 0.5296290517,rb方差:2.545908927917rb均值: -5.3655996323,rb方差:3.733109235764rb均值: 1.3859844208,rb方差:0.937664985657rb均值: -5.6631474495,rb方差:6.322004795074rb均值: 11.7142086029,rb方差:19.921474456787rb均值: -8.5998029709,rb方差:9.454778671265rb均值: -1.9182958603,rb方差:4.644729614258rb均值: 5.3644919395,rb方差:1.137774586678rb均值: 3.9211273193,rb方差:5.031405925751rb均值: -0.0594671182,rb方差:1.945767402649rb均值: 5.7695345879,rb方差:2.947789192200rb均值: -21.5667533875,rb方差:40.075798034668rb均值: -10.8491811752,rb方差:7.029078483582rb均值: -17.3137226105,rb方差:58.248363494873rb均值: -0.4448814094,rb方差:1.652493476868看到没反差中还有负值我的理解是bn块和残差块过度导致有残差块失效残差起作用了出现负值不知道理解对不对训练都快40轮了该正常都正常了顺便我们仿照残差块residualExt2类写一个CBL类刚刚写好试了下跑起来说明正常layers.emplace_back(std::make_sharedConv2D(cudnn, batch, 5, 64, 32, 32, 3, 1, 1));layers.emplace_back(std::make_sharedBN(cudnn, batch, 64, 32, 32));layers.emplace_back(std::make_sharedLeakyRL(cudnn, batch, 64, 32, 32));先试了试代替这3句话layers.emplace_back(std::make_sharedCBL(cudnn, batch, 5, 64, 32, 32, 3, 1));具体类如下classCBL:public Layer {//202607102154新增darknet cbl模块cudnn实现public:CBL(cudnnHandle_t cudnn_, int batch_, int c, int co,int h, int w,int juanjihe,int pading) : cudnn(cudnn_), batch(batch_), _ci(c), _co(co), _h(h), _w(w),_jjh(juanjihe),_pad(pading) {layers.emplace_back(std::make_sharedConv2D(cudnn, batch, _ci, _co, _h, _w, _jjh, 1, _pad));layers.emplace_back(std::make_sharedBN(cudnn, batch, _co, _h, _w));layers.emplace_back(std::make_sharedLeakyRL(cudnn, batch, _co, _h, _w));//20260710收到darknet的启发1506cudaMalloc(output, batch * _co * _h * _w * sizeof(float));//观察看这个_ci对不对cudaMalloc(grad_input, batch * _ci * _h * _w * sizeof(float));}void forward(float* input_)override {input input_;for (const auto l : layers) {l-forward(input);input l-get_output();}}void forward2(float* input_)override {input input_;for (const auto l : layers) {l-forward2(input);input l-get_output();}}void backward(float* grad_output)override {float* grad grad_output;for (int i layers.size() - 1; i 0; i--) {layers[i]-backward(grad);grad layers[i]-get_grad_input();}int NN batch * _ci * _h * _w;cudaMemcpy(grad_input, grad, sizeof(float) * NN, cudaMemcpyDeviceToDevice);error_handling(cudaGetLastError());}int getname() override { return 4; }float* get_output() override { return output; }float* get_grad_input() override { return grad_input; }void update(float lr) {for (const auto l : layers) {l-update(lr);}}~CBL() {cudaFree(output);cudaFree(grad_input);}private:// cublasHandle_t cublas;int _ci, _h, _w,_co;int _jjh, _pad;cudnnHandle_t cudnn;int batch;float* input, * output, * grad_input;//float* input2;//float* d_residual;public:std::vectorstd::shared_ptrLayer layers;};