Skip to content

Implement the Prompt-based CL milestone papers with pyotorch template style

License

Notifications You must be signed in to change notification settings

yunseokddi/Prompt_based_CL_milestone_implement

Repository files navigation

Prompt_based_CL_milestone

This is Pytorch implementation of the Prompt-based Continual Learning with pytorch-template in the following milestone papers:

  • [L2P] A Baseline for Detecting Missclassified and Out-of-Distribution Examples in Neural Networks | [CVPR2022] [paper]
  • [DualPrompt] DualPrompt: Complementary Prompting for Rehearsal-free Continual Learning | [ECCV2022] [paper]

Installation & requirement

The current version of the code has been tested with python 3.8.0 on an Ubuntu 18.04 OS with the following versions of Pytorch, Torchvision and timm:

  • pytorch 1.12.0
  • torchvision 0.13.0
  • timm 0.6.7

Further Python-packages used are listed in requirements.txt. Assuming Python and pip are set up, these packages can be installed using:

pip install -r requirements.txt

Folder Structure

CL_milestone_implement/
│
├── L2P/ - L2P implementation proj
│   └── data_loader/ - CIFAR100 and 5-dataset loader
│   └── model/ - backbone (ViT) + prompt src
│   └── output/ - checkpoint dir
│   └── trainer/ - Train core src
│   └── utils/ 
│   └── parse_config.py - parser
│   └── train.py - main src
├── DualPrompt/ - DualPrompt implementation proj
├── ViT/ - ViT implementation proj
├── license
├── requirements.txt
└── train.py - **main script to start training**

Running custom experiments

1. L2P

How to run?

(1) If you want to full-train

CUDA_VISIBLE_DEVICES=[GPU idx] torchrun \
        --nproc_per_node=[Node num] \
        train.py \
        [cifar100/imr]_l2p \
        --model vit_base_patch16_224 \
        --batch-size [Batch size] \
        --tensorboard True

(2) If you want to evaluate

CUDA_VISIBLE_DEVICES=[GPU idx] torchrun \
        --nproc_per_node=[Node num] \
        train.py \
        [cifar100/imr]_l2p \
        --checkpoint_dir checkpoint_[cifar100/imr] \
        --eval

2. DualPrompt

How to run?

(1) If you want to full-train

CUDA_VISIBLE_DEVICES=[GPU idx] torchrun \
        --nproc_per_node=[Node num] \
        train.py \
        [cifar100/imr]_dualprompt \
        --model vit_base_patch16_224 \
        --batch-size [Batch size] \
        --tensorboard True

(2) If you want to evaluate

CUDA_VISIBLE_DEVICES=[GPU idx] torchrun \
        --nproc_per_node=[Node num] \
        train.py \
        [cifar100/imr]_dualprompt \
        --checkpoint_dir checkpoint_[cifar100/imr] \
        --eval

Result

(1) CIFAR100

