CPEA
话说,感觉《一兆游戏》第一集25.50-30.00这一段配三个人非常easy。
还是先看论文吧
Backbone基本上是ResNet12,Dataset:miniImageNet , tieredImageNet,
CIFAR-FS, and FC100。
image-20250401204745641
image-20250401204953567
Expr实验细节
main.py:python main.py --gpu 0 --way 5 --test_way 5 --shot 5 --exp cpea-main-5way-5shot > cpea-main-5way-5shot.txt &
在 GPU0上运行 5-way 5-shot 训练,日志存入
cpea-main-5way-5shot.txt。
& 放在命令末尾,表示 让 Python
进程在后台运行,这样终端不会被锁定,还可以执行其他命令。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| parser = argparse.ArgumentParser() parser.add_argument('--max_epoch', type=int, default=100) parser.add_argument('--way', type=int, default=5) parser.add_argument('--test_way', type=int, default=5) parser.add_argument('--shot', type=int, default=1) parser.add_argument('--query', type=int, default=15) parser.add_argument('--lr', type=float, default=0.00001) parser.add_argument('--lr_mul', type=float, default=100) parser.add_argument('--step_size', type=int, default=5) parser.add_argument('--gamma', type=float, default=0.5) parser.add_argument('--model_type', type=str, default='small') parser.add_argument('--dataset', type=str, default='MiniImageNet') parser.add_argument('--init_weights', type=str, default='./initialization/miniimagenet/checkpoint1600.pth') parser.add_argument('--gpu', default='2') parser.add_argument('--exp', type=str, default='CPEA') args = parser.parse_args() pprint(vars(args))
|
way (N-way):每个 episode 任务包含的类别数(默认
5-way)。
shot (K-shot):每个类别的支持样本数(默认
1-shot)。
query:每个类别的查询样本数(默认 15)。
learning rate (lr):默认
1e-5
,可能过低,建议调试 1e-4
或
5e-5
。
lr_mul:用于 CPEA
模型的学习率调整(比
Backbone
大 100
倍)。
step_size/gamma:用于 StepLR
调度器,每
5
轮 lr
乘 0.5
。
预训练模型 (init_weights
):用于 ResNet
预训练特征提取。
进展
话说电脑已经被西安腌入味了,输入xian的首选是西安了。
结果写好了food101.py之后,然后发现需要预训练权重)
于是可悲地先下载FewTURE,然后先跑这个ViT的pretrain model。
image-20250402101530915
快十个小时跑了80个epoch不到,这得跑100h了,悲。