标签:双过 baseline 训练 Food workers 学习 num pin memory
文章目录
- 写在前面
- 做完这个实验应该有的收获:
- 先上实验结果(直接使用pytorch内置的模型resnet18(pretrain=False),双过 strong baseline,过线一点点,学习用就行了)
- 一些改进想法:
- 一些 参考 及 链接:
写在前面
新手入门,相互学习,期待大佬有更好的想法。
做完这个实验应该有的收获:
- 使用CNN进行图片分类
- 学习到 data augmentations(有22种之多,但并不是每种都有用,看情况)
- 使用
无监督学习(主要)
(用上大量 unlabeled data辅助训练) - 训练经验:
-
本地训练,从kaggle下载数据会快
kaggle competitions download -c ml2021spring-hw3
(需要配置kaggle.json文件到.kaggle文件夹下) -
加了
num_workers=8, pin_memory=True
会快得飞起,用多线程去加载数据会快,num_workers默认是0, pin_memory默认是false
,很慢… 在DataLoader中test_loader = DataLoader(test_set, batch_size=batch_size, shuffle=False, num_workers=8, pin_memory=True)
-
自定义
Dataset
,concat_dataset = ConcatDataset([train_set, pseudo_set])
,ConcatDataset
将多个Dataset拼接起来
-
可视化训练结果,将每一个epoch的数据存储在列表中,列表不要重复覆盖不然就没之前的数据了。(至少200个epoch起,刚开始调了20 什么也看不出来,总共训练了有600个epoch了)
-
data_loader = DataLoader(dataset, batch_size=256, shuffle=False, num_workers=8, pin_memory=True)
#num_workers=8, pin_memory=True ,batch_size=256 设置为256,只推断可以设置大一点
-
对半监督 取数据代码的理解:对于
indices
只有masks[i]=true
的才会被选取
-
可视化 代码
-
先上实验结果(直接使用pytorch内置的模型resnet18(pretrain=False),双过 strong baseline,过线一点点,学习用就行了)
可视化 训练过程,中间有抖动是因为手动停了训练调了一下参数,比如在训练后期:可以把学习率调小,半监督的阈值放宽。
后面学习到scheduler
和tensorboard
可以自动调整学习率吧,等待学习中…
阈值调到0.65 使用到的数据
使用resnet18_pretrain的结果,只训练10个epoch看看效果(当然这是禁止的!)
一些改进想法:
- 集成学习?
- 数据增强不同方式?
一些 参考 及 链接:
大佬代码参考(数据增强和半监督代码 抄这里)
参考2–目前只有1-3作业?(可视化代码抄这里)
标签:双过,baseline,训练,Food,workers,学习,num,pin,memory 来源: https://blog.csdn.net/weixin_43154149/article/details/121992218
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。