PCL代码调试

本文介绍了在PCL(Prototypical Contrastive Learning)框架下,使用EM算法结合K-Means聚类进行模型训练的过程。作者在CUDA11.4+torch1.8.2环境下,针对调整后的batch大小和线程数对imagenet100数据集进行实验,并详细阐述了聚类数量的调整原因和规则。
摘要由CSDN通过智能技术生成

Prototypical Contrastive Learning在这里插入图片描述

该论文模型与MoCo出奇地相似。使用了EM算法的步骤,在E步骤调用run_kmeans函数对特征进行聚类;在M步骤使用ProtoNCE loss更新encoder的参数。
代码来源:https://github.com/salesforce/PCL.git
本机环境:CUDA11.4+torch1.8.2+1080x2

train

训练main_pcl.py
$ python mail_pcl.py -a resnet50 --lr 0.03 --batch-size 64 --num-cluster 2500,5000,7500 --pcl-r 1664 --temperature 0.2 --workers 4 --mlp --aug-plus --cos --dist-url tcp://localhost:10001 --multiprocessing-distributed --world--size 1 --rank 0 --exp-dir experiment_pcl [imagenet_folder]
原文中采用--batch_size为256且线程数为32,机器显存不够用故调整batch为64,线程数4。

我下载的数据集是imagenet100,其中共100个类别,每个类别训练图片为1000,测试图片为300。拆分

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值