Loading checkpoint from: ./output/checkpoint_cifar100/task1_checkpoint.pth
100%|██████████████████████████████████████████████████████| 42/42 [00:07<00:00,  5.72it/s]
Task ID : 1, Val loss : 0.227, ACC@1 : 97.800, ACC@5 : 100.000
--------------------------------------------------------------------------------
Task ID : 1, AVG ACC 1 : 97.800, AVG ACC 5 : 100.000
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_cifar100/task2_checkpoint.pth
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.56it/s]
Task ID : 1, Val loss : 0.273, ACC@1 : 93.900, ACC@5 : 100.000
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.55it/s]
Task ID : 2, Val loss : 0.380, ACC@1 : 95.200, ACC@5 : 99.200
--------------------------------------------------------------------------------
Task ID : 2, AVG ACC 1 : 94.550, AVG ACC 5 : 99.600
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_cifar100/task3_checkpoint.pth
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.56it/s]
Task ID : 1, Val loss : 0.324, ACC@1 : 91.900, ACC@5 : 99.800
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.55it/s]
Task ID : 2, Val loss : 0.436, ACC@1 : 93.200, ACC@5 : 98.700
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.56it/s]
Task ID : 3, Val loss : 0.313, ACC@1 : 93.900, ACC@5 : 99.500
--------------------------------------------------------------------------------
Task ID : 3, AVG ACC 1 : 93.000, AVG ACC 5 : 99.333
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_cifar100/task4_checkpoint.pth
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.56it/s]
Task ID : 1, Val loss : 0.346, ACC@1 : 90.900, ACC@5 : 99.700
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.51it/s]
Task ID : 2, Val loss : 0.507, ACC@1 : 87.700, ACC@5 : 98.300
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.51it/s]
Task ID : 3, Val loss : 0.320, ACC@1 : 93.100, ACC@5 : 99.300
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.50it/s]
Task ID : 4, Val loss : 0.336, ACC@1 : 92.700, ACC@5 : 98.700
--------------------------------------------------------------------------------
Task ID : 4, AVG ACC 1 : 91.100, AVG ACC 5 : 99.000
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_cifar100/task5_checkpoint.pth
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.55it/s]
Task ID : 1, Val loss : 0.373, ACC@1 : 90.200, ACC@5 : 99.600
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.53it/s]
Task ID : 2, Val loss : 0.568, ACC@1 : 84.500, ACC@5 : 97.900
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.54it/s]
Task ID : 3, Val loss : 0.382, ACC@1 : 90.100, ACC@5 : 99.100
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.52it/s]
Task ID : 4, Val loss : 0.379, ACC@1 : 91.800, ACC@5 : 98.100
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.50it/s]
Task ID : 5, Val loss : 0.379, ACC@1 : 90.200, ACC@5 : 98.600
--------------------------------------------------------------------------------
Task ID : 5, AVG ACC 1 : 89.360, AVG ACC 5 : 98.660
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_cifar100/task6_checkpoint.pth
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.52it/s]
Task ID : 1, Val loss : 0.449, ACC@1 : 87.700, ACC@5 : 99.200
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.51it/s]
Task ID : 2, Val loss : 0.628, ACC@1 : 83.500, ACC@5 : 97.100
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.52it/s]
Task ID : 3, Val loss : 0.429, ACC@1 : 88.600, ACC@5 : 98.600
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.54it/s]
Task ID : 4, Val loss : 0.458, ACC@1 : 89.300, ACC@5 : 97.300
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.50it/s]
Task ID : 5, Val loss : 0.449, ACC@1 : 88.400, ACC@5 : 98.300
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.51it/s]
Task ID : 6, Val loss : 0.464, ACC@1 : 84.600, ACC@5 : 98.900
--------------------------------------------------------------------------------
Task ID : 6, AVG ACC 1 : 87.017, AVG ACC 5 : 98.233
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_cifar100/task7_checkpoint.pth
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.51it/s]
Task ID : 1, Val loss : 0.458, ACC@1 : 88.000, ACC@5 : 99.300
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.48it/s]
Task ID : 2, Val loss : 0.664, ACC@1 : 81.800, ACC@5 : 96.800
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.54it/s]
Task ID : 3, Val loss : 0.465, ACC@1 : 87.400, ACC@5 : 98.600
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.52it/s]
Task ID : 4, Val loss : 0.478, ACC@1 : 89.200, ACC@5 : 97.000
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.51it/s]
Task ID : 5, Val loss : 0.453, ACC@1 : 88.300, ACC@5 : 98.000
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.49it/s]
Task ID : 6, Val loss : 0.463, ACC@1 : 84.200, ACC@5 : 98.800
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.51it/s]
Task ID : 7, Val loss : 0.433, ACC@1 : 88.500, ACC@5 : 98.600
--------------------------------------------------------------------------------
Task ID : 7, AVG ACC 1 : 86.771, AVG ACC 5 : 98.157
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_cifar100/task8_checkpoint.pth
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.52it/s]
Task ID : 1, Val loss : 0.467, ACC@1 : 87.500, ACC@5 : 99.100
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.51it/s]
Task ID : 2, Val loss : 0.665, ACC@1 : 81.300, ACC@5 : 96.800
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.48it/s]
Task ID : 3, Val loss : 0.483, ACC@1 : 86.600, ACC@5 : 98.400
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.51it/s]
Task ID : 4, Val loss : 0.479, ACC@1 : 88.400, ACC@5 : 96.900
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.49it/s]
Task ID : 5, Val loss : 0.457, ACC@1 : 88.200, ACC@5 : 98.100
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.52it/s]
Task ID : 6, Val loss : 0.492, ACC@1 : 83.400, ACC@5 : 98.700
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.50it/s]
Task ID : 7, Val loss : 0.492, ACC@1 : 86.300, ACC@5 : 98.000
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.53it/s]
Task ID : 8, Val loss : 0.508, ACC@1 : 86.700, ACC@5 : 98.100
--------------------------------------------------------------------------------
Task ID : 8, AVG ACC 1 : 86.050, AVG ACC 5 : 98.013
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_cifar100/task9_checkpoint.pth
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.52it/s]
Task ID : 1, Val loss : 0.492, ACC@1 : 87.600, ACC@5 : 98.600
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.52it/s]
Task ID : 2, Val loss : 0.708, ACC@1 : 80.200, ACC@5 : 96.500
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.50it/s]
Task ID : 3, Val loss : 0.497, ACC@1 : 87.100, ACC@5 : 98.200
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.50it/s]
Task ID : 4, Val loss : 0.510, ACC@1 : 88.100, ACC@5 : 96.500
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.51it/s]
Task ID : 5, Val loss : 0.506, ACC@1 : 87.600, ACC@5 : 97.900
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.51it/s]
Task ID : 6, Val loss : 0.512, ACC@1 : 83.000, ACC@5 : 98.800
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.48it/s]
Task ID : 7, Val loss : 0.532, ACC@1 : 86.100, ACC@5 : 97.000
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.47it/s]
Task ID : 8, Val loss : 0.529, ACC@1 : 86.000, ACC@5 : 97.900
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.49it/s]
Task ID : 9, Val loss : 0.276, ACC@1 : 92.100, ACC@5 : 99.400
--------------------------------------------------------------------------------
Task ID : 9, AVG ACC 1 : 86.422, AVG ACC 5 : 97.867
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_cifar100/task10_checkpoint.pth
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.47it/s]
Task ID : 1, Val loss : 0.500, ACC@1 : 85.700, ACC@5 : 98.400
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.47it/s]
Task ID : 2, Val loss : 0.747, ACC@1 : 78.800, ACC@5 : 95.800
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.52it/s]
Task ID : 3, Val loss : 0.487, ACC@1 : 87.100, ACC@5 : 98.100
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.51it/s]
Task ID : 4, Val loss : 0.557, ACC@1 : 85.600, ACC@5 : 96.800
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.50it/s]
Task ID : 5, Val loss : 0.558, ACC@1 : 85.400, ACC@5 : 97.300
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.49it/s]
Task ID : 6, Val loss : 0.556, ACC@1 : 82.400, ACC@5 : 98.500
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.51it/s]
Task ID : 7, Val loss : 0.545, ACC@1 : 84.600, ACC@5 : 96.900
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.48it/s]
Task ID : 8, Val loss : 0.574, ACC@1 : 84.500, ACC@5 : 97.700
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.52it/s]
Task ID : 9, Val loss : 0.341, ACC@1 : 89.800, ACC@5 : 99.400
100%|██████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.46it/s]
Task ID : 10, Val loss : 0.430, ACC@1 : 87.500, ACC@5 : 98.700
--------------------------------------------------------------------------------
Task ID : 10, AVG ACC 1 : 85.140, AVG ACC 5 : 97.760
--------------------------------------------------------------------------------

