当前位置: 首页 > news >正文

实验心得,包括代码复现工作的体会

实践是检验真理的唯一标准
resnet20,cifar100.
Direct training:
和原论文一样的参数
64.45
time step 1, Accuracy = 0.5918
time step 2, Accuracy = 0.6320
time step 4, Accuracy = 0.6446
time step 8, Accuracy = 0.6531
time step 16, Accuracy = 0.6608
time step 32, Accuracy = 0.6631
和原论文69.97相差比较大。

加了部分预处理,参数不变(这里参数改成和下面一样变说不定就可以):
64.69
time step 1, Accuracy = 0.5931
time step 2, Accuracy = 0.6319
time step 4, Accuracy = 0.6387
time step 8, Accuracy = 0.6483
time step 16, Accuracy = 0.6601
time step 32, Accuracy = 0.6645
实验证明:原论文在扯淡。鉴定完毕。

师哥full precision pretrain,然后做finetune

  • epoch = 200
    lr = 0.01
    wd = 1e-5
    128 sgd cosine

69.24 可以达到原论文的精度。
time step 1, Accuracy = 0.5398
time step 2, Accuracy = 0.6123
time step 4, Accuracy = 0.6373
time step 8, Accuracy = 0.6618
time step 16, Accuracy = 0.6954
time step 32, Accuracy = 0.7061

总结

  1. 对于cifar10来说,按照原论文直接训练量化网络的效果不错,这是因为cifar10是最简单的数据集;但是杜宇cifar100来说,如果去除了预训练的模型,效果就大打折扣-5%,因为训练难度升高了。
  2. 直接训练一个全精度的网络对于cifar100也要load一个pretrain的model,精度才能达到很高
  3. 一般量化过程是,先导入一个pretrain的model(这个model就是原始的vgg或者resnet里的model)这样可以直接load进来,然后再改模型,这样模型的参数并不是全部随机的,而是已经有部分是最优的。
    而一般导一个自己模型训练好的模型的顺序是先把模型改好再导入你用该模型训练好的pth文件,这样才能load进来,逻辑上有些不同,体现在导入这个过程是在更改模型前还是后。
  4. finetune的过程要把学习率和wd设置的小一点epoch也可以小一点,上面那个finetune的过程是 lr=0.01.wd=1e-5 (直接训练为0.02,wd=5e-4)

泽凯哥:
多卡训练注意调整:batch_size * 4, lr * 2(根号下)
torch.optim.lr_scheduler.ReduceLROnPlateau

理想状态下的收敛效果:
在这里插入图片描述

pip intall fasteai
在这里插入图片描述

http://www.lryc.cn/news/110365.html

相关文章:

  • RabbitMQ(二)
  • Linux软件实操
  • kagNet:对常识推理的知识感知图网络 8.4+8.5
  • Jmeter 压测工具使用手册[详细]
  • matlab智能算法程序包89套最新高清录制!matlab专题系列!
  • caj文件怎么转换成pdf?了解一下这种方法
  • windows 同时安装 Mysql 5.7 和8.0
  • 数字孪生的「三张皮」问题:数据隐私、安全与伦理挑战
  • Hadoop学习:深入解析MapReduce的大数据魔力(上)
  • MQ(一)-MQ理论与消息中间件简介
  • vb与EXCEL的连接
  • java使用openOffice将excel转换pdf时,将所有列显示在一页
  • python数据容器
  • 【TypeScript】中定义与使用 Class 类的解读理解
  • 好用的数据库管理软件之idea(idea也有数据库???)
  • 《操作系统-李治军》测验错题集
  • DP-GAN-判别器代码
  • 基于多线程实现服务器并发
  • Golang之路---03 面向对象——接口与多态
  • 一条自由游动的鲸鱼
  • 将python源代码打包成.exe可执行文件
  • 【数据结构篇】手写双向链表、单向链表(超详细)
  • linux 中的串口驱动
  • 棱镜七彩正式加入龙蜥社区安全联盟(OASA)
  • STM32——STM32F401x系列标准库的下载+环境搭建+建工程步骤(更完整)
  • 基于ArcGIS土地利用量化人类活动的分析及模型构建
  • 特性Attribute
  • pyqt5, 如何在窗口上显示10个点地循环进度条。
  • VM里ubuntu虚拟无法启动
  • 信息学奥赛一本通——1156:求π的值