You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Fiber 298a928632 Changes 2 years ago
pcl Changes 2 years ago
scripts Changes 2 years ago
.gitignore Initial commit 2 years ago
LICENSE Initial commit 2 years ago
README.md Changes 2 years ago
main.py Changes 2 years ago
requirements.txt Changes 2 years ago
test_svm.py Changes 2 years ago

README.md

myPCL

Training:

参数解析

简写参数 全称参数 描述
-a --arch 指定主干网络类型,如:resnet-18,resnet-50
-j --workers 指定线程数,默认为4
--epochs 总训练循环次数,默认为200
--warmup-epoch 有监督epoch次数,默认为100
--exp-dir 输出路径,默认为experiment
-b --batch-size 一批的数量,默认为8,必须为标签数的倍数
-lr --learning-rate 学习率,默认为0.03
--cos 使用cosine学习率
--schedule 指定学习率下降的epoch,默认为[120,160],只在cos未指定时生效
--momentum 优化器的动量餐宿,默认为0.9
--wd --weight-decay SSPCL模型的权重衰减,默认为1e-4
--low-dim 输出维度,默认为128
--num-cluster 聚类个数,默认为'20,25,30'
--pcl-r 负例对,需要小于聚类个数,默认为16
--moco-m SSPCL中ME更新参数使用的动量,默认为0.999
--mlp 设置即为使用mlp,无参数,参考PCL模型
--temperature softmax层温度参数,默认为0.2
-p --print-freq 显示频率,默认为每10个数据
--save-freq 保存模型的频率,默认为每10个epoch
--world-size 总训练程序数量,默认为1
--rank 此训练程序编号,默认编号0
--dist-url 多程序训练连接地址,此参数参照pytorch分布式训练解释
--dist-backend 默认为nccl
--gpu 用于训练的gpu编号
--seed 随机数种子,默认为自动生成
--resume 需要载入的模型位置
--start-epoch 训练起始的epoch,与resume配合使用

用例

python main.py -a resnet18 --lr 0.03 --batch-size 8 --workers 4 --temperature 0.2 --mlp --aug-plus --cos --dist-url "tcp://localhost:10001" --world-size 1 --rank 0 --warmup-epoch 100 --epochs 100 --exp-dir exp images

Testing:

参数解析

如训练时修改了以上默认的参数,在测试时也需要指定 以下是必须要设置的参数

简写参数 全称参数 描述
--pretrained 需要载入模型的路径

用例

python test_svm.py --pretrained exp/checkpoint_0199.pth.tar