Total AVG ACC 1 : 89.721
Total AVG ACC 5 : 98.662
Total : forgetting : 6.422

(2) ImageNet-R

Loading checkpoint from: ./output/checkpoint_imr/task1_checkpoint.pth
100%|██████████████████████████████████████████████████████| 28/28 [00:06<00:00,  4.42it/s]
Task ID : 1, Val loss : 1.345, ACC@1 : 79.538, ACC@5 : 94.154
--------------------------------------------------------------------------------
Task ID : 1, AVG ACC 1 : 79.538, AVG ACC 5 : 94.154
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task2_checkpoint.pth
100%|██████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.52it/s]
Task ID : 1, Val loss : 1.305, ACC@1 : 76.154, ACC@5 : 92.154
100%|██████████████████████████████████████████████████████| 32/32 [00:04<00:00,  6.66it/s]
Task ID : 2, Val loss : 1.203, ACC@1 : 77.733, ACC@5 : 90.933
--------------------------------------------------------------------------------
Task ID : 2, AVG ACC 1 : 76.944, AVG ACC 5 : 91.544
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task3_checkpoint.pth
100%|██████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.50it/s]
Task ID : 1, Val loss : 1.332, ACC@1 : 74.462, ACC@5 : 91.077
100%|██████████████████████████████████████████████████████| 32/32 [00:04<00:00,  6.60it/s]
Task ID : 2, Val loss : 1.244, ACC@1 : 76.400, ACC@5 : 90.533
100%|██████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.66it/s]
Task ID : 3, Val loss : 1.078, ACC@1 : 75.176, ACC@5 : 94.145
--------------------------------------------------------------------------------
Task ID : 3, AVG ACC 1 : 75.346, AVG ACC 5 : 91.918
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task4_checkpoint.pth
100%|██████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.50it/s]
Task ID : 1, Val loss : 1.351, ACC@1 : 73.231, ACC@5 : 88.769
100%|██████████████████████████████████████████████████████| 32/32 [00:04<00:00,  6.59it/s]
Task ID : 2, Val loss : 1.256, ACC@1 : 74.667, ACC@5 : 88.667
100%|██████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.65it/s]
Task ID : 3, Val loss : 1.080, ACC@1 : 72.365, ACC@5 : 92.740
100%|██████████████████████████████████████████████████████| 24/24 [00:03<00:00,  6.21it/s]
Task ID : 4, Val loss : 1.310, ACC@1 : 71.181, ACC@5 : 90.278
--------------------------------------------------------------------------------
Task ID : 4, AVG ACC 1 : 72.861, AVG ACC 5 : 90.113
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task5_checkpoint.pth
100%|██████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.47it/s]
Task ID : 1, Val loss : 1.349, ACC@1 : 71.538, ACC@5 : 87.846
100%|██████████████████████████████████████████████████████| 32/32 [00:04<00:00,  6.59it/s]
Task ID : 2, Val loss : 1.259, ACC@1 : 74.533, ACC@5 : 87.733
100%|██████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.70it/s]
Task ID : 3, Val loss : 1.154, ACC@1 : 72.131, ACC@5 : 90.632
100%|██████████████████████████████████████████████████████| 24/24 [00:03<00:00,  6.17it/s]
Task ID : 4, Val loss : 1.356, ACC@1 : 69.965, ACC@5 : 88.889
100%|██████████████████████████████████████████████████████| 30/30 [00:04<00:00,  6.39it/s]
Task ID : 5, Val loss : 1.392, ACC@1 : 70.251, ACC@5 : 88.408
--------------------------------------------------------------------------------
Task ID : 5, AVG ACC 1 : 71.684, AVG ACC 5 : 88.702
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task6_checkpoint.pth
100%|██████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.46it/s]
Task ID : 1, Val loss : 1.402, ACC@1 : 70.462, ACC@5 : 86.000
100%|██████████████████████████████████████████████████████| 32/32 [00:04<00:00,  6.52it/s]
Task ID : 2, Val loss : 1.281, ACC@1 : 74.267, ACC@5 : 86.933
100%|██████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.69it/s]
Task ID : 3, Val loss : 1.181, ACC@1 : 72.365, ACC@5 : 91.101
100%|██████████████████████████████████████████████████████| 24/24 [00:03<00:00,  6.19it/s]
Task ID : 4, Val loss : 1.391, ACC@1 : 68.924, ACC@5 : 86.806
100%|██████████████████████████████████████████████████████| 30/30 [00:04<00:00,  6.41it/s]
Task ID : 5, Val loss : 1.436, ACC@1 : 68.017, ACC@5 : 87.430
100%|██████████████████████████████████████████████████████| 24/24 [00:03<00:00,  6.24it/s]
Task ID : 6, Val loss : 1.257, ACC@1 : 72.939, ACC@5 : 88.351
--------------------------------------------------------------------------------
Task ID : 6, AVG ACC 1 : 71.162, AVG ACC 5 : 87.770
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task7_checkpoint.pth
100%|██████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.40it/s]
Task ID : 1, Val loss : 1.461, ACC@1 : 68.154, ACC@5 : 85.231
100%|██████████████████████████████████████████████████████| 32/32 [00:04<00:00,  6.57it/s]
Task ID : 2, Val loss : 1.330, ACC@1 : 72.400, ACC@5 : 86.133
100%|██████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.71it/s]
Task ID : 3, Val loss : 1.224, ACC@1 : 72.131, ACC@5 : 90.867
100%|██████████████████████████████████████████████████████| 24/24 [00:03<00:00,  6.11it/s]
Task ID : 4, Val loss : 1.454, ACC@1 : 67.361, ACC@5 : 87.500
100%|██████████████████████████████████████████████████████| 30/30 [00:04<00:00,  6.43it/s]
Task ID : 5, Val loss : 1.517, ACC@1 : 66.061, ACC@5 : 84.637
100%|██████████████████████████████████████████████████████| 24/24 [00:03<00:00,  6.22it/s]
Task ID : 6, Val loss : 1.296, ACC@1 : 73.118, ACC@5 : 88.530
100%|██████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.93it/s]
Task ID : 7, Val loss : 1.617, ACC@1 : 69.838, ACC@5 : 85.278
--------------------------------------------------------------------------------
Task ID : 7, AVG ACC 1 : 69.866, AVG ACC 5 : 86.882
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task8_checkpoint.pth
100%|██████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.45it/s]
Task ID : 1, Val loss : 1.490, ACC@1 : 68.308, ACC@5 : 84.308
100%|██████████████████████████████████████████████████████| 32/32 [00:04<00:00,  6.56it/s]
Task ID : 2, Val loss : 1.372, ACC@1 : 71.333, ACC@5 : 85.600
100%|██████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.69it/s]
Task ID : 3, Val loss : 1.220, ACC@1 : 71.663, ACC@5 : 90.398
100%|██████████████████████████████████████████████████████| 24/24 [00:03<00:00,  6.15it/s]
Task ID : 4, Val loss : 1.490, ACC@1 : 66.319, ACC@5 : 86.632
100%|██████████████████████████████████████████████████████| 30/30 [00:04<00:00,  6.40it/s]
Task ID : 5, Val loss : 1.541, ACC@1 : 64.804, ACC@5 : 84.078
100%|██████████████████████████████████████████████████████| 24/24 [00:03<00:00,  6.26it/s]
Task ID : 6, Val loss : 1.315, ACC@1 : 72.222, ACC@5 : 88.172
100%|██████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.87it/s]
Task ID : 7, Val loss : 1.652, ACC@1 : 67.864, ACC@5 : 84.740
100%|██████████████████████████████████████████████████████| 19/19 [00:03<00:00,  5.88it/s]
Task ID : 8, Val loss : 1.498, ACC@1 : 69.663, ACC@5 : 85.393
--------------------------------------------------------------------------------
Task ID : 8, AVG ACC 1 : 69.022, AVG ACC 5 : 86.165
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task9_checkpoint.pth
100%|██████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.41it/s]
Task ID : 1, Val loss : 1.525, ACC@1 : 67.231, ACC@5 : 83.538
100%|██████████████████████████████████████████████████████| 32/32 [00:04<00:00,  6.59it/s]
Task ID : 2, Val loss : 1.387, ACC@1 : 71.200, ACC@5 : 84.800
100%|██████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.69it/s]
Task ID : 3, Val loss : 1.254, ACC@1 : 71.897, ACC@5 : 89.930
100%|██████████████████████████████████████████████████████| 24/24 [00:03<00:00,  6.12it/s]
Task ID : 4, Val loss : 1.536, ACC@1 : 65.104, ACC@5 : 85.417
100%|██████████████████████████████████████████████████████| 30/30 [00:04<00:00,  6.40it/s]
Task ID : 5, Val loss : 1.602, ACC@1 : 65.084, ACC@5 : 82.682
100%|██████████████████████████████████████████████████████| 24/24 [00:03<00:00,  6.22it/s]
Task ID : 6, Val loss : 1.370, ACC@1 : 72.043, ACC@5 : 87.276
100%|██████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.89it/s]
Task ID : 7, Val loss : 1.725, ACC@1 : 65.530, ACC@5 : 82.585
100%|██████████████████████████████████████████████████████| 19/19 [00:03<00:00,  5.91it/s]
Task ID : 8, Val loss : 1.551, ACC@1 : 67.640, ACC@5 : 83.371
100%|██████████████████████████████████████████████████████| 27/27 [00:04<00:00,  6.34it/s]
Task ID : 9, Val loss : 0.948, ACC@1 : 80.383, ACC@5 : 91.069
--------------------------------------------------------------------------------
Task ID : 9, AVG ACC 1 : 69.568, AVG ACC 5 : 85.630
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task10_checkpoint.pth
100%|██████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.41it/s]
Task ID : 1, Val loss : 1.534, ACC@1 : 67.538, ACC@5 : 82.923
100%|██████████████████████████████████████████████████████| 32/32 [00:04<00:00,  6.53it/s]
Task ID : 2, Val loss : 1.393, ACC@1 : 70.133, ACC@5 : 84.267
100%|██████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.68it/s]
Task ID : 3, Val loss : 1.284, ACC@1 : 70.726, ACC@5 : 89.930
100%|██████████████████████████████████████████████████████| 24/24 [00:03<00:00,  6.07it/s]
Task ID : 4, Val loss : 1.564, ACC@1 : 65.104, ACC@5 : 84.028
100%|██████████████████████████████████████████████████████| 30/30 [00:04<00:00,  6.33it/s]
Task ID : 5, Val loss : 1.594, ACC@1 : 65.363, ACC@5 : 82.821
100%|██████████████████████████████████████████████████████| 24/24 [00:03<00:00,  6.19it/s]
Task ID : 6, Val loss : 1.388, ACC@1 : 70.251, ACC@5 : 87.276
100%|██████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.90it/s]
Task ID : 7, Val loss : 1.787, ACC@1 : 63.555, ACC@5 : 81.867
100%|██████████████████████████████████████████████████████| 19/19 [00:03<00:00,  5.84it/s]
Task ID : 8, Val loss : 1.598, ACC@1 : 66.517, ACC@5 : 81.798
100%|██████████████████████████████████████████████████████| 27/27 [00:04<00:00,  6.34it/s]
Task ID : 9, Val loss : 0.961, ACC@1 : 81.021, ACC@5 : 90.112
100%|██████████████████████████████████████████████████████| 29/29 [00:04<00:00,  6.38it/s]
Task ID : 10, Val loss : 1.374, ACC@1 : 70.317, ACC@5 : 87.176
--------------------------------------------------------------------------------
Task ID : 10, AVG ACC 1 : 69.053, AVG ACC 5 : 85.220
--------------------------------------------------------------------------------

