cifar10训练突破80分(三,摸到pytorch尾灯!)

昨天,终于迎来转折点,可喜可贺!

突然想起当年写机器视觉软件追赶visionpro的感觉!(一点一点的突破)

16:22 2026/7/28

rb均值: 0.5299172997,rb方差:5.616769313812

rb均值: 0.8221317530,rb方差:5.748197555542

rb均值: 1.8689491749,rb方差:21.491924285889

时间: 14686.394531 ms

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

时间: 1241.422974 ms

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

learn rate:1e-05

轮次:22

rb均值: 0.5264742970,rb方差:5.625975131989

rb均值: 0.8160899878,rb方差:5.764341354370

rb均值: 1.8772314787,rb方差:21.502000808716

时间: 14667.544922 ms

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

时间: 1248.618042 ms

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

learn rate:1e-05

轮次:23

rb均值: 0.5251821280,rb方差:5.630886077881

rb均值: 0.8136169910,rb方差:5.776707649231

rb均值: 1.8869775534,rb方差:21.506217956543

时间: 14657.096680 ms

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

时间: 1247.119019 ms

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

learn rate:1e-05

轮次:24

rb均值: 0.5233923197,rb方差:5.641663074493

rb均值: 0.8129897118,rb方差:5.789339542389

rb均值: 1.8915946484,rb方差:21.541009902954

时间: 14695.947266 ms

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

时间: 1240.376953 ms

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

learn rate:1e-05

轮次:25

rb均值: 0.5249222517,rb方差:5.652767658234

rb均值: 0.8187047839,rb方差:5.801507949829

rb均值: 1.8960354328,rb方差:21.584915161133

时间: 14620.066406 ms

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

时间: 1246.831055 ms

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

learn rate:1e-05

轮次:26

rb均值: 0.5240346789,rb方差:5.664512157440

rb均值: 0.8175171018,rb方差:5.819054603577

rb均值: 1.9005300999,rb方差:21.629970550537

时间: 14700.644531 ms

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

时间: 1227.864014 ms

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

learn rate:1e-05

轮次:27

rb均值: 0.5255746245,rb方差:5.671960830688

rb均值: 0.8173997998,rb方差:5.833096981049

rb均值: 1.9070935249,rb方差:21.651679992676

时间: 14676.238281 ms

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

时间: 1244.552979 ms

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

learn rate:1e-05

轮次:28

rb均值: 0.5242957473,rb方差:5.688605785370

rb均值: 0.8174471259,rb方差:5.848959445953

rb均值: 1.9097890854,rb方差:21.693126678467

时间: 14633.943359 ms

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

时间: 1240.036011 ms

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

learn rate:1e-05

轮次:29

rb均值: 0.5264126062,rb方差:5.699140071869

rb均值: 0.8221742511,rb方差:5.861934185028

rb均值: 1.9115831852,rb方差:21.732776641846

时间: 14671.561523 ms

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

时间: 1236.954956 ms

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

learn rate:1e-05

轮次:30

请按任意键继续. . .

这是昨天所有的尝试:

架构没怎么变,关键是屏蔽了卷积层和线性层的bias的动量更新

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

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

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

layers.emplace_back(std::make_shared<residualbase>(cudnn, batch, 128,16, 16));

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

layers.emplace_back(std::make_shared<Linear>(cublas, batch, 128 * 64, 500));

layers.emplace_back(std::make_shared<LeakyRL>(cudnn, batch, 500, 1, 1));

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

你说奇怪不奇怪!以下是卷积层的动量屏蔽

void update(float lr) override {

int w_size = _out_channels * _in_channels * _kernel_size * _kernel_size;

int b_size = _out_channels;

axpy_kernel << <(w_size + 255) / 256, 256 >> > (w_size, 0.0005f * _batch, _weight, 0, 1, _grad_weight, 0, 1);

sgd_update_Wb << <(w_size + 255) / 256, 256 >> > (_weight, _grad_weight, lr, w_size,0.98);

sgd_update << <(b_size + 255) / 256, 256 >> > (_bias, _grad_bias, lr, b_size);

//sgd_update_Wb << <(b_size + 255) / 256, 256 >> > (_bias, 动量vbTest, lr, b_size, 0.98);

cudaDeviceSynchronize();

// ---- 打印中间输出 ----

cudaMemcpy(www, _weight, _out_channels * _in_channels * _kernel_size * _kernel_size * sizeof(float), cudaMemcpyDeviceToHost);//取出权重,可以一试,保存加载不必再训练喽

}

以下是线性层的动量屏蔽

void update(float lr) override {

const float alpha = -lr;

int 替代 = out_features * in_features;

axpy_kernel << <(替代 + 255) / 256, 256 >> > (替代,

0.0005f * batch, weight, 0, 1, grad_weight, 0, 1);

sgd_update_Wb << <(替代 + 255) / 256, 256 >> > (weight, grad_weight, lr, 替代, 0.98);

cublasSaxpy(handle, out_features, &alpha, grad_bias, 1, bias, 1);

//sgd_update_Wb << <(out_features + 255) / 256, 256 >> > (bias, 动量vbTest, lr, out_features, 0.98);

cudaDeviceSynchronize();//需要这句话吗?先试一试

cudaMemcpy(www, weight, sizeof(float) * in_features * out_features, cudaMemcpyDeviceToHost);//暂时未获取bias

}

最初,本以为是图像应该增加高斯模糊图像,应该有所改善

但研究后,并非如此!

奇葩的是:cifar100也上了48.54分,竟然高斯图像起作用了!而且除了bias动量更新不能用,weight的动量更新不也能用!(研究的新成果就这样作废了)

所以cifar10与cifar100还是在图像处理输入上有差别!cifar100的图像集更加复杂

相关推荐
问天_观心2 小时前
零基础在windows环境下的WSL使用llamafactory(二)
人工智能·神经网络·语言模型·github·模型蒸馏
牛企老板俱乐部2 小时前
广东机器人结构验证手板产业格局:深圳珠海东莞三城分析
大数据·人工智能
ltqvibe3 小时前
企业AI改造的四层路径:从点上应用到企业大脑
大数据·人工智能·本体语义平台·企业ai改造·数据打通·企业大脑·企业认知基础设施
anxiao_m3 小时前
园区数字孪生怎么搭建?主流方案与服务商深度对比
大数据·运维·人工智能
Eric.463 小时前
AI漫剧量产Prompt参数实操手册:Stable Diffusion+ComfyUI+OpenClaw通用复制即用配置
人工智能·深度学习·stable diffusion·prompt·ai漫剧
Eric.463 小时前
OpenClaw 结合 Stable Diffusion 与 ComfyUI 实现本地离线 AI 漫剧全自动流水线|批量渲染、人设一致性、帧闪烁问题工程实践
人工智能·stable diffusion·comfyui·ai漫剧
Splashtop高性能远程控制软件3 小时前
AI 落地的连接基建评估:消费品行业远程连接方案的四个技术维度(性能 / 精度 / 安全 / 统一管理)
运维·人工智能·安全·远程工作·splashtop
AIkk864 小时前
手机释放内存用什么工具方便?2026全平台工具实测科普
人工智能
阿里云大数据AI技术4 小时前
从 VDBBench 到 MMEB 榜首:阿里云 AI Search 从引擎到模型的全栈优化
人工智能·elasticsearch·agent