Total AVG ACC 1 : 72.504
Total AVG ACC 5 : 88.810
Total : forgetting : 5.257

2. DualPrompt

How to run?

(1) If you want to full-train

CUDA_VISIBLE_DEVICES=[GPU idx] python -m torch.distributed.launch \
        --nproc_per_node=[Node num] \
        --use_env train.py \
        cifar100_dualprompt \
        --model vit_base_patch16_224 \
        --batch-size [Batch size] \

(2) If you want to evaluate

CUDA_VISIBLE_DEVICES=[GPU idx] python -m torch.distributed.launch --nproc_per_node=[Node num] --use_env train.py cifar100_l2p --checkpoint_dir checkpoint --eval

Result

(1) CIFAR100

Loading checkpoint from: ./output/checkpoint/task1_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:07<00:00,  5.84it/s]
Task ID : 1, Val loss : 0.227, ACC@1 : 97.800, ACC@5 : 100.000
--------------------------------------------------------------------------------
Task ID : 1, AVG ACC 1 : 97.800, AVG ACC 5 : 100.000
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint/task2_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.72it/s]
Task ID : 1, Val loss : 0.273, ACC@1 : 93.900, ACC@5 : 100.000
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.67it/s]
Task ID : 2, Val loss : 0.380, ACC@1 : 95.200, ACC@5 : 99.200
--------------------------------------------------------------------------------
Task ID : 2, AVG ACC 1 : 94.550, AVG ACC 5 : 99.600
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint/task3_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.67it/s]
Task ID : 1, Val loss : 0.324, ACC@1 : 91.900, ACC@5 : 99.800
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.62it/s]
Task ID : 2, Val loss : 0.436, ACC@1 : 93.200, ACC@5 : 98.700
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.67it/s]
Task ID : 3, Val loss : 0.313, ACC@1 : 93.900, ACC@5 : 99.500
--------------------------------------------------------------------------------
Task ID : 3, AVG ACC 1 : 93.000, AVG ACC 5 : 99.333
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint/task4_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.66it/s]
Task ID : 1, Val loss : 0.346, ACC@1 : 90.900, ACC@5 : 99.700
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.68it/s]
Task ID : 2, Val loss : 0.507, ACC@1 : 87.700, ACC@5 : 98.300
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.65it/s]
Task ID : 3, Val loss : 0.320, ACC@1 : 93.100, ACC@5 : 99.300
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.68it/s]
Task ID : 4, Val loss : 0.336, ACC@1 : 92.700, ACC@5 : 98.700
--------------------------------------------------------------------------------
Task ID : 4, AVG ACC 1 : 91.100, AVG ACC 5 : 99.000
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint/task5_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.67it/s]
Task ID : 1, Val loss : 0.373, ACC@1 : 90.200, ACC@5 : 99.600
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.62it/s]
Task ID : 2, Val loss : 0.568, ACC@1 : 84.500, ACC@5 : 97.900
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.63it/s]
Task ID : 3, Val loss : 0.382, ACC@1 : 90.100, ACC@5 : 99.100
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.61it/s]
Task ID : 4, Val loss : 0.379, ACC@1 : 91.800, ACC@5 : 98.100
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.64it/s]
Task ID : 5, Val loss : 0.379, ACC@1 : 90.200, ACC@5 : 98.600
--------------------------------------------------------------------------------
Task ID : 5, AVG ACC 1 : 89.360, AVG ACC 5 : 98.660
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint/task6_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.65it/s]
Task ID : 1, Val loss : 0.449, ACC@1 : 87.700, ACC@5 : 99.200
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.66it/s]
Task ID : 2, Val loss : 0.628, ACC@1 : 83.500, ACC@5 : 97.100
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.60it/s]
Task ID : 3, Val loss : 0.429, ACC@1 : 88.600, ACC@5 : 98.600
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.62it/s]
Task ID : 4, Val loss : 0.458, ACC@1 : 89.300, ACC@5 : 97.300
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.61it/s]
Task ID : 5, Val loss : 0.449, ACC@1 : 88.400, ACC@5 : 98.300
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.64it/s]
Task ID : 6, Val loss : 0.464, ACC@1 : 84.600, ACC@5 : 98.900
--------------------------------------------------------------------------------
Task ID : 6, AVG ACC 1 : 87.017, AVG ACC 5 : 98.233
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint/task7_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.65it/s]
Task ID : 1, Val loss : 0.458, ACC@1 : 88.000, ACC@5 : 99.300
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.61it/s]
Task ID : 2, Val loss : 0.664, ACC@1 : 81.800, ACC@5 : 96.800
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.62it/s]
Task ID : 3, Val loss : 0.465, ACC@1 : 87.400, ACC@5 : 98.600
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.61it/s]
Task ID : 4, Val loss : 0.478, ACC@1 : 89.200, ACC@5 : 97.000
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.60it/s]
Task ID : 5, Val loss : 0.453, ACC@1 : 88.300, ACC@5 : 98.000
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.60it/s]
Task ID : 6, Val loss : 0.463, ACC@1 : 84.200, ACC@5 : 98.800
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.58it/s]
Task ID : 7, Val loss : 0.433, ACC@1 : 88.500, ACC@5 : 98.600
--------------------------------------------------------------------------------
Task ID : 7, AVG ACC 1 : 86.771, AVG ACC 5 : 98.157
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint/task8_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.62it/s]
Task ID : 1, Val loss : 0.467, ACC@1 : 87.500, ACC@5 : 99.100
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.59it/s]
Task ID : 2, Val loss : 0.665, ACC@1 : 81.300, ACC@5 : 96.800
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.61it/s]
Task ID : 3, Val loss : 0.483, ACC@1 : 86.600, ACC@5 : 98.400
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.61it/s]
Task ID : 4, Val loss : 0.479, ACC@1 : 88.400, ACC@5 : 96.900
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.58it/s]
Task ID : 5, Val loss : 0.457, ACC@1 : 88.200, ACC@5 : 98.100
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.59it/s]
Task ID : 6, Val loss : 0.492, ACC@1 : 83.400, ACC@5 : 98.700
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.62it/s]
Task ID : 7, Val loss : 0.492, ACC@1 : 86.300, ACC@5 : 98.000
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.57it/s]
Task ID : 8, Val loss : 0.508, ACC@1 : 86.700, ACC@5 : 98.100
--------------------------------------------------------------------------------
Task ID : 8, AVG ACC 1 : 86.050, AVG ACC 5 : 98.013
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint/task9_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.61it/s]
Task ID : 1, Val loss : 0.492, ACC@1 : 87.600, ACC@5 : 98.600
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.55it/s]
Task ID : 2, Val loss : 0.708, ACC@1 : 80.200, ACC@5 : 96.500
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.62it/s]
Task ID : 3, Val loss : 0.497, ACC@1 : 87.100, ACC@5 : 98.200
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.61it/s]
Task ID : 4, Val loss : 0.510, ACC@1 : 88.100, ACC@5 : 96.500
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.57it/s]
Task ID : 5, Val loss : 0.506, ACC@1 : 87.600, ACC@5 : 97.900
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.58it/s]
Task ID : 6, Val loss : 0.512, ACC@1 : 83.000, ACC@5 : 98.800
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.60it/s]
Task ID : 7, Val loss : 0.532, ACC@1 : 86.100, ACC@5 : 97.000
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.56it/s]
Task ID : 8, Val loss : 0.529, ACC@1 : 86.000, ACC@5 : 97.900
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.56it/s]
Task ID : 9, Val loss : 0.276, ACC@1 : 92.100, ACC@5 : 99.400
--------------------------------------------------------------------------------
Task ID : 9, AVG ACC 1 : 86.422, AVG ACC 5 : 97.867
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint/task10_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.59it/s]
Task ID : 1, Val loss : 0.500, ACC@1 : 85.700, ACC@5 : 98.400
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.54it/s]
Task ID : 2, Val loss : 0.747, ACC@1 : 78.800, ACC@5 : 95.800
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.56it/s]
Task ID : 3, Val loss : 0.487, ACC@1 : 87.100, ACC@5 : 98.100
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.55it/s]
Task ID : 4, Val loss : 0.557, ACC@1 : 85.600, ACC@5 : 96.800
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.55it/s]
Task ID : 5, Val loss : 0.558, ACC@1 : 85.400, ACC@5 : 97.300
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.55it/s]
Task ID : 6, Val loss : 0.556, ACC@1 : 82.400, ACC@5 : 98.500
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.58it/s]
Task ID : 7, Val loss : 0.545, ACC@1 : 84.600, ACC@5 : 96.900
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.55it/s]
Task ID : 8, Val loss : 0.574, ACC@1 : 84.500, ACC@5 : 97.700
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.58it/s]
Task ID : 9, Val loss : 0.341, ACC@1 : 89.800, ACC@5 : 99.400
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:05<00:00,  7.60it/s]
Task ID : 10, Val loss : 0.430, ACC@1 : 87.500, ACC@5 : 98.700
--------------------------------------------------------------------------------
Task ID : 10, AVG ACC 1 : 85.140, AVG ACC 5 : 97.760
--------------------------------------------------------------------------------

Total AVG ACC 1 : 89.721
Total AVG ACC 5 : 98.662
Total : forgetting : 6.478

(2) ImageNet-R

Loading checkpoint from: ./output/checkpoint_imr/task1_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 28/28 [00:06<00:00,  4.29it/s]
Task ID : 1, Val loss : 1.345, ACC@1 : 79.538, ACC@5 : 94.154
--------------------------------------------------------------------------------
Task ID : 1, AVG ACC 1 : 79.538, AVG ACC 5 : 94.154
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task2_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.23it/s]
Task ID : 1, Val loss : 1.305, ACC@1 : 76.154, ACC@5 : 92.154
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 32/32 [00:05<00:00,  6.31it/s]
Task ID : 2, Val loss : 1.203, ACC@1 : 77.733, ACC@5 : 90.933
--------------------------------------------------------------------------------
Task ID : 2, AVG ACC 1 : 76.944, AVG ACC 5 : 91.544
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task3_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.11it/s]
Task ID : 1, Val loss : 1.332, ACC@1 : 74.462, ACC@5 : 91.077
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 32/32 [00:05<00:00,  6.32it/s]
Task ID : 2, Val loss : 1.244, ACC@1 : 76.400, ACC@5 : 90.533
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.32it/s]
Task ID : 3, Val loss : 1.078, ACC@1 : 75.176, ACC@5 : 94.145
--------------------------------------------------------------------------------
Task ID : 3, AVG ACC 1 : 75.346, AVG ACC 5 : 91.918
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task4_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.16it/s]
Task ID : 1, Val loss : 1.351, ACC@1 : 73.231, ACC@5 : 88.769
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 32/32 [00:05<00:00,  6.33it/s]
Task ID : 2, Val loss : 1.256, ACC@1 : 74.667, ACC@5 : 88.667
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.36it/s]
Task ID : 3, Val loss : 1.080, ACC@1 : 72.365, ACC@5 : 92.740
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.86it/s]
Task ID : 4, Val loss : 1.310, ACC@1 : 71.181, ACC@5 : 90.278
--------------------------------------------------------------------------------
Task ID : 4, AVG ACC 1 : 72.861, AVG ACC 5 : 90.113
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task5_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.19it/s]
Task ID : 1, Val loss : 1.349, ACC@1 : 71.538, ACC@5 : 87.846
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 32/32 [00:05<00:00,  6.33it/s]
Task ID : 2, Val loss : 1.259, ACC@1 : 74.533, ACC@5 : 87.733
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.34it/s]
Task ID : 3, Val loss : 1.154, ACC@1 : 72.131, ACC@5 : 90.632
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.86it/s]
Task ID : 4, Val loss : 1.356, ACC@1 : 69.965, ACC@5 : 88.889
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 30/30 [00:04<00:00,  6.06it/s]
Task ID : 5, Val loss : 1.392, ACC@1 : 70.251, ACC@5 : 88.408
--------------------------------------------------------------------------------
Task ID : 5, AVG ACC 1 : 71.684, AVG ACC 5 : 88.702
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task6_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.16it/s]
Task ID : 1, Val loss : 1.402, ACC@1 : 70.462, ACC@5 : 86.000
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 32/32 [00:05<00:00,  6.26it/s]
Task ID : 2, Val loss : 1.281, ACC@1 : 74.267, ACC@5 : 86.933
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.31it/s]
Task ID : 3, Val loss : 1.181, ACC@1 : 72.365, ACC@5 : 91.101
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.86it/s]
Task ID : 4, Val loss : 1.391, ACC@1 : 68.924, ACC@5 : 86.806
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 30/30 [00:04<00:00,  6.14it/s]
Task ID : 5, Val loss : 1.436, ACC@1 : 68.017, ACC@5 : 87.430
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.93it/s]
Task ID : 6, Val loss : 1.257, ACC@1 : 72.939, ACC@5 : 88.351
--------------------------------------------------------------------------------
Task ID : 6, AVG ACC 1 : 71.162, AVG ACC 5 : 87.770
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task7_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.16it/s]
Task ID : 1, Val loss : 1.461, ACC@1 : 68.154, ACC@5 : 85.231
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 32/32 [00:05<00:00,  6.34it/s]
Task ID : 2, Val loss : 1.330, ACC@1 : 72.400, ACC@5 : 86.133
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.30it/s]
Task ID : 3, Val loss : 1.224, ACC@1 : 72.131, ACC@5 : 90.867
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.90it/s]
Task ID : 4, Val loss : 1.454, ACC@1 : 67.361, ACC@5 : 87.500
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 30/30 [00:04<00:00,  6.12it/s]
Task ID : 5, Val loss : 1.517, ACC@1 : 66.061, ACC@5 : 84.637
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.97it/s]
Task ID : 6, Val loss : 1.296, ACC@1 : 73.118, ACC@5 : 88.530
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.61it/s]
Task ID : 7, Val loss : 1.617, ACC@1 : 69.838, ACC@5 : 85.278
--------------------------------------------------------------------------------
Task ID : 7, AVG ACC 1 : 69.866, AVG ACC 5 : 86.882
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task8_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.09it/s]
Task ID : 1, Val loss : 1.490, ACC@1 : 68.308, ACC@5 : 84.308
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 32/32 [00:05<00:00,  6.30it/s]
Task ID : 2, Val loss : 1.372, ACC@1 : 71.333, ACC@5 : 85.600
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.35it/s]
Task ID : 3, Val loss : 1.220, ACC@1 : 71.663, ACC@5 : 90.398
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.91it/s]
Task ID : 4, Val loss : 1.490, ACC@1 : 66.319, ACC@5 : 86.632
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 30/30 [00:04<00:00,  6.06it/s]
Task ID : 5, Val loss : 1.541, ACC@1 : 64.804, ACC@5 : 84.078
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.94it/s]
Task ID : 6, Val loss : 1.315, ACC@1 : 72.222, ACC@5 : 88.172
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.59it/s]
Task ID : 7, Val loss : 1.652, ACC@1 : 67.864, ACC@5 : 84.740
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 19/19 [00:03<00:00,  5.50it/s]
Task ID : 8, Val loss : 1.498, ACC@1 : 69.663, ACC@5 : 85.393
--------------------------------------------------------------------------------
Task ID : 8, AVG ACC 1 : 69.022, AVG ACC 5 : 86.165
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task9_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.16it/s]
Task ID : 1, Val loss : 1.525, ACC@1 : 67.231, ACC@5 : 83.538
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 32/32 [00:05<00:00,  6.31it/s]
Task ID : 2, Val loss : 1.387, ACC@1 : 71.200, ACC@5 : 84.800
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.28it/s]
Task ID : 3, Val loss : 1.254, ACC@1 : 71.897, ACC@5 : 89.930
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.88it/s]
Task ID : 4, Val loss : 1.536, ACC@1 : 65.104, ACC@5 : 85.417
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 30/30 [00:04<00:00,  6.07it/s]
Task ID : 5, Val loss : 1.602, ACC@1 : 65.084, ACC@5 : 82.682
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.92it/s]
Task ID : 6, Val loss : 1.370, ACC@1 : 72.043, ACC@5 : 87.276
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.62it/s]
Task ID : 7, Val loss : 1.725, ACC@1 : 65.530, ACC@5 : 82.585
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 19/19 [00:03<00:00,  5.55it/s]
Task ID : 8, Val loss : 1.551, ACC@1 : 67.640, ACC@5 : 83.371
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 27/27 [00:04<00:00,  6.06it/s]
Task ID : 9, Val loss : 0.948, ACC@1 : 80.383, ACC@5 : 91.069
--------------------------------------------------------------------------------
Task ID : 9, AVG ACC 1 : 69.568, AVG ACC 5 : 85.630
--------------------------------------------------------------------------------

Loading checkpoint from: ./output/checkpoint_imr/task10_checkpoint.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.12it/s]
Task ID : 1, Val loss : 1.534, ACC@1 : 67.538, ACC@5 : 82.923
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 32/32 [00:05<00:00,  6.33it/s]
Task ID : 2, Val loss : 1.393, ACC@1 : 70.133, ACC@5 : 84.267
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 18/18 [00:03<00:00,  5.38it/s]
Task ID : 3, Val loss : 1.284, ACC@1 : 70.726, ACC@5 : 89.930
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.89it/s]
Task ID : 4, Val loss : 1.564, ACC@1 : 65.104, ACC@5 : 84.028
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 30/30 [00:04<00:00,  6.07it/s]
Task ID : 5, Val loss : 1.594, ACC@1 : 65.363, ACC@5 : 82.821
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.94it/s]
Task ID : 6, Val loss : 1.388, ACC@1 : 70.251, ACC@5 : 87.276
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:04<00:00,  5.60it/s]
Task ID : 7, Val loss : 1.787, ACC@1 : 63.555, ACC@5 : 81.867
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 19/19 [00:03<00:00,  5.56it/s]
Task ID : 8, Val loss : 1.598, ACC@1 : 66.517, ACC@5 : 81.798
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 27/27 [00:04<00:00,  6.10it/s]
Task ID : 9, Val loss : 0.961, ACC@1 : 81.021, ACC@5 : 90.112
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 29/29 [00:04<00:00,  6.14it/s]
Task ID : 10, Val loss : 1.374, ACC@1 : 70.317, ACC@5 : 87.176
--------------------------------------------------------------------------------
Task ID : 10, AVG ACC 1 : 69.053, AVG ACC 5 : 85.220
--------------------------------------------------------------------------------

Total AVG ACC 1 : 72.504
Total AVG ACC 5 : 88.810
Total : forgetting : 5.424

Result

Split-CIFAR100

Name Acc@1 Forgetting
L2P 89.066 6.333
DualPrompt 89.721 6.422

ImageNet-R

Name Acc@1 Forgetting
L2P 65.630 8.385
DualPrompt 72.504 5.257

License

This project is licensed under the MIT License. See LICENSE for more details

Reference

About

Implement the Prompt-based CL milestone papers with pyotorch template style

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages