├── .gitignore ├── README.md ├── core ├── coreset │ ├── __init__.py │ ├── model_embed.py │ ├── utils.py │ └── zcore.py └── train │ ├── __init__.py │ ├── model.py │ ├── pruned_dataset.py │ ├── resnet.py │ ├── seed.py │ ├── train.py │ └── train_utils.py ├── figure └── main_figure.jpg ├── process_repeat_trials.py ├── repeat-trial-scripts ├── cifar10-score-x5.sh ├── cifar10-train-x5.sh ├── cifar100-score-x5.sh ├── cifar100-train-x5.sh ├── eurosat10-score-x5.sh ├── eurosat10-train-x5.sh ├── eurosat20-score-x5.sh ├── eurosat20-train-x5.sh ├── eurosat40-score-x5.sh ├── eurosat40-train-x5.sh ├── eurosat80-score-x5.sh ├── eurosat80-train-x5.sh ├── imagenet-score-x5.sh └── imagenet-train-x5.sh ├── results └── example │ └── eurosat10 │ ├── zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0 │ ├── p30-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p50-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p70-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p80-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p90-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ └── score.npy │ ├── zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1 │ ├── p30-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p50-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p70-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p80-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p90-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ └── score.npy │ ├── zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2 │ ├── p30-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p50-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p70-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p80-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p90-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ └── score.npy │ ├── zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3 │ ├── p30-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p50-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p70-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p80-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p90-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ └── score.npy │ ├── zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4 │ ├── p30-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p50-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p70-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p80-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ ├── p90-s51 │ │ ├── train_log.txt │ │ └── train_val_plot.png │ └── score.npy │ └── zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex │ └── results.txt ├── train_coreset_model.py ├── visualize_image_folder.py ├── visualize_model_certainty.py └── zeroshot_coreset_selection.py /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.pyc 3 | *.swp 4 | /results/* 5 | /data/* 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Zero-Shot Coreset Selection 2 | 3 | ([Brent A. Griffin](https://github.com/griffbr)\*, [Jacob Marks](https://github.com/jacobmarks), [Jason J. Corso](https://github.com/jasoncorso)) @ [Voxel51](https://voxel51.com) 4 | 5 | \* Corresponding author 6 | 7 | **Z**ero-Shot **Core**set Selection ([ZCore](https://arxiv.org/pdf/2411.15349 "ZCore Paper")) is a method of coreset selection for unlabeled data. Deep learning methods rely on massive data, resulting in substantial costs for storage, annotation, and model training. Coreset selection aims to select a subset of the data to train models with lower cost while ideally performing on par with the full data training. Although the majority of real-world data are unlabeled, previous state-of-the-art coreset methods cannot select data that are unlabeled. As a solution, ZCore addresses the problem of coreset selection without labels _or_ training on candidate data. Instead, ZCore uses existing foundation models to generate a zero-shot embedding space for unlabeled data, then quantifies the relative importance of each example based on overall coverage and redundancy within the embedding distribution. On ImageNet, the ZCore coreset achieves a higher accuracy than previous label-based coresets at a 90% prune rate, while removing annotation requirements for 1.15 million images. 8 | 9 | __Zero-Shot Coreset Selection Overview__ 10 | ![alt text](./figure/main_figure.jpg?raw=true "ZCore Overview") 11 | 12 | ## Using ZCore 13 | We provide example ZCore commands for coreset selection and subsequent model training for the EuroSAT10 dataset from our paper. See instructions in **Repeat Trials** to repeat experiment trials and **Dataset Setup** for full ImageNet, CIFAR, or EuroSAT setup. 14 | 15 | Step 1. **Dataset**. [Download](https://www.dropbox.com/scl/fo/1mhwsunssr6g2v1wio0vq/AEI2cx3aZ2vWvFmSLDfUHtQ?rlkey=kbxo4uae43tnzvk6k7x5hk28u&st=8tkh3oyl&dl=0 "EuroSAT split download") and unzip ``eurosat10.zip`` in ``./data``. 16 | 17 | Step 2. **Zero-Shot Coreset Selection** 18 | ```bash 19 | python zeroshot_coreset_selection.py --dataset eurosat10 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 20 | ``` 21 | [FiftyOne](https://github.com/voxel51/fiftyone) dependency to generate embeddings (``pip install fiftyone``). 22 | 23 | Step 3. **Train Coreset Model** 24 | ```bash 25 | python train_coreset_model.py --prune_rate 0.7 --dataset eurosat10 --data_dir ./data --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 26 | ``` 27 | 28 | ## Repeat Trials 29 | We provide examples scripts to repeat ZCore experiments over multiple trials in `./repeat-trial-scripts`. 30 | 31 | Repeat **ZCore Selections** for EuroSAT10 32 | ```bash 33 | chmod +x ./repeat-trial-scripts/eurosat10-score-x5.sh 34 | ./repeat-trial-scripts/eurosat10-score-x5.sh 35 | ``` 36 | 37 | Repeat **Coreset Model Training** for EuroSAT10 38 | ```bash 39 | chmod +x ./repeat-trial-scripts/eurosat10-train-x5.sh 40 | ./repeat-trial-scripts/eurosat10-train-x5.sh 41 | ``` 42 | 43 | We provide example repeat trial results in `./results/example/eurosat10`. To tabulate these repeat trials run: 44 | ```bash 45 | python process_repeat_trials.py --base_score_dir ./results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex 46 | ``` 47 | to generate the following table: 48 | ``` 49 | Setting p30-s51 p50-s51 p70-s51 p80-s51 p90-s51 50 | 51 | Trial Results 52 | 0 93.80 91.93 86.10 80.98 63.63 53 | 1 93.39 91.26 85.74 78.88 65.58 54 | 2 93.63 91.21 87.91 79.84 66.70 55 | 3 93.90 92.38 86.91 79.86 65.16 56 | 4 94.06 92.26 86.47 80.20 67.75 57 | 58 | Aggregate Results 59 | Mean 93.76 91.81 86.63 79.95 65.76 60 | StdDev 0.230 0.491 0.750 0.677 1.398 61 | Overall Mean: 83.58 62 | ``` 63 | 64 | ## Datasets 65 | 66 | **ImageNet** can be downloaded [here](https://www.kaggle.com/c/imagenet-object-localization-challenge/data "ImageNet download") and subsequently reformatted using: 67 | ```bash 68 | cd ./ILSVRC/Data/CLS-LOC/val/ 69 | wget -qO- https://raw.githubusercontent.com/soumith/imagenetloader.torch/master/valprep.sh | bash 70 | ``` 71 | 72 | **CIFAR10** and **CIFAR100** can be downloaded [here](https://www.cs.toronto.edu/~kriz/cifar.html "CIFAR download"). 73 | 74 | **EuroSAT80**, **EuroSAT40**, **EuroSAT20**, and **EuroSAT10** can be downloaded [here](https://www.dropbox.com/scl/fo/1mhwsunssr6g2v1wio0vq/AEI2cx3aZ2vWvFmSLDfUHtQ?rlkey=kbxo4uae43tnzvk6k7x5hk28u&st=8tkh3oyl&dl=0 "EuroSAT split download"). 75 | 76 | ## Citation 77 | 78 | If you find this code useful, please consider citing our [paper](https://arxiv.org/pdf/2411.15349): 79 | 80 | ```bibtex 81 | @article{griffin24zcore, 82 | title={Zero-Shot Coreset Selection: Efficient Pruning for Unlabeled Data}, 83 | author={Griffin, Brent A and Marks, Jacob and Corso, Jason J}, 84 | journal={arXiv preprint arXiv:2411.15349}, 85 | year={2024} 86 | } 87 | ``` 88 | 89 | You may also want to check out our open-source toolkit, [FiftyOne](https://voxel51.com/fiftyone), which provides a powerful interface for exploring, analyzing, and visualizing datasets for computer vision and machine learning. 90 | -------------------------------------------------------------------------------- /core/coreset/__init__.py: -------------------------------------------------------------------------------- 1 | from .zcore import * 2 | from .model_embed import * 3 | from .utils import * 4 | -------------------------------------------------------------------------------- /core/coreset/model_embed.py: -------------------------------------------------------------------------------- 1 | import fiftyone as fo 2 | import fiftyone.zoo as foz 3 | import numpy as np 4 | import os 5 | import pickle 6 | 7 | def load_fo_dataset(args): 8 | 9 | if "cifar" in args.dataset: 10 | dataset = foz.load_zoo_dataset(args.dataset, split="train") 11 | else: 12 | 13 | if args.dataset == "imagenet": 14 | path = os.path.join(args.data_dir, "imagenet", "ILSVRC", "Data", 15 | "CLS-LOC", "train") 16 | elif "eurosat" in args.dataset: 17 | path = os.path.join(args.data_dir, args.dataset, "train") 18 | else: 19 | raise ValueError(f"{args.dataset} not recognized.") 20 | 21 | dataset = fo.Dataset.from_dir( 22 | path, 23 | dataset_type=fo.types.ImageClassificationDirectoryTree 24 | ) 25 | 26 | return dataset 27 | 28 | def load_fo_model(args, model_name): 29 | 30 | if model_name == "clip": 31 | model = foz.load_zoo_model("open-clip-torch", 32 | clip_model="ViT-L-14", 33 | pretrained="openai", 34 | ) 35 | elif model_name == "resnet18": 36 | model = foz.load_zoo_model("resnet18-imagenet-torch") 37 | elif model_name == "dinov2": 38 | model = foz.load_zoo_model("dinov2-vitb14-torch") 39 | else: model = foz.load_zoo_model(model_name) 40 | 41 | return model 42 | 43 | def generate_embedding(args, model_name, embed_file): 44 | 45 | dataset = load_fo_dataset(args) 46 | model = load_fo_model(args, model_name) 47 | 48 | print(f"Generating {args.dataset}-{model_name} embeddings.") 49 | model_embed = dataset.compute_embeddings(model) 50 | os.makedirs(os.path.dirname(embed_file), exist_ok=True) 51 | pickle.dump(model_embed, open(embed_file, "wb")) 52 | print(f"Model embeddings saved at {embed_file}.") 53 | 54 | return model_embed 55 | 56 | def get_model_embedding(args): 57 | 58 | embed_dir = os.path.join(args.data_dir, "preprocess", args.dataset) 59 | 60 | for model_name in args.embedding: 61 | 62 | embed_file = os.path.join(embed_dir, f"{model_name}_embedding.pk") 63 | if os.path.exists(embed_file): 64 | model_embed = pickle.load(open(embed_file, "rb")) 65 | else: 66 | model_embed = generate_embedding(args, model_name, embed_file) 67 | 68 | if "total_embed" in locals(): 69 | total_embed = np.concatenate((total_embed, model_embed), axis=1) 70 | else: total_embed = model_embed 71 | 72 | return total_embed 73 | -------------------------------------------------------------------------------- /core/coreset/utils.py: -------------------------------------------------------------------------------- 1 | import glob 2 | import numpy as np 3 | import os 4 | 5 | def experiment_name(args): 6 | 7 | exp_name = "zcore" 8 | exp_name += f"-{args.dataset}" 9 | for m in args.embedding: exp_name += f"-{m}" 10 | exp_name += f"-{int(args.n_sample/1000)}Ks" 11 | exp_name += f"-{args.sample_dim}sd" 12 | if args.rand_init: exp_name += "-ri" 13 | exp_name += f"-{args.redund_nn}nn" 14 | exp_name += f"-{args.redund_exp}ex" 15 | exp_name += f"-{args.trial}" 16 | 17 | exp_file = os.path.join(args.results_dir, 18 | args.dataset, 19 | exp_name, 20 | "score.npy" 21 | ) 22 | os.makedirs(os.path.dirname(exp_file), exist_ok=True) 23 | 24 | return exp_name, exp_file 25 | 26 | def get_trial_list(base_score_dir): 27 | trial_folders = sorted(glob.glob(base_score_dir + "-*")) 28 | trials = [f.split(base_score_dir + "-")[-1] for f in trial_folders] 29 | return trial_folders, trials 30 | 31 | def collect_log_data(trial_folders, trials): 32 | 33 | exp_data = {} 34 | set_types = [] 35 | 36 | for i, t in enumerate(trials): 37 | 38 | log_folders = sorted(glob.glob(os.path.join(trial_folders[i],"p*"))) 39 | logs = [os.path.join(f,"train_log.txt") for f in log_folders] 40 | acc = [log_validation_accuracy(l) for l in logs] 41 | 42 | set_names = [os.path.basename(f) for f in log_folders] 43 | exp_data[t] = {} 44 | for j, s in enumerate(set_names): 45 | exp_data[t][s] = acc[j] 46 | 47 | set_types = sorted(list(set(set_types) | set(set_names))) 48 | 49 | return exp_data, set_types 50 | 51 | def log_validation_accuracy(file_name): 52 | try: 53 | lines = read_text_file(file_name) 54 | acc = float(lines[-1].split("Accuracy=")[-1].split(", Error=")[0]) 55 | except: 56 | print(f"{file_name} incomplete.") 57 | acc = "NA" 58 | return acc 59 | 60 | def make_experiment_log_table(args, trials, exp_data, set_types): 61 | 62 | heading = f"Score: {args.base_score_dir}\n{'Setting' : <8}" 63 | all_results = {} 64 | for s in set_types: 65 | heading += f"{s : <8}" 66 | all_results[s] = [] 67 | print_statements(args.save_file, heading, make_dir=True) 68 | 69 | print_statements(args.save_file, "\nTrial Results") 70 | for t in trials: 71 | result = f"{t : <8}" 72 | for s in set_types: 73 | try: 74 | r = exp_data[t][s] 75 | result += f"{r : <8.2f}" 76 | all_results[s].append(r) 77 | except: 78 | result += f"{'NA' : <8}" 79 | 80 | print_statements(args.save_file, result) 81 | 82 | print_statements(args.save_file, "\nAggregate Results") 83 | mean_result = f"{'Mean' : <8}" 84 | stddev_result = f"{'StdDev' : <8}" 85 | overall_mean = [] 86 | for s in set_types: 87 | overall_mean.append(np.mean(all_results[s])) 88 | mean_result += f"{overall_mean[-1] : <8.2f}" 89 | stddev_result += f"{np.std(all_results[s]) : <8.3f}" 90 | print_statements(args.save_file, mean_result) 91 | print_statements(args.save_file, stddev_result) 92 | print_statements(args.save_file, 93 | f"Overall Mean: {np.mean(overall_mean) : <8.2f}\n") 94 | 95 | print(f"\nProcessed log table saved at {args.save_file}") 96 | 97 | def read_text_file(file_name, remove_return=True): 98 | with open(file_name, "r") as f: 99 | lines = f.readlines() 100 | if remove_return: 101 | lines = [l.split("\n")[0] for l in lines] 102 | return lines 103 | 104 | def print_statements(file_name, statements, add_return=True, make_dir=False): 105 | 106 | if isinstance(statements, str): 107 | statements = [statements] 108 | if make_dir: 109 | os.makedirs(os.path.dirname(file_name), exist_ok=True) 110 | output_file = open(file_name, "a") 111 | 112 | for statement in statements: 113 | print(statement) 114 | if add_return: 115 | statement = f"{str(statement)}\n" 116 | output_file.write(statement) 117 | 118 | output_file.close() 119 | -------------------------------------------------------------------------------- /core/coreset/zcore.py: -------------------------------------------------------------------------------- 1 | import multiprocessing 2 | import numpy as np 3 | 4 | def zcore_score(args, embeddings_): 5 | 6 | print(f"Generating ZCore Selections for {args.dataset}") 7 | embed_info = embedding_preprocess(embeddings_) 8 | 9 | # Parallel sample and score. 10 | n_parallel_sample = int(args.n_sample / args.num_workers) 11 | parallel_input = [(args, embed_info, n_parallel_sample, n) 12 | for n in range(args.num_workers)] 13 | pool = multiprocessing.Pool(args.num_workers, initializer=init_worker, 14 | initargs=(embeddings_,)) 15 | parallel_scores = pool.starmap(sample_score, parallel_input) 16 | pool.close 17 | 18 | # Postprocess. 19 | if args.rand_init: 20 | scores = np.random.uniform(0, 1, embed_info["n"]) 21 | for s in parallel_scores: scores += s 22 | else: scores = np.sum(parallel_scores, axis=0) 23 | score_min = np.min(scores) 24 | scores = (scores - score_min) / (np.max(scores) - score_min) 25 | 26 | return scores.astype(np.float32) 27 | 28 | def sample_score(args, embed_info, n_sample, n=0): 29 | 30 | scores = np.zeros(embed_info["n"]) 31 | 32 | for i in range(n_sample): 33 | 34 | if i % 10000 == 0: 35 | print(f"ZCore [{args.dataset}, trial {args.trial}, pool {n}: "\ 36 | f"{i}/{n_sample}]") 37 | 38 | # Random embedding dimension. 39 | dim = np.random.choice(embed_info["n_dim"], args.sample_dim, 40 | replace=False) 41 | 42 | # Coverage score. 43 | sample = np.random.triangular( 44 | embed_info["min"][dim], 45 | embed_info["med"][dim], 46 | embed_info["max"][dim] 47 | ) 48 | embed_dist = np.sum(abs(embeddings[:, dim] - sample), axis=1) 49 | idx = np.argmin(embed_dist) 50 | scores[idx] += 1 51 | 52 | # Redundancy score. 53 | cover_sample = embeddings[idx, dim] 54 | nn_dist = np.sum(abs(embeddings[:, dim] - cover_sample), axis=1) 55 | nn = np.argsort(nn_dist)[1:] 56 | if nn_dist[nn[0]] == 0: 57 | scores[nn[0]] -= 1 58 | else: 59 | nn = nn[:args.redund_nn] 60 | dist_penalty = 1 / (nn_dist[nn] ** args.redund_exp) 61 | dist_penalty /= sum(dist_penalty) 62 | scores[nn] -= dist_penalty 63 | 64 | return scores 65 | 66 | def embedding_preprocess(embeddings): 67 | embed_info = { 68 | "n": len(embeddings), 69 | "n_dim": len(embeddings[0]), 70 | "min": np.min(embeddings, axis=0), 71 | "max": np.max(embeddings, axis=0), 72 | "med": np.median(embeddings, axis=0) 73 | } 74 | return embed_info 75 | 76 | def init_worker(embeddings_): 77 | # Parallelize embeddings across pool workers to reduce memory footprint. 78 | global embeddings 79 | embeddings = embeddings_ 80 | -------------------------------------------------------------------------------- /core/train/__init__.py: -------------------------------------------------------------------------------- 1 | from .model import * 2 | from .pruned_dataset import * 3 | from .seed import * 4 | from .train import * 5 | -------------------------------------------------------------------------------- /core/train/model.py: -------------------------------------------------------------------------------- 1 | import torchvision 2 | from .resnet import resnet 3 | 4 | def load_model(args, n_classes): 5 | 6 | if args.architecture == "resnet18": 7 | model = resnet("resnet18", num_classes=n_classes) 8 | 9 | elif args.architecture == "resnet34": 10 | model = torchvision.models.resnet34(pretrained=False, progress=True) 11 | 12 | else: 13 | raise ValueError(f"{args.architecture} not recognized.") 14 | 15 | return model 16 | -------------------------------------------------------------------------------- /core/train/pruned_dataset.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import os 3 | import torch 4 | import torchvision.transforms as transforms 5 | import torchvision.datasets as datasets 6 | 7 | def load_coreset_dataset(args): 8 | print(f"Loading {args.prune_rate} pruned {args.dataset}.") 9 | 10 | # Load dataset. 11 | if "cifar" in args.dataset: train_data, test_data = load_cifar(args) 12 | elif args.dataset == "imagenet": train_data, test_data = load_imagenet(args) 13 | elif "eurosat" in args.dataset: train_data, test_data = load_eurosat(args) 14 | else: raise ValueError(f"{args.dataset} not recognized.") 15 | 16 | # Prune dataset. 17 | score = np.load(args.score_file) 18 | 19 | """ 20 | # Convert for TDDS format score and mask. 21 | score_alt = (score - min(score)) / (max(score) - min(score)) 22 | data_mask = np.load(args.score_file.replace("score.npy", "data_mask.npy")) 23 | score = np.zeros(n).astype(np.float32) 24 | for i in range(n): score[i] = score_alt[np.where(data_mask == i)] 25 | """ 26 | 27 | if "cifar" in args.dataset: 28 | train_data.targets = [[t, score[i]] 29 | for i, t in enumerate(train_data.targets)] 30 | else: 31 | train_data.samples = [(s[0], [s[1], score[i]]) 32 | for i, s in enumerate(train_data.samples)] 33 | coreset_mask = np.argsort(score)[int(args.prune_rate * len(train_data)):] 34 | coreset = torch.utils.data.Subset(train_data, coreset_mask) 35 | 36 | # Dataset loaders. 37 | train_loader = torch.utils.data.DataLoader( 38 | coreset, 39 | batch_size=args.batch_size, 40 | num_workers=args.num_workers, 41 | shuffle=True, 42 | pin_memory=True 43 | ) 44 | test_loader = torch.utils.data.DataLoader( 45 | test_data, 46 | batch_size=args.batch_size, 47 | num_workers=args.num_workers, 48 | shuffle=False, 49 | pin_memory=True 50 | ) 51 | 52 | return train_loader, test_loader 53 | 54 | def load_imagenet(args): 55 | 56 | mean = [0.485, 0.456, 0.406] 57 | std = [0.229, 0.224, 0.225] 58 | 59 | train_transform = transforms.Compose([ 60 | transforms.RandomResizedCrop(224), 61 | transforms.RandomHorizontalFlip(), 62 | transforms.ToTensor(), 63 | transforms.Normalize(mean, std), 64 | ]) 65 | test_transform = transforms.Compose([ 66 | transforms.Resize(256), 67 | transforms.CenterCrop(224), 68 | transforms.ToTensor(), 69 | transforms.Normalize(mean, std), 70 | ]) 71 | 72 | path = os.path.join(args.data_dir, args.dataset, "ILSVRC", "Data", "CLS-LOC") 73 | train_data = datasets.ImageFolder(os.path.join(path, "train"), train_transform) 74 | test_data = datasets.ImageFolder(os.path.join(path, "val"), test_transform) 75 | 76 | return train_data, test_data 77 | 78 | def load_eurosat(args): 79 | 80 | mean = [0.485, 0.456, 0.406] 81 | std = [0.229, 0.224, 0.225] 82 | 83 | # https://github.com/Rumeysakeskin/EuroSat-Satellite-CNN-and-ResNet 84 | train_transform = transforms.Compose([ 85 | transforms.RandomHorizontalFlip(), 86 | transforms.RandomCrop(64, padding=8), 87 | transforms.ToTensor(), 88 | transforms.Normalize(mean, std) 89 | ]) 90 | test_transform = transforms.Compose([ 91 | transforms.ToTensor(), 92 | transforms.Normalize(mean, std) 93 | ]) 94 | 95 | path = os.path.join(args.data_dir, args.dataset) 96 | train_data = datasets.ImageFolder(os.path.join(path,"train"), train_transform) 97 | test_data = datasets.ImageFolder(os.path.join(path,"val"), test_transform) 98 | 99 | return train_data, test_data 100 | 101 | def load_cifar(args): 102 | 103 | if args.dataset == "cifar10": 104 | mean = [0.4913725490196078, 0.4823529411764706, 0.4466666666666667] 105 | std = [0.24705882352941178, 0.24352941176470588, 0.2615686274509804] 106 | elif args.dataset == "cifar100": 107 | mean = [0.5070588235294118, 0.48666666666666664, 0.4407843137254902] 108 | std = [0.26745098039215687, 0.2564705882352941, 0.27607843137254906] 109 | 110 | train_transform = transforms.Compose([ 111 | transforms.RandomHorizontalFlip(), 112 | transforms.RandomCrop(32, padding=4), 113 | transforms.ToTensor(), 114 | transforms.Normalize(mean, std) 115 | ]) 116 | test_transform = transforms.Compose([transforms.ToTensor(), 117 | transforms.Normalize(mean, std)]) 118 | 119 | if args.dataset == "cifar10": 120 | train_data = datasets.CIFAR10(args.data_dir, train=True, 121 | transform=train_transform) 122 | test_data = datasets.CIFAR10(args.data_dir, train=False, 123 | transform=test_transform) 124 | elif args.dataset == "cifar100": 125 | train_data = datasets.CIFAR100(args.data_dir, train=True, 126 | transform=train_transform) 127 | test_data = datasets.CIFAR100(args.data_dir, train=False, 128 | transform=test_transform) 129 | 130 | return train_data, test_data 131 | -------------------------------------------------------------------------------- /core/train/resnet.py: -------------------------------------------------------------------------------- 1 | import math 2 | import torch.nn as nn 3 | 4 | # Based on https://github.com/zhangxin-xd/Dataset-Pruning-TDDS/blob/main/models/resnet.py 5 | 6 | def conv3x3(in_planes, out_planes, stride=1): 7 | "3x3 convolution with padding" 8 | return nn.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride, 9 | padding=1, bias=False) 10 | 11 | 12 | class BasicBlock(nn.Module): 13 | expansion = 1 14 | 15 | def __init__(self, inplanes, planes, stride=1, downsample=None): 16 | super(BasicBlock, self).__init__() 17 | self.conv1 = conv3x3(inplanes, planes, stride) 18 | self.bn1 = nn.BatchNorm2d(planes) 19 | self.relu = nn.ReLU(inplace=True) 20 | self.conv2 = conv3x3(planes, planes) 21 | self.bn2 = nn.BatchNorm2d(planes) 22 | self.downsample = downsample 23 | self.stride = stride 24 | 25 | def forward(self, x): 26 | residual = x 27 | 28 | out = self.conv1(x) 29 | out = self.bn1(out) 30 | out = self.relu(out) 31 | 32 | out = self.conv2(out) 33 | out = self.bn2(out) 34 | 35 | if self.downsample is not None: 36 | residual = self.downsample(x) 37 | 38 | out += residual 39 | out = self.relu(out) 40 | 41 | return out 42 | 43 | 44 | class Bottleneck(nn.Module): 45 | expansion = 4 46 | 47 | def __init__(self, inplanes, planes, stride=1, downsample=None): 48 | super(Bottleneck, self).__init__() 49 | self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=1, bias=False) 50 | self.bn1 = nn.BatchNorm2d(planes) 51 | self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=stride, 52 | padding=1, bias=False) 53 | self.bn2 = nn.BatchNorm2d(planes) 54 | self.conv3 = nn.Conv2d(planes, planes * 4, kernel_size=1, bias=False) 55 | self.bn3 = nn.BatchNorm2d(planes * 4) 56 | self.relu = nn.ReLU(inplace=True) 57 | # self.relu = nn.ReLU(inplace=False) 58 | 59 | self.downsample = downsample 60 | self.stride = stride 61 | 62 | def forward(self, x): 63 | residual = x 64 | 65 | out = self.conv1(x) 66 | out = self.bn1(out) 67 | out = self.relu(out) 68 | 69 | out = self.conv2(out) 70 | out = self.bn2(out) 71 | out = self.relu(out) 72 | 73 | out = self.conv3(out) 74 | out = self.bn3(out) 75 | 76 | if self.downsample is not None: 77 | residual = self.downsample(x) 78 | 79 | out += residual 80 | out = self.relu(out) 81 | return out 82 | 83 | 84 | class ResNet(nn.Module): 85 | 86 | def __init__(self, block, layers, num_classes=10): 87 | self.inplanes = 64 88 | super(ResNet, self).__init__() 89 | # self.conv1 = nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3, 90 | # bias=False) 91 | self.conv1 = nn.Conv2d(3, 64, kernel_size=3, stride=1, padding='same', 92 | bias=False) 93 | self.bn1 = nn.BatchNorm2d(64) 94 | self.relu = nn.ReLU(inplace=True) 95 | # self.maxpool = nn.MaxPool2d(kernel_size=1, stride=1, padding=1) 96 | self.layer1 = self._make_layer(block, 64, layers[0]) 97 | self.layer2 = self._make_layer(block, 128, layers[1], stride=2) 98 | self.layer3 = self._make_layer(block, 256, layers[2], stride=2) 99 | self.layer4 = self._make_layer(block, 512, layers[3], stride=2) 100 | self.avgpool = nn.AdaptiveAvgPool2d((1,1)) 101 | self.fc = nn.Linear(512 * block.expansion, num_classes) 102 | 103 | for m in self.modules(): 104 | if isinstance(m, nn.Conv2d): 105 | n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels 106 | m.weight.data.normal_(0, math.sqrt(2. / n)) 107 | elif isinstance(m, nn.BatchNorm2d): 108 | m.weight.data.fill_(1) 109 | m.bias.data.zero_() 110 | 111 | def _make_layer(self, block, planes, blocks, stride=1): 112 | downsample = None 113 | if stride != 1 or self.inplanes != planes * block.expansion: 114 | downsample = nn.Sequential( 115 | nn.Conv2d(self.inplanes, planes * block.expansion, 116 | kernel_size=1, stride=stride, bias=False), 117 | nn.BatchNorm2d(planes * block.expansion), 118 | ) 119 | 120 | layers = [] 121 | layers.append(block(self.inplanes, planes, stride, downsample)) 122 | self.inplanes = planes * block.expansion 123 | for i in range(1, blocks): 124 | layers.append(block(self.inplanes, planes)) 125 | 126 | return nn.Sequential(*layers) 127 | 128 | def forward(self, x): 129 | x = self.conv1(x) 130 | x = self.bn1(x) 131 | x = self.relu(x) 132 | # x = self.maxpool(x) 133 | 134 | x = self.layer1(x) 135 | x = self.layer2(x) 136 | x = self.layer3(x) 137 | x = self.layer4(x) 138 | 139 | x = self.avgpool(x) 140 | x = x.view(x.size(0), -1) 141 | x = self.fc(x) 142 | 143 | return x 144 | 145 | def resnet(name, num_classes=10): 146 | """ 147 | Returns suitable Resnet model from its name. 148 | Arguments: 149 | name (str): name of resnet architecture. 150 | num_classes (int): number of target classes. 151 | Returns: 152 | torch.nn.Module. 153 | """ 154 | if name == 'resnet18': 155 | return ResNet(BasicBlock, [2, 2, 2, 2], num_classes=num_classes) 156 | elif name == 'resnet34': 157 | return ResNet(BasicBlock, [3, 4, 6, 3], num_classes=num_classes) 158 | elif name == 'resnet50': 159 | return ResNet(Bottleneck, [3, 4, 6, 3], num_classes=num_classes) 160 | elif name == 'resnet101': 161 | return ResNet(Bottleneck, [3, 4, 23, 3], num_classes=num_classes) 162 | 163 | raise ValueError('Only resnet18, resnet34 are supported!') 164 | return 165 | -------------------------------------------------------------------------------- /core/train/seed.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import os 3 | import random 4 | import torch 5 | 6 | def seed_everything(seed): 7 | random.seed(seed) 8 | np.random.seed(seed) 9 | torch.manual_seed(seed) 10 | torch.cuda.manual_seed_all(seed) 11 | torch.backends.cudnn.benchmark = True 12 | #os.environ['PYTHONHASHSEED'] = str(seed) 13 | #torch.backends.cudnn.determinisitc = True 14 | -------------------------------------------------------------------------------- /core/train/train.py: -------------------------------------------------------------------------------- 1 | import IPython 2 | import math 3 | import os 4 | import random 5 | import sys 6 | import time 7 | import torch 8 | from .train_utils import * 9 | 10 | # Based on https://github.com/zhangxin-xd/Dataset-Pruning-TDDS/blob/main/train_subset.py 11 | 12 | def train_coreset_model(args, model, train_loader, test_loader): 13 | 14 | # Log setup. 15 | if args.results_dir == None: 16 | args.results_dir = os.path.join( 17 | os.path.dirname(args.score_file), 18 | f"p{int(args.prune_rate*100)}-s{args.manual_seed}", 19 | ) 20 | if not os.path.isdir(args.results_dir): os.makedirs(args.results_dir) 21 | log = open(os.path.join(args.results_dir, "train_log.txt"), 'w') 22 | state = {k: v for k, v in args._get_kwargs()} 23 | print_log(f"Train settings : {state}", log) 24 | print_log(f"Train model :\n{model}", log) 25 | print_log(f"python version : {sys.version.replace(chr(10), ' ')}", log) 26 | print_log(f"torch version : {torch.__version__}", log) 27 | print_log(f"cudnn version : {torch.backends.cudnn.version()}", log) 28 | 29 | # Model setup. 30 | model = torch.nn.DataParallel(model, device_ids=[args.device]) 31 | model.to(args.device) 32 | 33 | # Train setup. 34 | optimizer = torch.optim.SGD( 35 | model.parameters(), 36 | state['learning_rate'], 37 | momentum=state['momentum'], 38 | weight_decay=state['decay'], 39 | nesterov=True 40 | ) 41 | scheduler = torch.optim.lr_scheduler.CosineAnnealingLR( 42 | optimizer = optimizer, 43 | T_max = args.epochs * len(train_loader) 44 | ) 45 | criterion = torch.nn.CrossEntropyLoss() 46 | criterion.to(args.device) 47 | recorder = RecorderMeter(args) 48 | epoch_time = AverageMeter() 49 | 50 | # Train loop. 51 | for epoch in range(args.epochs): 52 | tic = time.time() 53 | epoch_header(args, scheduler, recorder, epoch_time, epoch, log) 54 | 55 | # Train and validation. 56 | train_acc, train_loss = train(args, model, train_loader, optimizer, 57 | scheduler, criterion, epoch, log) 58 | val_acc, val_loss = validate(args, model, test_loader, criterion, log) 59 | 60 | # Update checkpoint and log. 61 | is_best = recorder.update(epoch, train_acc, train_loss, val_acc, 62 | val_loss) 63 | save_checkpoint(args, epoch, model, recorder, optimizer, is_best) 64 | recorder.plot_curve() 65 | epoch_time.update(time.time() - tic) 66 | 67 | epoch_header(args, scheduler, recorder, epoch_time, epoch+1, log) 68 | log.close() 69 | print(f"\nModel training on coreset complete. Log saved at {args.results_dir}") 70 | 71 | def epoch_header(args, scheduler, recorder, epoch_time, epoch, log): 72 | current_lr = scheduler.get_last_lr()[0] 73 | hours, mins, secs = secs2time(epoch_time.avg * (args.epochs - epoch)) 74 | print_log( 75 | f"\n{time_string():s} [Epoch={epoch:03d}/{args.epochs:03d}] "\ 76 | f"[Need : {hours:02d}:{mins:02d}:{secs:02d}] [learning_rate="\ 77 | f"{scheduler.get_last_lr()[0]:6.4f}] [Best : Accuracy="\ 78 | f"{recorder.max_accuracy(False):.2f}, Error="\ 79 | f"{(100-recorder.max_accuracy(False)):.2f}]", log 80 | ) 81 | 82 | def train(args, model, train_loader, optimizer, scheduler, criterion, epoch, log): 83 | 84 | batch_time = AverageMeter() 85 | data_time = AverageMeter() 86 | losses = AverageMeter() 87 | top1 = AverageMeter() 88 | top5 = AverageMeter() 89 | 90 | model.train() 91 | for t, (model_input, target) in enumerate(train_loader): 92 | tic = time.time() 93 | 94 | x = torch.autograd.Variable(model_input.to(args.device)) 95 | y = torch.autograd.Variable(target[0].to(args.device)) 96 | w = target[1].to(args.device) 97 | 98 | output = model(x) 99 | loss = criterion(output, y) * torch.mean(w) 100 | optimizer.zero_grad() 101 | loss.backward() 102 | optimizer.step() 103 | scheduler.step() 104 | 105 | prec1, prec5 = topk_accuracy(output.data, y, topk=(1, 5)) 106 | losses.update(loss.item(), len(y)) 107 | top1.update(prec1.item(), len(y)) 108 | top5.update(prec5.item(), len(y)) 109 | 110 | batch_time.update(time.time() - tic) 111 | if t % args.print_freq == 0: 112 | print_log(f" Epoch: [{epoch:03d}][{t:03d}/{args.batch_size:03d}] "\ 113 | f"Time {batch_time.val:.3f} ({batch_time.avg:.3f}) "\ 114 | f"Data {data_time.val:.3f} ({data_time.avg:.3f}) "\ 115 | f"Loss {losses.val:.4f} ({losses.avg:.4f}) "\ 116 | f"Prec@1 {top1.val:.3f} ({top1.avg:.3f}) "\ 117 | f"Prec@5 {top5.val:.3f} ({top5.avg:.3f}) "\ 118 | f"{time_string()}", log 119 | ) 120 | 121 | print_log(f" Train Prec@1 {top1.avg:.3f} Prec@5 {top5.avg:.3f} Error@1 "\ 122 | f"{(100-top1.avg):.3f}", log) 123 | 124 | return top1.avg, losses.avg 125 | 126 | def validate(args, model, test_loader, criterion, log): 127 | 128 | losses = AverageMeter() 129 | top1 = AverageMeter() 130 | top5 = AverageMeter() 131 | 132 | model.eval() 133 | with torch.no_grad(): 134 | for i, (model_input, target) in enumerate(test_loader): 135 | x = model_input.to(args.device) 136 | y = target.to(args.device) 137 | 138 | output = model(x) 139 | loss = criterion(output, y) 140 | 141 | prec1, prec5 = topk_accuracy(output.data, y, topk=(1, 5)) 142 | losses.update(loss.item(), len(y)) 143 | top1.update(prec1.item(), len(y)) 144 | top5.update(prec5.item(), len(y)) 145 | 146 | print_log(f" Test Prec@1 {top1.avg:.3f} Prec@5 {top5.avg:.3f} Error@1 "\ 147 | f"{(100-top1.avg):.3f}", log) 148 | 149 | return top1.avg, losses.avg 150 | -------------------------------------------------------------------------------- /core/train/train_utils.py: -------------------------------------------------------------------------------- 1 | import matplotlib.pyplot as plt 2 | import numpy as np 3 | import os 4 | import shutil 5 | import time 6 | import torch 7 | 8 | # Based on https://github.com/zhangxin-xd/Dataset-Pruning-TDDS/blob/main/utils.py 9 | 10 | def print_log(print_string, log): 11 | print(f"{print_string}") 12 | log.write(f"{print_string}\n") 13 | log.flush() 14 | 15 | class RecorderMeter(object): 16 | """Computes and stores the minimum loss value and its epoch index""" 17 | def __init__(self, args): 18 | self.reset(args.epochs) 19 | self.title = f"Loss/Accuracy for {args.dataset} "\ 20 | f"p{int(args.prune_rate*100)} Train/Val" 21 | self.figure_file = os.path.join(args.results_dir, "train_val_plot.png") 22 | 23 | def reset(self, total_epoch): 24 | assert total_epoch > 0 25 | self.total_epoch = total_epoch 26 | self.current_epoch = 0 27 | self.epoch_losses = np.zeros((self.total_epoch, 2), dtype=np.float32) # [epoch, train/val] 28 | self.epoch_losses = self.epoch_losses - 1 29 | 30 | self.epoch_accuracy= np.zeros((self.total_epoch, 2), dtype=np.float32) # [epoch, train/val] 31 | self.epoch_accuracy= self.epoch_accuracy 32 | 33 | def update(self, idx, train_acc, train_loss, val_acc, val_loss): 34 | assert idx >= 0 and idx < self.total_epoch, f"total_epoch : {self.total_epoch} , but update with the {idx} index" 35 | self.epoch_losses [idx, 0] = train_loss 36 | self.epoch_losses [idx, 1] = val_loss 37 | self.epoch_accuracy[idx, 0] = train_acc 38 | self.epoch_accuracy[idx, 1] = val_acc 39 | self.current_epoch = idx + 1 40 | return self.max_accuracy(False) == val_acc 41 | 42 | def max_accuracy(self, istrain): 43 | if self.current_epoch <= 0: return 0 44 | if istrain: return self.epoch_accuracy[:self.current_epoch, 0].max() 45 | else: return self.epoch_accuracy[:self.current_epoch, 1].max() 46 | 47 | def plot_curve(self): 48 | dpi = 150 49 | width, height = 1200, 800 50 | legend_fontsize = 13 51 | scale_distance = 48.8 52 | figsize = width / float(dpi), height / float(dpi) 53 | 54 | fig = plt.figure(figsize=figsize) 55 | x_axis = np.array([i for i in range(self.total_epoch)]) # epochs 56 | y_axis = np.zeros(self.total_epoch) 57 | 58 | plt.xlim(0, self.total_epoch) 59 | plt.ylim(0, 100) 60 | interval_y = 5 61 | interval_x = 20 62 | plt.xticks(np.arange(0, self.total_epoch + interval_x, interval_x)) 63 | plt.yticks(np.arange(0, 100 + interval_y, interval_y)) 64 | plt.grid() 65 | plt.title(self.title, fontsize=20) 66 | plt.xlabel("training epoch", fontsize=16) 67 | plt.ylabel("accuracy", fontsize=16) 68 | 69 | y_axis[:] = self.epoch_accuracy[:, 0] 70 | plt.plot(x_axis, y_axis, color='b', linestyle='-', label='train-accuracy', lw=2) 71 | plt.legend(loc=4, fontsize=legend_fontsize) 72 | 73 | y_axis[:] = self.epoch_accuracy[:, 1] 74 | plt.plot(x_axis, y_axis, color='r', linestyle='-', label='valid-accuracy', lw=2) 75 | plt.legend(loc=4, fontsize=legend_fontsize) 76 | 77 | y_axis[:] = self.epoch_losses[:, 0] 78 | plt.plot(x_axis, y_axis*50, color='b', linestyle=':', label='train-loss-x50', lw=2) 79 | plt.legend(loc=4, fontsize=legend_fontsize) 80 | 81 | if self.figure_file is not None: 82 | fig.savefig(self.figure_file, dpi=dpi, bbox_inches='tight') 83 | print (f"-- saved figure {self.title} into {self.figure_file}") 84 | plt.close(fig) 85 | 86 | class AverageMeter(object): 87 | """Computes and stores the average and current value""" 88 | def __init__(self): 89 | self.reset() 90 | 91 | def reset(self): 92 | self.val = 0 93 | self.avg = 0 94 | self.sum = 0 95 | self.count = 0 96 | 97 | def update(self, val, n=1): 98 | self.val = val 99 | self.sum += val * n 100 | self.count += n 101 | self.avg = self.sum / self.count 102 | 103 | def time_string(): 104 | ISOTIMEFORMAT='%Y-%m-%d %X' 105 | string = '[{}]'.format(time.strftime( ISOTIMEFORMAT, time.gmtime(time.time()+28800) )) 106 | return string 107 | 108 | def secs2time(epoch_time): 109 | hours = int(epoch_time / 3600) 110 | mins = int((epoch_time - 3600*hours) / 60) 111 | secs = int(epoch_time - 3600*hours - 60*mins) 112 | return hours, mins, secs 113 | 114 | def topk_accuracy(output, target, topk=(1,)): 115 | """Computes the precision@k for the specified values of k""" 116 | maxk = max(topk) 117 | batch_size = target.size(0) 118 | 119 | _, pred = output.topk(maxk, 1, True, True) 120 | pred = pred.t() 121 | correct = pred.eq(target.view(1, -1).expand_as(pred)) 122 | 123 | accuracy = [] 124 | for k in topk: 125 | correct_k = correct[:k].reshape(-1).float().sum(0) 126 | accuracy.append(correct_k.mul_(100.0 / batch_size)) 127 | return accuracy 128 | 129 | def save_checkpoint(args, epoch, model, recorder, optimizer, is_best): 130 | state = {"epoch": epoch+1, "arch": args.architecture, "state_dict": model, 131 | "recorder": recorder, "optimizer": optimizer.state_dict()} 132 | filename = os.path.join(args.results_dir, "checkpoint.pth.tar") 133 | torch.save(state, filename) 134 | if is_best: 135 | bestname = os.path.join(args.results_dir, 'model_best.pth.tar') 136 | shutil.copyfile(filename, bestname) 137 | -------------------------------------------------------------------------------- /figure/main_figure.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/figure/main_figure.jpg -------------------------------------------------------------------------------- /process_repeat_trials.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | import os 3 | 4 | import core.coreset as cs 5 | 6 | def main(args): 7 | 8 | if args.save_file == None: 9 | args.save_file = os.path.join(args.base_score_dir, "results.txt") 10 | 11 | trial_folders, trials = cs.get_trial_list(args.base_score_dir) 12 | exp_data, set_types = cs.collect_log_data(trial_folders, trials) 13 | cs.make_experiment_log_table(args, trials, exp_data, set_types) 14 | 15 | if __name__ == "__main__": 16 | 17 | parser = argparse.ArgumentParser(description="Process Repeat Trials.") 18 | parser.add_argument("--base_score_dir", type=str) 19 | parser.add_argument("--save_file", type=str) 20 | args = parser.parse_args() 21 | main(args) 22 | -------------------------------------------------------------------------------- /repeat-trial-scripts/cifar10-score-x5.sh: -------------------------------------------------------------------------------- 1 | python zeroshot_coreset_selection.py --trial 0 --dataset cifar10 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 2 | python zeroshot_coreset_selection.py --trial 1 --dataset cifar10 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 3 | python zeroshot_coreset_selection.py --trial 2 --dataset cifar10 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 4 | python zeroshot_coreset_selection.py --trial 3 --dataset cifar10 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 5 | python zeroshot_coreset_selection.py --trial 4 --dataset cifar10 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 6 | -------------------------------------------------------------------------------- /repeat-trial-scripts/cifar10-train-x5.sh: -------------------------------------------------------------------------------- 1 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 2 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 3 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 4 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 5 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 6 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 7 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 8 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 9 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 10 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 11 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 12 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 13 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 14 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 15 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 16 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 17 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 18 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 19 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 20 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 21 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 22 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 23 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 24 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 25 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset cifar10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar10/zcore-cifar10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 26 | -------------------------------------------------------------------------------- /repeat-trial-scripts/cifar100-score-x5.sh: -------------------------------------------------------------------------------- 1 | python zeroshot_coreset_selection.py --trial 0 --dataset cifar100 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 2 | python zeroshot_coreset_selection.py --trial 1 --dataset cifar100 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 3 | python zeroshot_coreset_selection.py --trial 2 --dataset cifar100 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 4 | python zeroshot_coreset_selection.py --trial 3 --dataset cifar100 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 5 | python zeroshot_coreset_selection.py --trial 4 --dataset cifar100 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 6 | -------------------------------------------------------------------------------- /repeat-trial-scripts/cifar100-train-x5.sh: -------------------------------------------------------------------------------- 1 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 2 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 3 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 4 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 5 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --decay 0.0007 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 6 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 7 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 8 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 9 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 10 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --decay 0.0007 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 11 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 12 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 13 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 14 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 15 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --decay 0.0007 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 16 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 17 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 18 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 19 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 20 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --decay 0.0007 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 21 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 22 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 23 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 24 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 25 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --decay 0.0007 --dataset cifar100 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/cifar100/zcore-cifar100-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 26 | -------------------------------------------------------------------------------- /repeat-trial-scripts/eurosat10-score-x5.sh: -------------------------------------------------------------------------------- 1 | python zeroshot_coreset_selection.py --trial 0 --dataset eurosat10 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 2 | python zeroshot_coreset_selection.py --trial 1 --dataset eurosat10 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 3 | python zeroshot_coreset_selection.py --trial 2 --dataset eurosat10 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 4 | python zeroshot_coreset_selection.py --trial 3 --dataset eurosat10 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 5 | python zeroshot_coreset_selection.py --trial 4 --dataset eurosat10 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 6 | -------------------------------------------------------------------------------- /repeat-trial-scripts/eurosat10-train-x5.sh: -------------------------------------------------------------------------------- 1 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 2 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 3 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 4 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 5 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 6 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 7 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 8 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 9 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 10 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 11 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 12 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 13 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 14 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 15 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 16 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 17 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 18 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 19 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 20 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 21 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 22 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 23 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 24 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 25 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat10 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 26 | -------------------------------------------------------------------------------- /repeat-trial-scripts/eurosat20-score-x5.sh: -------------------------------------------------------------------------------- 1 | python zeroshot_coreset_selection.py --trial 0 --dataset eurosat20 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 2 | python zeroshot_coreset_selection.py --trial 1 --dataset eurosat20 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 3 | python zeroshot_coreset_selection.py --trial 2 --dataset eurosat20 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 4 | python zeroshot_coreset_selection.py --trial 3 --dataset eurosat20 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 5 | python zeroshot_coreset_selection.py --trial 4 --dataset eurosat20 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 6 | -------------------------------------------------------------------------------- /repeat-trial-scripts/eurosat20-train-x5.sh: -------------------------------------------------------------------------------- 1 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 2 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 3 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 4 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 5 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 6 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 7 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 8 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 9 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 10 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 11 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 12 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 13 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 14 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 15 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 16 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 17 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 18 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 19 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 20 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 21 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 22 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 23 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 24 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 25 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat20 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat20/zcore-eurosat20-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 26 | -------------------------------------------------------------------------------- /repeat-trial-scripts/eurosat40-score-x5.sh: -------------------------------------------------------------------------------- 1 | python zeroshot_coreset_selection.py --trial 0 --dataset eurosat40 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 2 | python zeroshot_coreset_selection.py --trial 1 --dataset eurosat40 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 3 | python zeroshot_coreset_selection.py --trial 2 --dataset eurosat40 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 4 | python zeroshot_coreset_selection.py --trial 3 --dataset eurosat40 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 5 | python zeroshot_coreset_selection.py --trial 4 --dataset eurosat40 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 6 | -------------------------------------------------------------------------------- /repeat-trial-scripts/eurosat40-train-x5.sh: -------------------------------------------------------------------------------- 1 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 2 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 3 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 4 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 5 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 6 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 7 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 8 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 9 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 10 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 11 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 12 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 13 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 14 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 15 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 16 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 17 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 18 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 19 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 20 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 21 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 22 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 23 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 24 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 25 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat40 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat40/zcore-eurosat40-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 26 | -------------------------------------------------------------------------------- /repeat-trial-scripts/eurosat80-score-x5.sh: -------------------------------------------------------------------------------- 1 | python zeroshot_coreset_selection.py --trial 0 --dataset eurosat80 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 2 | python zeroshot_coreset_selection.py --trial 1 --dataset eurosat80 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 3 | python zeroshot_coreset_selection.py --trial 2 --dataset eurosat80 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 4 | python zeroshot_coreset_selection.py --trial 3 --dataset eurosat80 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 5 | python zeroshot_coreset_selection.py --trial 4 --dataset eurosat80 --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 6 | -------------------------------------------------------------------------------- /repeat-trial-scripts/eurosat80-train-x5.sh: -------------------------------------------------------------------------------- 1 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 2 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 3 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 4 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 5 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 6 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 7 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 8 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 9 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 10 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy 11 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 12 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 13 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 14 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 15 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy 16 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 17 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 18 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 19 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 20 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy 21 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.3 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 22 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.5 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 23 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 24 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --batch_size 64 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 25 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --batch_size 32 --dataset eurosat80 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/eurosat80/zcore-eurosat80-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy 26 | -------------------------------------------------------------------------------- /repeat-trial-scripts/imagenet-score-x5.sh: -------------------------------------------------------------------------------- 1 | python zeroshot_coreset_selection.py --trial 0 --dataset imagenet --data_dir ./data --results_dir ./results --embedding clip resnet18 --num_workers 10 2 | -------------------------------------------------------------------------------- /repeat-trial-scripts/imagenet-train-x5.sh: -------------------------------------------------------------------------------- 1 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.7 --dataset imagenet --batch_size 256 --epochs 60 --architecture resnet34 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/imagenet/zcore-imagenet-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 2 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.8 --dataset imagenet --batch_size 256 --epochs 60 --architecture resnet34 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/imagenet/zcore-imagenet-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 3 | CUDA_VISIBLE_DEVICES=0 python train_coreset_model.py --prune_rate 0.9 --dataset imagenet --batch_size 256 --epochs 60 --architecture resnet34 --data_dir ./data --num_workers 10 --device cuda --score_file ./results/imagenet/zcore-imagenet-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy 4 | -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/p30-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/p30-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/p50-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/p50-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/p70-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/p70-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/p80-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/p80-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/p90-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/p90-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-0/score.npy -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/p30-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/p30-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/p50-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/p50-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/p70-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/p70-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/p80-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/p80-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/p90-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/p90-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-1/score.npy -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/p30-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/p30-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/p50-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/p50-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/p70-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/p70-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/p80-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/p80-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/p90-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/p90-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-2/score.npy -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/p30-s51/train_log.txt: -------------------------------------------------------------------------------- 1 | Train settings : {'manual_seed': 51, 'dataset': 'eurosat10', 'data_dir': './data', 'results_dir': './results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/p30-s51', 'num_workers': 10, 'device': 'cuda', 'architecture': 'resnet18', 'epochs': 200, 'decay': 0.0005, 'learning_rate': 0.1, 'momentum': 0.9, 'batch_size': 128, 'print_freq': 200, 'score_file': './results/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy', 'prune_rate': 0.3} 2 | Train model : 3 | ResNet( 4 | (conv1): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=same, bias=False) 5 | (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 6 | (relu): ReLU(inplace=True) 7 | (layer1): Sequential( 8 | (0): BasicBlock( 9 | (conv1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) 10 | (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 11 | (relu): ReLU(inplace=True) 12 | (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) 13 | (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 14 | ) 15 | (1): BasicBlock( 16 | (conv1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) 17 | (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 18 | (relu): ReLU(inplace=True) 19 | (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) 20 | (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 21 | ) 22 | ) 23 | (layer2): Sequential( 24 | (0): BasicBlock( 25 | (conv1): Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) 26 | (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 27 | (relu): ReLU(inplace=True) 28 | (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) 29 | (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 30 | (downsample): Sequential( 31 | (0): Conv2d(64, 128, kernel_size=(1, 1), stride=(2, 2), bias=False) 32 | (1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 33 | ) 34 | ) 35 | (1): BasicBlock( 36 | (conv1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) 37 | (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 38 | (relu): ReLU(inplace=True) 39 | (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) 40 | (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 41 | ) 42 | ) 43 | (layer3): Sequential( 44 | (0): BasicBlock( 45 | (conv1): Conv2d(128, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) 46 | (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 47 | (relu): ReLU(inplace=True) 48 | (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) 49 | (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 50 | (downsample): Sequential( 51 | (0): Conv2d(128, 256, kernel_size=(1, 1), stride=(2, 2), bias=False) 52 | (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 53 | ) 54 | ) 55 | (1): BasicBlock( 56 | (conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) 57 | (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 58 | (relu): ReLU(inplace=True) 59 | (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) 60 | (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 61 | ) 62 | ) 63 | (layer4): Sequential( 64 | (0): BasicBlock( 65 | (conv1): Conv2d(256, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) 66 | (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 67 | (relu): ReLU(inplace=True) 68 | (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) 69 | (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 70 | (downsample): Sequential( 71 | (0): Conv2d(256, 512, kernel_size=(1, 1), stride=(2, 2), bias=False) 72 | (1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 73 | ) 74 | ) 75 | (1): BasicBlock( 76 | (conv1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) 77 | (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 78 | (relu): ReLU(inplace=True) 79 | (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) 80 | (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 81 | ) 82 | ) 83 | (avgpool): AdaptiveAvgPool2d(output_size=(1, 1)) 84 | (fc): Linear(in_features=512, out_features=10, bias=True) 85 | ) 86 | python version : 3.10.12 (main, Sep 11 2024, 15:47:36) [GCC 11.4.0] 87 | torch version : 2.4.0+cu121 88 | cudnn version : 90100 89 | 90 | [2024-11-19 09:33:47] [Epoch=000/200] [Need : 00:00:00] [learning_rate=0.1000] [Best : Accuracy=0.00, Error=100.00] 91 | Epoch: [000][000/128] Time 3.503 (3.503) Data 0.000 (0.000) Loss 0.5154 (0.5154) Prec@1 7.812 (7.812) Prec@5 51.562 (51.562) [2024-11-19 09:33:51] 92 | Train Prec@1 40.159 Prec@5 83.862 Error@1 59.841 93 | Test Prec@1 34.942 Prec@5 82.975 Error@1 65.058 94 | 95 | [2024-11-19 09:34:04] [Epoch=001/200] [Need : 00:53:43] [learning_rate=0.1000] [Best : Accuracy=34.94, Error=65.06] 96 | Epoch: [001][000/128] Time 0.138 (0.138) Data 0.000 (0.000) Loss 0.3369 (0.3369) Prec@1 51.562 (51.562) Prec@5 90.625 (90.625) [2024-11-19 09:34:04] 97 | Train Prec@1 55.820 Prec@5 94.815 Error@1 44.180 98 | Test Prec@1 38.802 Prec@5 87.169 Error@1 61.198 99 | 100 | [2024-11-19 09:34:14] [Epoch=002/200] [Need : 00:44:02] [learning_rate=0.1000] [Best : Accuracy=38.80, Error=61.20] 101 | Epoch: [002][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.2583 (0.2583) Prec@1 57.812 (57.812) Prec@5 97.656 (97.656) [2024-11-19 09:34:15] 102 | Train Prec@1 62.275 Prec@5 97.725 Error@1 37.725 103 | Test Prec@1 47.066 Prec@5 96.272 Error@1 52.934 104 | 105 | [2024-11-19 09:34:25] [Epoch=003/200] [Need : 00:40:39] [learning_rate=0.0999] [Best : Accuracy=47.07, Error=52.93] 106 | Epoch: [003][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.1772 (0.1772) Prec@1 67.969 (67.969) Prec@5 99.219 (99.219) [2024-11-19 09:34:25] 107 | Train Prec@1 65.820 Prec@5 98.095 Error@1 34.180 108 | Test Prec@1 46.934 Prec@5 88.333 Error@1 53.066 109 | 110 | [2024-11-19 09:34:35] [Epoch=004/200] [Need : 00:38:54] [learning_rate=0.0999] [Best : Accuracy=47.07, Error=52.93] 111 | Epoch: [004][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.1839 (0.1839) Prec@1 65.625 (65.625) Prec@5 99.219 (99.219) [2024-11-19 09:34:35] 112 | Train Prec@1 70.635 Prec@5 98.466 Error@1 29.365 113 | Test Prec@1 59.473 Prec@5 98.305 Error@1 40.527 114 | 115 | [2024-11-19 09:34:46] [Epoch=005/200] [Need : 00:37:49] [learning_rate=0.0998] [Best : Accuracy=59.47, Error=40.53] 116 | Epoch: [005][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.1382 (0.1382) Prec@1 72.656 (72.656) Prec@5 100.000 (100.000) [2024-11-19 09:34:46] 117 | Train Prec@1 73.280 Prec@5 99.206 Error@1 26.720 118 | Test Prec@1 61.572 Prec@5 98.786 Error@1 38.428 119 | 120 | [2024-11-19 09:34:56] [Epoch=006/200] [Need : 00:37:05] [learning_rate=0.0998] [Best : Accuracy=61.57, Error=38.43] 121 | Epoch: [006][000/128] Time 0.130 (0.130) Data 0.000 (0.000) Loss 0.1435 (0.1435) Prec@1 75.781 (75.781) Prec@5 99.219 (99.219) [2024-11-19 09:34:57] 122 | Train Prec@1 75.344 Prec@5 99.365 Error@1 24.656 123 | Test Prec@1 66.654 Prec@5 97.942 Error@1 33.346 124 | 125 | [2024-11-19 09:35:07] [Epoch=007/200] [Need : 00:36:30] [learning_rate=0.0997] [Best : Accuracy=66.65, Error=33.35] 126 | Epoch: [007][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.1122 (0.1122) Prec@1 81.250 (81.250) Prec@5 100.000 (100.000) [2024-11-19 09:35:07] 127 | Train Prec@1 76.561 Prec@5 99.259 Error@1 23.439 128 | Test Prec@1 66.440 Prec@5 97.827 Error@1 33.560 129 | 130 | [2024-11-19 09:35:17] [Epoch=008/200] [Need : 00:35:58] [learning_rate=0.0996] [Best : Accuracy=66.65, Error=33.35] 131 | Epoch: [008][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.1354 (0.1354) Prec@1 79.688 (79.688) Prec@5 99.219 (99.219) [2024-11-19 09:35:18] 132 | Train Prec@1 77.831 Prec@5 99.471 Error@1 22.169 133 | Test Prec@1 70.572 Prec@5 98.942 Error@1 29.428 134 | 135 | [2024-11-19 09:35:28] [Epoch=009/200] [Need : 00:35:32] [learning_rate=0.0995] [Best : Accuracy=70.57, Error=29.43] 136 | Epoch: [009][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.1067 (0.1067) Prec@1 78.906 (78.906) Prec@5 100.000 (100.000) [2024-11-19 09:35:28] 137 | Train Prec@1 79.947 Prec@5 99.894 Error@1 20.053 138 | Test Prec@1 69.700 Prec@5 98.584 Error@1 30.300 139 | 140 | [2024-11-19 09:35:38] [Epoch=010/200] [Need : 00:35:08] [learning_rate=0.0994] [Best : Accuracy=70.57, Error=29.43] 141 | Epoch: [010][000/128] Time 0.138 (0.138) Data 0.000 (0.000) Loss 0.1467 (0.1467) Prec@1 73.438 (73.438) Prec@5 98.438 (98.438) [2024-11-19 09:35:39] 142 | Train Prec@1 81.111 Prec@5 99.524 Error@1 18.889 143 | Test Prec@1 69.062 Prec@5 98.827 Error@1 30.938 144 | 145 | [2024-11-19 09:35:49] [Epoch=011/200] [Need : 00:34:47] [learning_rate=0.0993] [Best : Accuracy=70.57, Error=29.43] 146 | Epoch: [011][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.1266 (0.1266) Prec@1 75.781 (75.781) Prec@5 98.438 (98.438) [2024-11-19 09:35:49] 147 | Train Prec@1 82.910 Prec@5 99.735 Error@1 17.090 148 | Test Prec@1 71.564 Prec@5 99.502 Error@1 28.436 149 | 150 | [2024-11-19 09:36:00] [Epoch=012/200] [Need : 00:34:29] [learning_rate=0.0991] [Best : Accuracy=71.56, Error=28.44] 151 | Epoch: [012][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0936 (0.0936) Prec@1 82.031 (82.031) Prec@5 100.000 (100.000) [2024-11-19 09:36:00] 152 | Train Prec@1 81.534 Prec@5 99.841 Error@1 18.466 153 | Test Prec@1 68.749 Prec@5 98.049 Error@1 31.251 154 | 155 | [2024-11-19 09:36:10] [Epoch=013/200] [Need : 00:34:11] [learning_rate=0.0990] [Best : Accuracy=71.56, Error=28.44] 156 | Epoch: [013][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.1150 (0.1150) Prec@1 82.812 (82.812) Prec@5 100.000 (100.000) [2024-11-19 09:36:10] 157 | Train Prec@1 83.228 Prec@5 99.894 Error@1 16.772 158 | Test Prec@1 65.934 Prec@5 99.016 Error@1 34.066 159 | 160 | [2024-11-19 09:36:21] [Epoch=014/200] [Need : 00:33:53] [learning_rate=0.0988] [Best : Accuracy=71.56, Error=28.44] 161 | Epoch: [014][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0890 (0.0890) Prec@1 87.500 (87.500) Prec@5 100.000 (100.000) [2024-11-19 09:36:21] 162 | Train Prec@1 84.603 Prec@5 99.788 Error@1 15.397 163 | Test Prec@1 71.189 Prec@5 98.584 Error@1 28.811 164 | 165 | [2024-11-19 09:36:31] [Epoch=015/200] [Need : 00:33:36] [learning_rate=0.0986] [Best : Accuracy=71.56, Error=28.44] 166 | Epoch: [015][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.1081 (0.1081) Prec@1 83.594 (83.594) Prec@5 100.000 (100.000) [2024-11-19 09:36:31] 167 | Train Prec@1 83.704 Prec@5 99.788 Error@1 16.296 168 | Test Prec@1 73.066 Prec@5 99.128 Error@1 26.934 169 | 170 | [2024-11-19 09:36:42] [Epoch=016/200] [Need : 00:33:22] [learning_rate=0.0984] [Best : Accuracy=73.07, Error=26.93] 171 | Epoch: [016][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.1085 (0.1085) Prec@1 80.469 (80.469) Prec@5 100.000 (100.000) [2024-11-19 09:36:42] 172 | Train Prec@1 83.439 Prec@5 99.788 Error@1 16.561 173 | Test Prec@1 69.527 Prec@5 98.333 Error@1 30.473 174 | 175 | [2024-11-19 09:36:52] [Epoch=017/200] [Need : 00:33:07] [learning_rate=0.0982] [Best : Accuracy=73.07, Error=26.93] 176 | Epoch: [017][000/128] Time 0.141 (0.141) Data 0.000 (0.000) Loss 0.0942 (0.0942) Prec@1 85.938 (85.938) Prec@5 99.219 (99.219) [2024-11-19 09:36:53] 177 | Train Prec@1 84.444 Prec@5 99.841 Error@1 15.556 178 | Test Prec@1 71.835 Prec@5 99.095 Error@1 28.165 179 | 180 | [2024-11-19 09:37:03] [Epoch=018/200] [Need : 00:32:55] [learning_rate=0.0980] [Best : Accuracy=73.07, Error=26.93] 181 | Epoch: [018][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0680 (0.0680) Prec@1 85.938 (85.938) Prec@5 100.000 (100.000) [2024-11-19 09:37:03] 182 | Train Prec@1 86.455 Prec@5 99.947 Error@1 13.545 183 | Test Prec@1 76.000 Prec@5 99.440 Error@1 24.000 184 | 185 | [2024-11-19 09:37:13] [Epoch=019/200] [Need : 00:32:42] [learning_rate=0.0978] [Best : Accuracy=76.00, Error=24.00] 186 | Epoch: [019][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0866 (0.0866) Prec@1 86.719 (86.719) Prec@5 100.000 (100.000) [2024-11-19 09:37:14] 187 | Train Prec@1 86.190 Prec@5 99.841 Error@1 13.810 188 | Test Prec@1 75.453 Prec@5 98.461 Error@1 24.547 189 | 190 | [2024-11-19 09:37:24] [Epoch=020/200] [Need : 00:32:28] [learning_rate=0.0976] [Best : Accuracy=76.00, Error=24.00] 191 | Epoch: [020][000/128] Time 0.131 (0.131) Data 0.000 (0.000) Loss 0.0576 (0.0576) Prec@1 91.406 (91.406) Prec@5 100.000 (100.000) [2024-11-19 09:37:24] 192 | Train Prec@1 87.090 Prec@5 99.947 Error@1 12.910 193 | Test Prec@1 80.634 Prec@5 99.502 Error@1 19.366 194 | 195 | [2024-11-19 09:37:35] [Epoch=021/200] [Need : 00:32:15] [learning_rate=0.0973] [Best : Accuracy=80.63, Error=19.37] 196 | Epoch: [021][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0578 (0.0578) Prec@1 92.188 (92.188) Prec@5 100.000 (100.000) [2024-11-19 09:37:35] 197 | Train Prec@1 87.354 Prec@5 99.947 Error@1 12.646 198 | Test Prec@1 78.938 Prec@5 99.333 Error@1 21.062 199 | 200 | [2024-11-19 09:37:45] [Epoch=022/200] [Need : 00:32:02] [learning_rate=0.0970] [Best : Accuracy=80.63, Error=19.37] 201 | Epoch: [022][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0745 (0.0745) Prec@1 86.719 (86.719) Prec@5 100.000 (100.000) [2024-11-19 09:37:45] 202 | Train Prec@1 86.508 Prec@5 99.894 Error@1 13.492 203 | Test Prec@1 72.671 Prec@5 98.864 Error@1 27.329 204 | 205 | [2024-11-19 09:37:56] [Epoch=023/200] [Need : 00:31:49] [learning_rate=0.0968] [Best : Accuracy=80.63, Error=19.37] 206 | Epoch: [023][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0476 (0.0476) Prec@1 90.625 (90.625) Prec@5 100.000 (100.000) [2024-11-19 09:37:56] 207 | Train Prec@1 88.783 Prec@5 99.841 Error@1 11.217 208 | Test Prec@1 77.794 Prec@5 99.457 Error@1 22.206 209 | 210 | [2024-11-19 09:38:06] [Epoch=024/200] [Need : 00:31:36] [learning_rate=0.0965] [Best : Accuracy=80.63, Error=19.37] 211 | Epoch: [024][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0673 (0.0673) Prec@1 89.062 (89.062) Prec@5 100.000 (100.000) [2024-11-19 09:38:07] 212 | Train Prec@1 88.466 Prec@5 100.000 Error@1 11.534 213 | Test Prec@1 67.239 Prec@5 99.140 Error@1 32.761 214 | 215 | [2024-11-19 09:38:17] [Epoch=025/200] [Need : 00:31:24] [learning_rate=0.0962] [Best : Accuracy=80.63, Error=19.37] 216 | Epoch: [025][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0950 (0.0950) Prec@1 85.938 (85.938) Prec@5 99.219 (99.219) [2024-11-19 09:38:17] 217 | Train Prec@1 89.418 Prec@5 99.947 Error@1 10.582 218 | Test Prec@1 76.523 Prec@5 99.481 Error@1 23.477 219 | 220 | [2024-11-19 09:38:27] [Epoch=026/200] [Need : 00:31:11] [learning_rate=0.0959] [Best : Accuracy=80.63, Error=19.37] 221 | Epoch: [026][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0352 (0.0352) Prec@1 93.750 (93.750) Prec@5 100.000 (100.000) [2024-11-19 09:38:28] 222 | Train Prec@1 90.582 Prec@5 99.947 Error@1 9.418 223 | Test Prec@1 80.601 Prec@5 99.436 Error@1 19.399 224 | 225 | [2024-11-19 09:38:38] [Epoch=027/200] [Need : 00:30:59] [learning_rate=0.0956] [Best : Accuracy=80.63, Error=19.37] 226 | Epoch: [027][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0548 (0.0548) Prec@1 90.625 (90.625) Prec@5 100.000 (100.000) [2024-11-19 09:38:38] 227 | Train Prec@1 90.423 Prec@5 100.000 Error@1 9.577 228 | Test Prec@1 79.160 Prec@5 99.272 Error@1 20.840 229 | 230 | [2024-11-19 09:38:48] [Epoch=028/200] [Need : 00:30:47] [learning_rate=0.0952] [Best : Accuracy=80.63, Error=19.37] 231 | Epoch: [028][000/128] Time 0.134 (0.134) Data 0.000 (0.000) Loss 0.0458 (0.0458) Prec@1 89.844 (89.844) Prec@5 100.000 (100.000) [2024-11-19 09:38:49] 232 | Train Prec@1 90.794 Prec@5 100.000 Error@1 9.206 233 | Test Prec@1 81.975 Prec@5 99.597 Error@1 18.025 234 | 235 | [2024-11-19 09:38:59] [Epoch=029/200] [Need : 00:30:35] [learning_rate=0.0949] [Best : Accuracy=81.98, Error=18.02] 236 | Epoch: [029][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0490 (0.0490) Prec@1 91.406 (91.406) Prec@5 100.000 (100.000) [2024-11-19 09:38:59] 237 | Train Prec@1 90.317 Prec@5 100.000 Error@1 9.683 238 | Test Prec@1 80.848 Prec@5 99.280 Error@1 19.152 239 | 240 | [2024-11-19 09:39:09] [Epoch=030/200] [Need : 00:30:23] [learning_rate=0.0946] [Best : Accuracy=81.98, Error=18.02] 241 | Epoch: [030][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0387 (0.0387) Prec@1 92.969 (92.969) Prec@5 100.000 (100.000) [2024-11-19 09:39:10] 242 | Train Prec@1 92.434 Prec@5 100.000 Error@1 7.566 243 | Test Prec@1 82.160 Prec@5 99.255 Error@1 17.840 244 | 245 | [2024-11-19 09:39:20] [Epoch=031/200] [Need : 00:30:14] [learning_rate=0.0942] [Best : Accuracy=82.16, Error=17.84] 246 | Epoch: [031][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0343 (0.0343) Prec@1 93.750 (93.750) Prec@5 100.000 (100.000) [2024-11-19 09:39:21] 247 | Train Prec@1 89.418 Prec@5 99.947 Error@1 10.582 248 | Test Prec@1 76.033 Prec@5 98.897 Error@1 23.967 249 | 250 | [2024-11-19 09:39:31] [Epoch=032/200] [Need : 00:30:02] [learning_rate=0.0938] [Best : Accuracy=82.16, Error=17.84] 251 | Epoch: [032][000/128] Time 0.134 (0.134) Data 0.000 (0.000) Loss 0.0539 (0.0539) Prec@1 90.625 (90.625) Prec@5 100.000 (100.000) [2024-11-19 09:39:31] 252 | Train Prec@1 92.275 Prec@5 100.000 Error@1 7.725 253 | Test Prec@1 78.420 Prec@5 99.556 Error@1 21.580 254 | 255 | [2024-11-19 09:39:41] [Epoch=033/200] [Need : 00:29:50] [learning_rate=0.0934] [Best : Accuracy=82.16, Error=17.84] 256 | Epoch: [033][000/128] Time 0.135 (0.135) Data 0.000 (0.000) Loss 0.0551 (0.0551) Prec@1 92.188 (92.188) Prec@5 100.000 (100.000) [2024-11-19 09:39:42] 257 | Train Prec@1 92.698 Prec@5 100.000 Error@1 7.302 258 | Test Prec@1 77.473 Prec@5 99.144 Error@1 22.527 259 | 260 | [2024-11-19 09:39:52] [Epoch=034/200] [Need : 00:29:38] [learning_rate=0.0930] [Best : Accuracy=82.16, Error=17.84] 261 | Epoch: [034][000/128] Time 0.139 (0.139) Data 0.000 (0.000) Loss 0.0415 (0.0415) Prec@1 91.406 (91.406) Prec@5 100.000 (100.000) [2024-11-19 09:39:52] 262 | Train Prec@1 91.640 Prec@5 100.000 Error@1 8.360 263 | Test Prec@1 85.494 Prec@5 99.609 Error@1 14.506 264 | 265 | [2024-11-19 09:40:02] [Epoch=035/200] [Need : 00:29:27] [learning_rate=0.0926] [Best : Accuracy=85.49, Error=14.51] 266 | Epoch: [035][000/128] Time 0.130 (0.130) Data 0.000 (0.000) Loss 0.0194 (0.0194) Prec@1 97.656 (97.656) Prec@5 100.000 (100.000) [2024-11-19 09:40:03] 267 | Train Prec@1 92.328 Prec@5 100.000 Error@1 7.672 268 | Test Prec@1 72.807 Prec@5 97.708 Error@1 27.193 269 | 270 | [2024-11-19 09:40:13] [Epoch=036/200] [Need : 00:29:15] [learning_rate=0.0922] [Best : Accuracy=85.49, Error=14.51] 271 | Epoch: [036][000/128] Time 0.131 (0.131) Data 0.000 (0.000) Loss 0.0549 (0.0549) Prec@1 90.625 (90.625) Prec@5 100.000 (100.000) [2024-11-19 09:40:13] 272 | Train Prec@1 91.323 Prec@5 99.947 Error@1 8.677 273 | Test Prec@1 83.650 Prec@5 99.461 Error@1 16.350 274 | 275 | [2024-11-19 09:40:23] [Epoch=037/200] [Need : 00:29:04] [learning_rate=0.0918] [Best : Accuracy=85.49, Error=14.51] 276 | Epoch: [037][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0464 (0.0464) Prec@1 93.750 (93.750) Prec@5 100.000 (100.000) [2024-11-19 09:40:24] 277 | Train Prec@1 93.545 Prec@5 100.000 Error@1 6.455 278 | Test Prec@1 87.852 Prec@5 99.642 Error@1 12.148 279 | 280 | [2024-11-19 09:40:34] [Epoch=038/200] [Need : 00:28:53] [learning_rate=0.0914] [Best : Accuracy=87.85, Error=12.15] 281 | Epoch: [038][000/128] Time 0.135 (0.135) Data 0.000 (0.000) Loss 0.0260 (0.0260) Prec@1 95.312 (95.312) Prec@5 100.000 (100.000) [2024-11-19 09:40:34] 282 | Train Prec@1 95.026 Prec@5 100.000 Error@1 4.974 283 | Test Prec@1 85.288 Prec@5 99.498 Error@1 14.712 284 | 285 | [2024-11-19 09:40:45] [Epoch=039/200] [Need : 00:28:41] [learning_rate=0.0909] [Best : Accuracy=87.85, Error=12.15] 286 | Epoch: [039][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0198 (0.0198) Prec@1 96.875 (96.875) Prec@5 100.000 (100.000) [2024-11-19 09:40:45] 287 | Train Prec@1 94.603 Prec@5 100.000 Error@1 5.397 288 | Test Prec@1 82.053 Prec@5 99.502 Error@1 17.947 289 | 290 | [2024-11-19 09:40:55] [Epoch=040/200] [Need : 00:28:30] [learning_rate=0.0905] [Best : Accuracy=87.85, Error=12.15] 291 | Epoch: [040][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0351 (0.0351) Prec@1 93.750 (93.750) Prec@5 100.000 (100.000) [2024-11-19 09:40:55] 292 | Train Prec@1 93.704 Prec@5 100.000 Error@1 6.296 293 | Test Prec@1 84.984 Prec@5 99.494 Error@1 15.016 294 | 295 | [2024-11-19 09:41:06] [Epoch=041/200] [Need : 00:28:19] [learning_rate=0.0900] [Best : Accuracy=87.85, Error=12.15] 296 | Epoch: [041][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0203 (0.0203) Prec@1 96.094 (96.094) Prec@5 100.000 (100.000) [2024-11-19 09:41:06] 297 | Train Prec@1 94.974 Prec@5 100.000 Error@1 5.026 298 | Test Prec@1 88.235 Prec@5 99.708 Error@1 11.765 299 | 300 | [2024-11-19 09:41:16] [Epoch=042/200] [Need : 00:28:08] [learning_rate=0.0895] [Best : Accuracy=88.23, Error=11.77] 301 | Epoch: [042][000/128] Time 0.138 (0.138) Data 0.000 (0.000) Loss 0.0310 (0.0310) Prec@1 93.750 (93.750) Prec@5 100.000 (100.000) [2024-11-19 09:41:17] 302 | Train Prec@1 95.714 Prec@5 100.000 Error@1 4.286 303 | Test Prec@1 83.160 Prec@5 99.267 Error@1 16.840 304 | 305 | [2024-11-19 09:41:27] [Epoch=043/200] [Need : 00:27:57] [learning_rate=0.0890] [Best : Accuracy=88.23, Error=11.77] 306 | Epoch: [043][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0153 (0.0153) Prec@1 98.438 (98.438) Prec@5 100.000 (100.000) [2024-11-19 09:41:27] 307 | Train Prec@1 95.556 Prec@5 99.947 Error@1 4.444 308 | Test Prec@1 87.770 Prec@5 99.663 Error@1 12.230 309 | 310 | [2024-11-19 09:41:37] [Epoch=044/200] [Need : 00:27:46] [learning_rate=0.0885] [Best : Accuracy=88.23, Error=11.77] 311 | Epoch: [044][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0188 (0.0188) Prec@1 96.875 (96.875) Prec@5 100.000 (100.000) [2024-11-19 09:41:38] 312 | Train Prec@1 95.132 Prec@5 100.000 Error@1 4.868 313 | Test Prec@1 84.132 Prec@5 99.658 Error@1 15.868 314 | 315 | [2024-11-19 09:41:48] [Epoch=045/200] [Need : 00:27:34] [learning_rate=0.0880] [Best : Accuracy=88.23, Error=11.77] 316 | Epoch: [045][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0446 (0.0446) Prec@1 92.188 (92.188) Prec@5 100.000 (100.000) [2024-11-19 09:41:48] 317 | Train Prec@1 95.503 Prec@5 100.000 Error@1 4.497 318 | Test Prec@1 82.420 Prec@5 99.449 Error@1 17.580 319 | 320 | [2024-11-19 09:41:58] [Epoch=046/200] [Need : 00:27:23] [learning_rate=0.0875] [Best : Accuracy=88.23, Error=11.77] 321 | Epoch: [046][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0148 (0.0148) Prec@1 98.438 (98.438) Prec@5 100.000 (100.000) [2024-11-19 09:41:59] 322 | Train Prec@1 94.974 Prec@5 100.000 Error@1 5.026 323 | Test Prec@1 81.156 Prec@5 99.325 Error@1 18.844 324 | 325 | [2024-11-19 09:42:09] [Epoch=047/200] [Need : 00:27:12] [learning_rate=0.0870] [Best : Accuracy=88.23, Error=11.77] 326 | Epoch: [047][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0355 (0.0355) Prec@1 91.406 (91.406) Prec@5 100.000 (100.000) [2024-11-19 09:42:09] 327 | Train Prec@1 94.656 Prec@5 99.947 Error@1 5.344 328 | Test Prec@1 70.049 Prec@5 97.737 Error@1 29.951 329 | 330 | [2024-11-19 09:42:19] [Epoch=048/200] [Need : 00:27:01] [learning_rate=0.0864] [Best : Accuracy=88.23, Error=11.77] 331 | Epoch: [048][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0398 (0.0398) Prec@1 92.969 (92.969) Prec@5 100.000 (100.000) [2024-11-19 09:42:20] 332 | Train Prec@1 93.704 Prec@5 100.000 Error@1 6.296 333 | Test Prec@1 84.160 Prec@5 99.395 Error@1 15.840 334 | 335 | [2024-11-19 09:42:30] [Epoch=049/200] [Need : 00:26:50] [learning_rate=0.0859] [Best : Accuracy=88.23, Error=11.77] 336 | Epoch: [049][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0287 (0.0287) Prec@1 93.750 (93.750) Prec@5 100.000 (100.000) [2024-11-19 09:42:30] 337 | Train Prec@1 95.503 Prec@5 100.000 Error@1 4.497 338 | Test Prec@1 84.860 Prec@5 99.597 Error@1 15.140 339 | 340 | [2024-11-19 09:42:40] [Epoch=050/200] [Need : 00:26:38] [learning_rate=0.0854] [Best : Accuracy=88.23, Error=11.77] 341 | Epoch: [050][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0176 (0.0176) Prec@1 96.094 (96.094) Prec@5 100.000 (100.000) [2024-11-19 09:42:41] 342 | Train Prec@1 95.714 Prec@5 100.000 Error@1 4.286 343 | Test Prec@1 85.815 Prec@5 99.679 Error@1 14.185 344 | 345 | [2024-11-19 09:42:51] [Epoch=051/200] [Need : 00:26:27] [learning_rate=0.0848] [Best : Accuracy=88.23, Error=11.77] 346 | Epoch: [051][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0175 (0.0175) Prec@1 96.875 (96.875) Prec@5 100.000 (100.000) [2024-11-19 09:42:51] 347 | Train Prec@1 96.243 Prec@5 100.000 Error@1 3.757 348 | Test Prec@1 83.156 Prec@5 99.115 Error@1 16.844 349 | 350 | [2024-11-19 09:43:01] [Epoch=052/200] [Need : 00:26:16] [learning_rate=0.0842] [Best : Accuracy=88.23, Error=11.77] 351 | Epoch: [052][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0336 (0.0336) Prec@1 93.750 (93.750) Prec@5 100.000 (100.000) [2024-11-19 09:43:02] 352 | Train Prec@1 96.032 Prec@5 100.000 Error@1 3.968 353 | Test Prec@1 87.177 Prec@5 99.770 Error@1 12.823 354 | 355 | [2024-11-19 09:43:12] [Epoch=053/200] [Need : 00:26:05] [learning_rate=0.0837] [Best : Accuracy=88.23, Error=11.77] 356 | Epoch: [053][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0154 (0.0154) Prec@1 98.438 (98.438) Prec@5 100.000 (100.000) [2024-11-19 09:43:12] 357 | Train Prec@1 96.667 Prec@5 100.000 Error@1 3.333 358 | Test Prec@1 84.568 Prec@5 99.593 Error@1 15.432 359 | 360 | [2024-11-19 09:43:22] [Epoch=054/200] [Need : 00:25:54] [learning_rate=0.0831] [Best : Accuracy=88.23, Error=11.77] 361 | Epoch: [054][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0138 (0.0138) Prec@1 97.656 (97.656) Prec@5 100.000 (100.000) [2024-11-19 09:43:23] 362 | Train Prec@1 96.931 Prec@5 100.000 Error@1 3.069 363 | Test Prec@1 89.481 Prec@5 99.807 Error@1 10.519 364 | 365 | [2024-11-19 09:43:33] [Epoch=055/200] [Need : 00:25:45] [learning_rate=0.0825] [Best : Accuracy=89.48, Error=10.52] 366 | Epoch: [055][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0084 (0.0084) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:43:34] 367 | Train Prec@1 97.249 Prec@5 100.000 Error@1 2.751 368 | Test Prec@1 88.469 Prec@5 99.782 Error@1 11.531 369 | 370 | [2024-11-19 09:43:44] [Epoch=056/200] [Need : 00:25:33] [learning_rate=0.0819] [Best : Accuracy=89.48, Error=10.52] 371 | Epoch: [056][000/128] Time 0.135 (0.135) Data 0.000 (0.000) Loss 0.0085 (0.0085) Prec@1 98.438 (98.438) Prec@5 100.000 (100.000) [2024-11-19 09:43:44] 372 | Train Prec@1 98.148 Prec@5 100.000 Error@1 1.852 373 | Test Prec@1 86.658 Prec@5 99.683 Error@1 13.342 374 | 375 | [2024-11-19 09:43:55] [Epoch=057/200] [Need : 00:25:23] [learning_rate=0.0813] [Best : Accuracy=89.48, Error=10.52] 376 | Epoch: [057][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0058 (0.0058) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:43:55] 377 | Train Prec@1 97.090 Prec@5 100.000 Error@1 2.910 378 | Test Prec@1 88.934 Prec@5 99.761 Error@1 11.066 379 | 380 | [2024-11-19 09:44:05] [Epoch=058/200] [Need : 00:25:12] [learning_rate=0.0806] [Best : Accuracy=89.48, Error=10.52] 381 | Epoch: [058][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0127 (0.0127) Prec@1 98.438 (98.438) Prec@5 100.000 (100.000) [2024-11-19 09:44:05] 382 | Train Prec@1 98.095 Prec@5 100.000 Error@1 1.905 383 | Test Prec@1 90.868 Prec@5 99.819 Error@1 9.132 384 | 385 | [2024-11-19 09:44:16] [Epoch=059/200] [Need : 00:25:01] [learning_rate=0.0800] [Best : Accuracy=90.87, Error=9.13] 386 | Epoch: [059][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0116 (0.0116) Prec@1 97.656 (97.656) Prec@5 100.000 (100.000) [2024-11-19 09:44:16] 387 | Train Prec@1 98.148 Prec@5 100.000 Error@1 1.852 388 | Test Prec@1 90.646 Prec@5 99.720 Error@1 9.354 389 | 390 | [2024-11-19 09:44:26] [Epoch=060/200] [Need : 00:24:50] [learning_rate=0.0794] [Best : Accuracy=90.87, Error=9.13] 391 | Epoch: [060][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0067 (0.0067) Prec@1 98.438 (98.438) Prec@5 100.000 (100.000) [2024-11-19 09:44:27] 392 | Train Prec@1 97.778 Prec@5 100.000 Error@1 2.222 393 | Test Prec@1 87.630 Prec@5 99.757 Error@1 12.370 394 | 395 | [2024-11-19 09:44:37] [Epoch=061/200] [Need : 00:24:39] [learning_rate=0.0788] [Best : Accuracy=90.87, Error=9.13] 396 | Epoch: [061][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0083 (0.0083) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:44:37] 397 | Train Prec@1 97.672 Prec@5 100.000 Error@1 2.328 398 | Test Prec@1 79.844 Prec@5 99.556 Error@1 20.156 399 | 400 | [2024-11-19 09:44:47] [Epoch=062/200] [Need : 00:24:28] [learning_rate=0.0781] [Best : Accuracy=90.87, Error=9.13] 401 | Epoch: [062][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0115 (0.0115) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:44:48] 402 | Train Prec@1 98.148 Prec@5 100.000 Error@1 1.852 403 | Test Prec@1 88.444 Prec@5 99.675 Error@1 11.556 404 | 405 | [2024-11-19 09:44:58] [Epoch=063/200] [Need : 00:24:17] [learning_rate=0.0775] [Best : Accuracy=90.87, Error=9.13] 406 | Epoch: [063][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0106 (0.0106) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:44:58] 407 | Train Prec@1 97.725 Prec@5 100.000 Error@1 2.275 408 | Test Prec@1 89.021 Prec@5 99.704 Error@1 10.979 409 | 410 | [2024-11-19 09:45:08] [Epoch=064/200] [Need : 00:24:06] [learning_rate=0.0768] [Best : Accuracy=90.87, Error=9.13] 411 | Epoch: [064][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0160 (0.0160) Prec@1 97.656 (97.656) Prec@5 100.000 (100.000) [2024-11-19 09:45:09] 412 | Train Prec@1 97.937 Prec@5 100.000 Error@1 2.063 413 | Test Prec@1 89.440 Prec@5 99.798 Error@1 10.560 414 | 415 | [2024-11-19 09:45:19] [Epoch=065/200] [Need : 00:23:55] [learning_rate=0.0761] [Best : Accuracy=90.87, Error=9.13] 416 | Epoch: [065][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0121 (0.0121) Prec@1 96.875 (96.875) Prec@5 100.000 (100.000) [2024-11-19 09:45:19] 417 | Train Prec@1 98.095 Prec@5 100.000 Error@1 1.905 418 | Test Prec@1 85.942 Prec@5 99.123 Error@1 14.058 419 | 420 | [2024-11-19 09:45:29] [Epoch=066/200] [Need : 00:23:44] [learning_rate=0.0755] [Best : Accuracy=90.87, Error=9.13] 421 | Epoch: [066][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0194 (0.0194) Prec@1 95.312 (95.312) Prec@5 100.000 (100.000) [2024-11-19 09:45:30] 422 | Train Prec@1 98.095 Prec@5 100.000 Error@1 1.905 423 | Test Prec@1 88.066 Prec@5 99.646 Error@1 11.934 424 | 425 | [2024-11-19 09:45:40] [Epoch=067/200] [Need : 00:23:34] [learning_rate=0.0748] [Best : Accuracy=90.87, Error=9.13] 426 | Epoch: [067][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0071 (0.0071) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:45:40] 427 | Train Prec@1 98.201 Prec@5 100.000 Error@1 1.799 428 | Test Prec@1 89.325 Prec@5 99.815 Error@1 10.675 429 | 430 | [2024-11-19 09:45:51] [Epoch=068/200] [Need : 00:23:23] [learning_rate=0.0741] [Best : Accuracy=90.87, Error=9.13] 431 | Epoch: [068][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0110 (0.0110) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:45:51] 432 | Train Prec@1 98.254 Prec@5 100.000 Error@1 1.746 433 | Test Prec@1 88.947 Prec@5 99.798 Error@1 11.053 434 | 435 | [2024-11-19 09:46:01] [Epoch=069/200] [Need : 00:23:12] [learning_rate=0.0734] [Best : Accuracy=90.87, Error=9.13] 436 | Epoch: [069][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0095 (0.0095) Prec@1 98.438 (98.438) Prec@5 100.000 (100.000) [2024-11-19 09:46:01] 437 | Train Prec@1 96.984 Prec@5 100.000 Error@1 3.016 438 | Test Prec@1 90.691 Prec@5 99.700 Error@1 9.309 439 | 440 | [2024-11-19 09:46:12] [Epoch=070/200] [Need : 00:23:02] [learning_rate=0.0727] [Best : Accuracy=90.87, Error=9.13] 441 | Epoch: [070][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0057 (0.0057) Prec@1 98.438 (98.438) Prec@5 100.000 (100.000) [2024-11-19 09:46:12] 442 | Train Prec@1 97.937 Prec@5 100.000 Error@1 2.063 443 | Test Prec@1 79.979 Prec@5 98.815 Error@1 20.021 444 | 445 | [2024-11-19 09:46:22] [Epoch=071/200] [Need : 00:22:51] [learning_rate=0.0720] [Best : Accuracy=90.87, Error=9.13] 446 | Epoch: [071][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0025 (0.0025) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:46:23] 447 | Train Prec@1 97.884 Prec@5 100.000 Error@1 2.116 448 | Test Prec@1 89.486 Prec@5 99.749 Error@1 10.514 449 | 450 | [2024-11-19 09:46:33] [Epoch=072/200] [Need : 00:22:40] [learning_rate=0.0713] [Best : Accuracy=90.87, Error=9.13] 451 | Epoch: [072][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0048 (0.0048) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:46:33] 452 | Train Prec@1 99.048 Prec@5 100.000 Error@1 0.952 453 | Test Prec@1 89.630 Prec@5 99.634 Error@1 10.370 454 | 455 | [2024-11-19 09:46:43] [Epoch=073/200] [Need : 00:22:29] [learning_rate=0.0706] [Best : Accuracy=90.87, Error=9.13] 456 | Epoch: [073][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0151 (0.0151) Prec@1 98.438 (98.438) Prec@5 100.000 (100.000) [2024-11-19 09:46:44] 457 | Train Prec@1 98.360 Prec@5 100.000 Error@1 1.640 458 | Test Prec@1 90.016 Prec@5 99.827 Error@1 9.984 459 | 460 | [2024-11-19 09:46:54] [Epoch=074/200] [Need : 00:22:18] [learning_rate=0.0699] [Best : Accuracy=90.87, Error=9.13] 461 | Epoch: [074][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0136 (0.0136) Prec@1 97.656 (97.656) Prec@5 100.000 (100.000) [2024-11-19 09:46:54] 462 | Train Prec@1 98.042 Prec@5 100.000 Error@1 1.958 463 | Test Prec@1 88.436 Prec@5 99.737 Error@1 11.564 464 | 465 | [2024-11-19 09:47:04] [Epoch=075/200] [Need : 00:22:08] [learning_rate=0.0691] [Best : Accuracy=90.87, Error=9.13] 466 | Epoch: [075][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0051 (0.0051) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:47:05] 467 | Train Prec@1 98.677 Prec@5 100.000 Error@1 1.323 468 | Test Prec@1 88.811 Prec@5 99.733 Error@1 11.189 469 | 470 | [2024-11-19 09:47:15] [Epoch=076/200] [Need : 00:21:57] [learning_rate=0.0684] [Best : Accuracy=90.87, Error=9.13] 471 | Epoch: [076][000/128] Time 0.134 (0.134) Data 0.000 (0.000) Loss 0.0049 (0.0049) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:47:15] 472 | Train Prec@1 99.206 Prec@5 100.000 Error@1 0.794 473 | Test Prec@1 86.292 Prec@5 99.700 Error@1 13.708 474 | 475 | [2024-11-19 09:47:25] [Epoch=077/200] [Need : 00:21:46] [learning_rate=0.0677] [Best : Accuracy=90.87, Error=9.13] 476 | Epoch: [077][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0103 (0.0103) Prec@1 98.438 (98.438) Prec@5 100.000 (100.000) [2024-11-19 09:47:26] 477 | Train Prec@1 98.307 Prec@5 100.000 Error@1 1.693 478 | Test Prec@1 90.852 Prec@5 99.852 Error@1 9.148 479 | 480 | [2024-11-19 09:47:36] [Epoch=078/200] [Need : 00:21:35] [learning_rate=0.0669] [Best : Accuracy=90.87, Error=9.13] 481 | Epoch: [078][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0160 (0.0160) Prec@1 97.656 (97.656) Prec@5 100.000 (100.000) [2024-11-19 09:47:36] 482 | Train Prec@1 98.995 Prec@5 100.000 Error@1 1.005 483 | Test Prec@1 87.296 Prec@5 99.819 Error@1 12.704 484 | 485 | [2024-11-19 09:47:47] [Epoch=079/200] [Need : 00:21:25] [learning_rate=0.0662] [Best : Accuracy=90.87, Error=9.13] 486 | Epoch: [079][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0043 (0.0043) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:47:47] 487 | Train Prec@1 98.995 Prec@5 100.000 Error@1 1.005 488 | Test Prec@1 90.362 Prec@5 99.860 Error@1 9.638 489 | 490 | [2024-11-19 09:47:57] [Epoch=080/200] [Need : 00:21:14] [learning_rate=0.0655] [Best : Accuracy=90.87, Error=9.13] 491 | Epoch: [080][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0033 (0.0033) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:47:57] 492 | Train Prec@1 99.471 Prec@5 100.000 Error@1 0.529 493 | Test Prec@1 91.807 Prec@5 99.848 Error@1 8.193 494 | 495 | [2024-11-19 09:48:08] [Epoch=081/200] [Need : 00:21:03] [learning_rate=0.0647] [Best : Accuracy=91.81, Error=8.19] 496 | Epoch: [081][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0032 (0.0032) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:48:08] 497 | Train Prec@1 98.730 Prec@5 100.000 Error@1 1.270 498 | Test Prec@1 90.914 Prec@5 99.827 Error@1 9.086 499 | 500 | [2024-11-19 09:48:18] [Epoch=082/200] [Need : 00:20:52] [learning_rate=0.0639] [Best : Accuracy=91.81, Error=8.19] 501 | Epoch: [082][000/128] Time 0.131 (0.131) Data 0.000 (0.000) Loss 0.0035 (0.0035) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:48:19] 502 | Train Prec@1 99.259 Prec@5 100.000 Error@1 0.741 503 | Test Prec@1 91.519 Prec@5 99.786 Error@1 8.481 504 | 505 | [2024-11-19 09:48:29] [Epoch=083/200] [Need : 00:20:42] [learning_rate=0.0632] [Best : Accuracy=91.81, Error=8.19] 506 | Epoch: [083][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0046 (0.0046) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:48:29] 507 | Train Prec@1 99.259 Prec@5 100.000 Error@1 0.741 508 | Test Prec@1 89.930 Prec@5 99.782 Error@1 10.070 509 | 510 | [2024-11-19 09:48:39] [Epoch=084/200] [Need : 00:20:31] [learning_rate=0.0624] [Best : Accuracy=91.81, Error=8.19] 511 | Epoch: [084][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0044 (0.0044) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:48:40] 512 | Train Prec@1 99.577 Prec@5 100.000 Error@1 0.423 513 | Test Prec@1 91.765 Prec@5 99.823 Error@1 8.235 514 | 515 | [2024-11-19 09:48:50] [Epoch=085/200] [Need : 00:20:20] [learning_rate=0.0617] [Best : Accuracy=91.81, Error=8.19] 516 | Epoch: [085][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0018 (0.0018) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:48:50] 517 | Train Prec@1 99.365 Prec@5 100.000 Error@1 0.635 518 | Test Prec@1 91.901 Prec@5 99.761 Error@1 8.099 519 | 520 | [2024-11-19 09:49:00] [Epoch=086/200] [Need : 00:20:10] [learning_rate=0.0609] [Best : Accuracy=91.90, Error=8.10] 521 | Epoch: [086][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0072 (0.0072) Prec@1 98.438 (98.438) Prec@5 100.000 (100.000) [2024-11-19 09:49:01] 522 | Train Prec@1 99.418 Prec@5 100.000 Error@1 0.582 523 | Test Prec@1 90.720 Prec@5 99.733 Error@1 9.280 524 | 525 | [2024-11-19 09:49:11] [Epoch=087/200] [Need : 00:19:59] [learning_rate=0.0601] [Best : Accuracy=91.90, Error=8.10] 526 | Epoch: [087][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0047 (0.0047) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:49:11] 527 | Train Prec@1 99.206 Prec@5 100.000 Error@1 0.794 528 | Test Prec@1 89.403 Prec@5 99.765 Error@1 10.597 529 | 530 | [2024-11-19 09:49:21] [Epoch=088/200] [Need : 00:19:48] [learning_rate=0.0594] [Best : Accuracy=91.90, Error=8.10] 531 | Epoch: [088][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0024 (0.0024) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:49:22] 532 | Train Prec@1 98.995 Prec@5 99.947 Error@1 1.005 533 | Test Prec@1 89.103 Prec@5 99.490 Error@1 10.897 534 | 535 | [2024-11-19 09:49:32] [Epoch=089/200] [Need : 00:19:37] [learning_rate=0.0586] [Best : Accuracy=91.90, Error=8.10] 536 | Epoch: [089][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0221 (0.0221) Prec@1 97.656 (97.656) Prec@5 100.000 (100.000) [2024-11-19 09:49:32] 537 | Train Prec@1 98.783 Prec@5 100.000 Error@1 1.217 538 | Test Prec@1 91.000 Prec@5 99.761 Error@1 9.000 539 | 540 | [2024-11-19 09:49:42] [Epoch=090/200] [Need : 00:19:27] [learning_rate=0.0578] [Best : Accuracy=91.90, Error=8.10] 541 | Epoch: [090][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0045 (0.0045) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:49:43] 542 | Train Prec@1 98.836 Prec@5 100.000 Error@1 1.164 543 | Test Prec@1 90.288 Prec@5 99.720 Error@1 9.712 544 | 545 | [2024-11-19 09:49:53] [Epoch=091/200] [Need : 00:19:16] [learning_rate=0.0570] [Best : Accuracy=91.90, Error=8.10] 546 | Epoch: [091][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0104 (0.0104) Prec@1 98.438 (98.438) Prec@5 100.000 (100.000) [2024-11-19 09:49:53] 547 | Train Prec@1 98.783 Prec@5 100.000 Error@1 1.217 548 | Test Prec@1 88.132 Prec@5 99.704 Error@1 11.868 549 | 550 | [2024-11-19 09:50:04] [Epoch=092/200] [Need : 00:19:05] [learning_rate=0.0563] [Best : Accuracy=91.90, Error=8.10] 551 | Epoch: [092][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0317 (0.0317) Prec@1 96.875 (96.875) Prec@5 100.000 (100.000) [2024-11-19 09:50:04] 552 | Train Prec@1 98.307 Prec@5 100.000 Error@1 1.693 553 | Test Prec@1 87.230 Prec@5 99.535 Error@1 12.770 554 | 555 | [2024-11-19 09:50:14] [Epoch=093/200] [Need : 00:18:55] [learning_rate=0.0555] [Best : Accuracy=91.90, Error=8.10] 556 | Epoch: [093][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0042 (0.0042) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:50:15] 557 | Train Prec@1 98.836 Prec@5 100.000 Error@1 1.164 558 | Test Prec@1 89.588 Prec@5 99.728 Error@1 10.412 559 | 560 | [2024-11-19 09:50:25] [Epoch=094/200] [Need : 00:18:44] [learning_rate=0.0547] [Best : Accuracy=91.90, Error=8.10] 561 | Epoch: [094][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0090 (0.0090) Prec@1 97.656 (97.656) Prec@5 100.000 (100.000) [2024-11-19 09:50:25] 562 | Train Prec@1 98.995 Prec@5 100.000 Error@1 1.005 563 | Test Prec@1 92.099 Prec@5 99.807 Error@1 7.901 564 | 565 | [2024-11-19 09:50:35] [Epoch=095/200] [Need : 00:18:33] [learning_rate=0.0539] [Best : Accuracy=92.10, Error=7.90] 566 | Epoch: [095][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0049 (0.0049) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:50:36] 567 | Train Prec@1 98.836 Prec@5 100.000 Error@1 1.164 568 | Test Prec@1 88.798 Prec@5 99.650 Error@1 11.202 569 | 570 | [2024-11-19 09:50:46] [Epoch=096/200] [Need : 00:18:23] [learning_rate=0.0531] [Best : Accuracy=92.10, Error=7.90] 571 | Epoch: [096][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0107 (0.0107) Prec@1 97.656 (97.656) Prec@5 100.000 (100.000) [2024-11-19 09:50:46] 572 | Train Prec@1 98.677 Prec@5 100.000 Error@1 1.323 573 | Test Prec@1 91.782 Prec@5 99.835 Error@1 8.218 574 | 575 | [2024-11-19 09:50:56] [Epoch=097/200] [Need : 00:18:12] [learning_rate=0.0524] [Best : Accuracy=92.10, Error=7.90] 576 | Epoch: [097][000/128] Time 0.138 (0.138) Data 0.000 (0.000) Loss 0.0052 (0.0052) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:50:57] 577 | Train Prec@1 99.312 Prec@5 100.000 Error@1 0.688 578 | Test Prec@1 91.786 Prec@5 99.753 Error@1 8.214 579 | 580 | [2024-11-19 09:51:07] [Epoch=098/200] [Need : 00:18:01] [learning_rate=0.0516] [Best : Accuracy=92.10, Error=7.90] 581 | Epoch: [098][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0048 (0.0048) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:51:07] 582 | Train Prec@1 99.630 Prec@5 100.000 Error@1 0.370 583 | Test Prec@1 92.288 Prec@5 99.835 Error@1 7.712 584 | 585 | [2024-11-19 09:51:17] [Epoch=099/200] [Need : 00:17:51] [learning_rate=0.0508] [Best : Accuracy=92.29, Error=7.71] 586 | Epoch: [099][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0026 (0.0026) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:51:18] 587 | Train Prec@1 99.788 Prec@5 100.000 Error@1 0.212 588 | Test Prec@1 92.490 Prec@5 99.811 Error@1 7.510 589 | 590 | [2024-11-19 09:51:28] [Epoch=100/200] [Need : 00:17:40] [learning_rate=0.0500] [Best : Accuracy=92.49, Error=7.51] 591 | Epoch: [100][000/128] Time 0.138 (0.138) Data 0.000 (0.000) Loss 0.0038 (0.0038) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:51:28] 592 | Train Prec@1 99.577 Prec@5 100.000 Error@1 0.423 593 | Test Prec@1 91.889 Prec@5 99.831 Error@1 8.111 594 | 595 | [2024-11-19 09:51:38] [Epoch=101/200] [Need : 00:17:29] [learning_rate=0.0492] [Best : Accuracy=92.49, Error=7.51] 596 | Epoch: [101][000/128] Time 0.139 (0.139) Data 0.000 (0.000) Loss 0.0037 (0.0037) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:51:39] 597 | Train Prec@1 99.630 Prec@5 100.000 Error@1 0.370 598 | Test Prec@1 93.012 Prec@5 99.815 Error@1 6.988 599 | 600 | [2024-11-19 09:51:49] [Epoch=102/200] [Need : 00:17:19] [learning_rate=0.0484] [Best : Accuracy=93.01, Error=6.99] 601 | Epoch: [102][000/128] Time 0.134 (0.134) Data 0.000 (0.000) Loss 0.0021 (0.0021) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:51:50] 602 | Train Prec@1 99.524 Prec@5 100.000 Error@1 0.476 603 | Test Prec@1 92.123 Prec@5 99.827 Error@1 7.877 604 | 605 | [2024-11-19 09:52:00] [Epoch=103/200] [Need : 00:17:08] [learning_rate=0.0476] [Best : Accuracy=93.01, Error=6.99] 606 | Epoch: [103][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0072 (0.0072) Prec@1 97.656 (97.656) Prec@5 100.000 (100.000) [2024-11-19 09:52:00] 607 | Train Prec@1 99.471 Prec@5 100.000 Error@1 0.529 608 | Test Prec@1 90.860 Prec@5 99.733 Error@1 9.140 609 | 610 | [2024-11-19 09:52:10] [Epoch=104/200] [Need : 00:16:58] [learning_rate=0.0469] [Best : Accuracy=93.01, Error=6.99] 611 | Epoch: [104][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0015 (0.0015) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:52:11] 612 | Train Prec@1 99.735 Prec@5 100.000 Error@1 0.265 613 | Test Prec@1 92.004 Prec@5 99.761 Error@1 7.996 614 | 615 | [2024-11-19 09:52:21] [Epoch=105/200] [Need : 00:16:47] [learning_rate=0.0461] [Best : Accuracy=93.01, Error=6.99] 616 | Epoch: [105][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0008 (0.0008) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:52:21] 617 | Train Prec@1 99.788 Prec@5 100.000 Error@1 0.212 618 | Test Prec@1 92.634 Prec@5 99.811 Error@1 7.366 619 | 620 | [2024-11-19 09:52:31] [Epoch=106/200] [Need : 00:16:36] [learning_rate=0.0453] [Best : Accuracy=93.01, Error=6.99] 621 | Epoch: [106][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0038 (0.0038) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:52:32] 622 | Train Prec@1 99.735 Prec@5 100.000 Error@1 0.265 623 | Test Prec@1 90.844 Prec@5 99.815 Error@1 9.156 624 | 625 | [2024-11-19 09:52:42] [Epoch=107/200] [Need : 00:16:25] [learning_rate=0.0445] [Best : Accuracy=93.01, Error=6.99] 626 | Epoch: [107][000/128] Time 0.135 (0.135) Data 0.000 (0.000) Loss 0.0009 (0.0009) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:52:42] 627 | Train Prec@1 99.841 Prec@5 100.000 Error@1 0.159 628 | Test Prec@1 90.107 Prec@5 99.790 Error@1 9.893 629 | 630 | [2024-11-19 09:52:52] [Epoch=108/200] [Need : 00:16:15] [learning_rate=0.0437] [Best : Accuracy=93.01, Error=6.99] 631 | Epoch: [108][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0014 (0.0014) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:52:53] 632 | Train Prec@1 99.683 Prec@5 100.000 Error@1 0.317 633 | Test Prec@1 92.761 Prec@5 99.786 Error@1 7.239 634 | 635 | [2024-11-19 09:53:03] [Epoch=109/200] [Need : 00:16:04] [learning_rate=0.0430] [Best : Accuracy=93.01, Error=6.99] 636 | Epoch: [109][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0016 (0.0016) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:53:03] 637 | Train Prec@1 99.788 Prec@5 100.000 Error@1 0.212 638 | Test Prec@1 93.144 Prec@5 99.827 Error@1 6.856 639 | 640 | [2024-11-19 09:53:13] [Epoch=110/200] [Need : 00:15:53] [learning_rate=0.0422] [Best : Accuracy=93.14, Error=6.86] 641 | Epoch: [110][000/128] Time 0.138 (0.138) Data 0.000 (0.000) Loss 0.0030 (0.0030) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:53:14] 642 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 643 | Test Prec@1 93.247 Prec@5 99.819 Error@1 6.753 644 | 645 | [2024-11-19 09:53:24] [Epoch=111/200] [Need : 00:15:43] [learning_rate=0.0414] [Best : Accuracy=93.25, Error=6.75] 646 | Epoch: [111][000/128] Time 0.134 (0.134) Data 0.000 (0.000) Loss 0.0011 (0.0011) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:53:24] 647 | Train Prec@1 99.841 Prec@5 100.000 Error@1 0.159 648 | Test Prec@1 93.189 Prec@5 99.794 Error@1 6.811 649 | 650 | [2024-11-19 09:53:35] [Epoch=112/200] [Need : 00:15:32] [learning_rate=0.0406] [Best : Accuracy=93.25, Error=6.75] 651 | Epoch: [112][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0013 (0.0013) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:53:35] 652 | Train Prec@1 99.841 Prec@5 100.000 Error@1 0.159 653 | Test Prec@1 92.889 Prec@5 99.815 Error@1 7.111 654 | 655 | [2024-11-19 09:53:45] [Epoch=113/200] [Need : 00:15:22] [learning_rate=0.0399] [Best : Accuracy=93.25, Error=6.75] 656 | Epoch: [113][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0019 (0.0019) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:53:45] 657 | Train Prec@1 99.735 Prec@5 100.000 Error@1 0.265 658 | Test Prec@1 92.947 Prec@5 99.885 Error@1 7.053 659 | 660 | [2024-11-19 09:53:56] [Epoch=114/200] [Need : 00:15:11] [learning_rate=0.0391] [Best : Accuracy=93.25, Error=6.75] 661 | Epoch: [114][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0017 (0.0017) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:53:56] 662 | Train Prec@1 99.788 Prec@5 100.000 Error@1 0.212 663 | Test Prec@1 93.012 Prec@5 99.782 Error@1 6.988 664 | 665 | [2024-11-19 09:54:06] [Epoch=115/200] [Need : 00:15:00] [learning_rate=0.0383] [Best : Accuracy=93.25, Error=6.75] 666 | Epoch: [115][000/128] Time 0.134 (0.134) Data 0.000 (0.000) Loss 0.0013 (0.0013) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:54:06] 667 | Train Prec@1 99.894 Prec@5 100.000 Error@1 0.106 668 | Test Prec@1 92.942 Prec@5 99.798 Error@1 7.058 669 | 670 | [2024-11-19 09:54:17] [Epoch=116/200] [Need : 00:14:50] [learning_rate=0.0376] [Best : Accuracy=93.25, Error=6.75] 671 | Epoch: [116][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:54:17] 672 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 673 | Test Prec@1 93.062 Prec@5 99.807 Error@1 6.938 674 | 675 | [2024-11-19 09:54:27] [Epoch=117/200] [Need : 00:14:39] [learning_rate=0.0368] [Best : Accuracy=93.25, Error=6.75] 676 | Epoch: [117][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0029 (0.0029) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:54:28] 677 | Train Prec@1 99.788 Prec@5 100.000 Error@1 0.212 678 | Test Prec@1 93.354 Prec@5 99.819 Error@1 6.646 679 | 680 | [2024-11-19 09:54:38] [Epoch=118/200] [Need : 00:14:29] [learning_rate=0.0361] [Best : Accuracy=93.35, Error=6.65] 681 | Epoch: [118][000/128] Time 0.134 (0.134) Data 0.000 (0.000) Loss 0.0013 (0.0013) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:54:38] 682 | Train Prec@1 99.735 Prec@5 100.000 Error@1 0.265 683 | Test Prec@1 93.309 Prec@5 99.827 Error@1 6.691 684 | 685 | [2024-11-19 09:54:49] [Epoch=119/200] [Need : 00:14:18] [learning_rate=0.0353] [Best : Accuracy=93.35, Error=6.65] 686 | Epoch: [119][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0016 (0.0016) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:54:49] 687 | Train Prec@1 99.735 Prec@5 100.000 Error@1 0.265 688 | Test Prec@1 93.502 Prec@5 99.831 Error@1 6.498 689 | 690 | [2024-11-19 09:54:59] [Epoch=120/200] [Need : 00:14:07] [learning_rate=0.0345] [Best : Accuracy=93.50, Error=6.50] 691 | Epoch: [120][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0013 (0.0013) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:55:00] 692 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 693 | Test Prec@1 93.251 Prec@5 99.831 Error@1 6.749 694 | 695 | [2024-11-19 09:55:10] [Epoch=121/200] [Need : 00:13:57] [learning_rate=0.0338] [Best : Accuracy=93.50, Error=6.50] 696 | Epoch: [121][000/128] Time 0.139 (0.139) Data 0.000 (0.000) Loss 0.0007 (0.0007) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:55:10] 697 | Train Prec@1 99.894 Prec@5 100.000 Error@1 0.106 698 | Test Prec@1 92.979 Prec@5 99.835 Error@1 7.021 699 | 700 | [2024-11-19 09:55:20] [Epoch=122/200] [Need : 00:13:46] [learning_rate=0.0331] [Best : Accuracy=93.50, Error=6.50] 701 | Epoch: [122][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0009 (0.0009) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:55:21] 702 | Train Prec@1 99.788 Prec@5 100.000 Error@1 0.212 703 | Test Prec@1 93.230 Prec@5 99.823 Error@1 6.770 704 | 705 | [2024-11-19 09:55:31] [Epoch=123/200] [Need : 00:13:35] [learning_rate=0.0323] [Best : Accuracy=93.50, Error=6.50] 706 | Epoch: [123][000/128] Time 0.135 (0.135) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:55:31] 707 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 708 | Test Prec@1 93.313 Prec@5 99.835 Error@1 6.687 709 | 710 | [2024-11-19 09:55:41] [Epoch=124/200] [Need : 00:13:25] [learning_rate=0.0316] [Best : Accuracy=93.50, Error=6.50] 711 | Epoch: [124][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0011 (0.0011) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:55:42] 712 | Train Prec@1 99.841 Prec@5 100.000 Error@1 0.159 713 | Test Prec@1 93.580 Prec@5 99.835 Error@1 6.420 714 | 715 | [2024-11-19 09:55:52] [Epoch=125/200] [Need : 00:13:14] [learning_rate=0.0309] [Best : Accuracy=93.58, Error=6.42] 716 | Epoch: [125][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0005 (0.0005) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:55:52] 717 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 718 | Test Prec@1 93.420 Prec@5 99.840 Error@1 6.580 719 | 720 | [2024-11-19 09:56:02] [Epoch=126/200] [Need : 00:13:03] [learning_rate=0.0301] [Best : Accuracy=93.58, Error=6.42] 721 | Epoch: [126][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0005 (0.0005) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:56:03] 722 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 723 | Test Prec@1 93.502 Prec@5 99.835 Error@1 6.498 724 | 725 | [2024-11-19 09:56:13] [Epoch=127/200] [Need : 00:12:53] [learning_rate=0.0294] [Best : Accuracy=93.58, Error=6.42] 726 | Epoch: [127][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0007 (0.0007) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:56:13] 727 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 728 | Test Prec@1 93.531 Prec@5 99.827 Error@1 6.469 729 | 730 | [2024-11-19 09:56:23] [Epoch=128/200] [Need : 00:12:42] [learning_rate=0.0287] [Best : Accuracy=93.58, Error=6.42] 731 | Epoch: [128][000/128] Time 0.131 (0.131) Data 0.000 (0.000) Loss 0.0009 (0.0009) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:56:24] 732 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 733 | Test Prec@1 93.572 Prec@5 99.827 Error@1 6.428 734 | 735 | [2024-11-19 09:56:34] [Epoch=129/200] [Need : 00:12:32] [learning_rate=0.0280] [Best : Accuracy=93.58, Error=6.42] 736 | Epoch: [129][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0027 (0.0027) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:56:35] 737 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 738 | Test Prec@1 93.519 Prec@5 99.823 Error@1 6.481 739 | 740 | [2024-11-19 09:56:45] [Epoch=130/200] [Need : 00:12:21] [learning_rate=0.0273] [Best : Accuracy=93.58, Error=6.42] 741 | Epoch: [130][000/128] Time 0.135 (0.135) Data 0.000 (0.000) Loss 0.0005 (0.0005) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:56:45] 742 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 743 | Test Prec@1 93.675 Prec@5 99.827 Error@1 6.325 744 | 745 | [2024-11-19 09:56:55] [Epoch=131/200] [Need : 00:12:10] [learning_rate=0.0266] [Best : Accuracy=93.67, Error=6.33] 746 | Epoch: [131][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:56:56] 747 | Train Prec@1 99.788 Prec@5 100.000 Error@1 0.212 748 | Test Prec@1 92.086 Prec@5 99.774 Error@1 7.914 749 | 750 | [2024-11-19 09:57:06] [Epoch=132/200] [Need : 00:12:00] [learning_rate=0.0259] [Best : Accuracy=93.67, Error=6.33] 751 | Epoch: [132][000/128] Time 0.135 (0.135) Data 0.000 (0.000) Loss 0.0061 (0.0061) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:57:06] 752 | Train Prec@1 99.683 Prec@5 100.000 Error@1 0.317 753 | Test Prec@1 93.284 Prec@5 99.852 Error@1 6.716 754 | 755 | [2024-11-19 09:57:16] [Epoch=133/200] [Need : 00:11:49] [learning_rate=0.0252] [Best : Accuracy=93.67, Error=6.33] 756 | Epoch: [133][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0010 (0.0010) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:57:17] 757 | Train Prec@1 99.841 Prec@5 100.000 Error@1 0.159 758 | Test Prec@1 93.165 Prec@5 99.840 Error@1 6.835 759 | 760 | [2024-11-19 09:57:27] [Epoch=134/200] [Need : 00:11:39] [learning_rate=0.0245] [Best : Accuracy=93.67, Error=6.33] 761 | Epoch: [134][000/128] Time 0.138 (0.138) Data 0.000 (0.000) Loss 0.0008 (0.0008) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:57:27] 762 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 763 | Test Prec@1 93.329 Prec@5 99.831 Error@1 6.671 764 | 765 | [2024-11-19 09:57:37] [Epoch=135/200] [Need : 00:11:28] [learning_rate=0.0239] [Best : Accuracy=93.67, Error=6.33] 766 | Epoch: [135][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0050 (0.0050) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:57:38] 767 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 768 | Test Prec@1 92.695 Prec@5 99.856 Error@1 7.305 769 | 770 | [2024-11-19 09:57:48] [Epoch=136/200] [Need : 00:11:17] [learning_rate=0.0232] [Best : Accuracy=93.67, Error=6.33] 771 | Epoch: [136][000/128] Time 0.131 (0.131) Data 0.000 (0.000) Loss 0.0025 (0.0025) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:57:48] 772 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 773 | Test Prec@1 93.428 Prec@5 99.860 Error@1 6.572 774 | 775 | [2024-11-19 09:57:58] [Epoch=137/200] [Need : 00:11:07] [learning_rate=0.0225] [Best : Accuracy=93.67, Error=6.33] 776 | Epoch: [137][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:57:59] 777 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 778 | Test Prec@1 93.572 Prec@5 99.877 Error@1 6.428 779 | 780 | [2024-11-19 09:58:09] [Epoch=138/200] [Need : 00:10:56] [learning_rate=0.0219] [Best : Accuracy=93.67, Error=6.33] 781 | Epoch: [138][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0016 (0.0016) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:58:09] 782 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 783 | Test Prec@1 93.502 Prec@5 99.852 Error@1 6.498 784 | 785 | [2024-11-19 09:58:19] [Epoch=139/200] [Need : 00:10:45] [learning_rate=0.0212] [Best : Accuracy=93.67, Error=6.33] 786 | Epoch: [139][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0008 (0.0008) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:58:20] 787 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 788 | Test Prec@1 93.580 Prec@5 99.864 Error@1 6.420 789 | 790 | [2024-11-19 09:58:30] [Epoch=140/200] [Need : 00:10:35] [learning_rate=0.0206] [Best : Accuracy=93.67, Error=6.33] 791 | Epoch: [140][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0009 (0.0009) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:58:30] 792 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 793 | Test Prec@1 93.626 Prec@5 99.864 Error@1 6.374 794 | 795 | [2024-11-19 09:58:41] [Epoch=141/200] [Need : 00:10:24] [learning_rate=0.0200] [Best : Accuracy=93.67, Error=6.33] 796 | Epoch: [141][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:58:41] 797 | Train Prec@1 99.894 Prec@5 100.000 Error@1 0.106 798 | Test Prec@1 93.646 Prec@5 99.856 Error@1 6.354 799 | 800 | [2024-11-19 09:58:51] [Epoch=142/200] [Need : 00:10:14] [learning_rate=0.0194] [Best : Accuracy=93.67, Error=6.33] 801 | Epoch: [142][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0007 (0.0007) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:58:52] 802 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 803 | Test Prec@1 93.572 Prec@5 99.848 Error@1 6.428 804 | 805 | [2024-11-19 09:59:02] [Epoch=143/200] [Need : 00:10:03] [learning_rate=0.0187] [Best : Accuracy=93.67, Error=6.33] 806 | Epoch: [143][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0009 (0.0009) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:59:02] 807 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 808 | Test Prec@1 93.683 Prec@5 99.852 Error@1 6.317 809 | 810 | [2024-11-19 09:59:12] [Epoch=144/200] [Need : 00:09:52] [learning_rate=0.0181] [Best : Accuracy=93.68, Error=6.32] 811 | Epoch: [144][000/128] Time 0.134 (0.134) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:59:13] 812 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 813 | Test Prec@1 93.753 Prec@5 99.840 Error@1 6.247 814 | 815 | [2024-11-19 09:59:23] [Epoch=145/200] [Need : 00:09:42] [learning_rate=0.0175] [Best : Accuracy=93.75, Error=6.25] 816 | Epoch: [145][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0007 (0.0007) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:59:23] 817 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 818 | Test Prec@1 93.543 Prec@5 99.840 Error@1 6.457 819 | 820 | [2024-11-19 09:59:33] [Epoch=146/200] [Need : 00:09:31] [learning_rate=0.0169] [Best : Accuracy=93.75, Error=6.25] 821 | Epoch: [146][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0022 (0.0022) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:59:34] 822 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 823 | Test Prec@1 93.671 Prec@5 99.831 Error@1 6.329 824 | 825 | [2024-11-19 09:59:44] [Epoch=147/200] [Need : 00:09:21] [learning_rate=0.0163] [Best : Accuracy=93.75, Error=6.25] 826 | Epoch: [147][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 09:59:44] 827 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 828 | Test Prec@1 93.658 Prec@5 99.848 Error@1 6.342 829 | 830 | [2024-11-19 09:59:54] [Epoch=148/200] [Need : 00:09:10] [learning_rate=0.0158] [Best : Accuracy=93.75, Error=6.25] 831 | Epoch: [148][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0031 (0.0031) Prec@1 99.219 (99.219) Prec@5 100.000 (100.000) [2024-11-19 09:59:55] 832 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 833 | Test Prec@1 93.708 Prec@5 99.835 Error@1 6.292 834 | 835 | [2024-11-19 10:00:05] [Epoch=149/200] [Need : 00:08:59] [learning_rate=0.0152] [Best : Accuracy=93.75, Error=6.25] 836 | Epoch: [149][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0010 (0.0010) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:00:05] 837 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 838 | Test Prec@1 93.687 Prec@5 99.835 Error@1 6.313 839 | 840 | [2024-11-19 10:00:15] [Epoch=150/200] [Need : 00:08:49] [learning_rate=0.0146] [Best : Accuracy=93.75, Error=6.25] 841 | Epoch: [150][000/128] Time 0.141 (0.141) Data 0.000 (0.000) Loss 0.0011 (0.0011) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:00:16] 842 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 843 | Test Prec@1 93.700 Prec@5 99.844 Error@1 6.300 844 | 845 | [2024-11-19 10:00:26] [Epoch=151/200] [Need : 00:08:38] [learning_rate=0.0141] [Best : Accuracy=93.75, Error=6.25] 846 | Epoch: [151][000/128] Time 0.130 (0.130) Data 0.000 (0.000) Loss 0.0010 (0.0010) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:00:27] 847 | Train Prec@1 99.894 Prec@5 100.000 Error@1 0.106 848 | Test Prec@1 93.630 Prec@5 99.844 Error@1 6.370 849 | 850 | [2024-11-19 10:00:37] [Epoch=152/200] [Need : 00:08:28] [learning_rate=0.0136] [Best : Accuracy=93.75, Error=6.25] 851 | Epoch: [152][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0007 (0.0007) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:00:37] 852 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 853 | Test Prec@1 93.556 Prec@5 99.844 Error@1 6.444 854 | 855 | [2024-11-19 10:00:47] [Epoch=153/200] [Need : 00:08:17] [learning_rate=0.0130] [Best : Accuracy=93.75, Error=6.25] 856 | Epoch: [153][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:00:48] 857 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 858 | Test Prec@1 93.704 Prec@5 99.844 Error@1 6.296 859 | 860 | [2024-11-19 10:00:58] [Epoch=154/200] [Need : 00:08:07] [learning_rate=0.0125] [Best : Accuracy=93.75, Error=6.25] 861 | Epoch: [154][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:00:58] 862 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 863 | Test Prec@1 93.835 Prec@5 99.835 Error@1 6.165 864 | 865 | [2024-11-19 10:01:08] [Epoch=155/200] [Need : 00:07:56] [learning_rate=0.0120] [Best : Accuracy=93.84, Error=6.16] 866 | Epoch: [155][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:01:09] 867 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 868 | Test Prec@1 93.802 Prec@5 99.840 Error@1 6.198 869 | 870 | [2024-11-19 10:01:19] [Epoch=156/200] [Need : 00:07:45] [learning_rate=0.0115] [Best : Accuracy=93.84, Error=6.16] 871 | Epoch: [156][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0005 (0.0005) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:01:19] 872 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 873 | Test Prec@1 93.782 Prec@5 99.827 Error@1 6.218 874 | 875 | [2024-11-19 10:01:30] [Epoch=157/200] [Need : 00:07:35] [learning_rate=0.0110] [Best : Accuracy=93.84, Error=6.16] 876 | Epoch: [157][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:01:30] 877 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 878 | Test Prec@1 93.798 Prec@5 99.848 Error@1 6.202 879 | 880 | [2024-11-19 10:01:40] [Epoch=158/200] [Need : 00:07:24] [learning_rate=0.0105] [Best : Accuracy=93.84, Error=6.16] 881 | Epoch: [158][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0009 (0.0009) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:01:41] 882 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 883 | Test Prec@1 93.695 Prec@5 99.840 Error@1 6.305 884 | 885 | [2024-11-19 10:01:51] [Epoch=159/200] [Need : 00:07:14] [learning_rate=0.0100] [Best : Accuracy=93.84, Error=6.16] 886 | Epoch: [159][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0005 (0.0005) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:01:51] 887 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 888 | Test Prec@1 93.741 Prec@5 99.848 Error@1 6.259 889 | 890 | [2024-11-19 10:02:01] [Epoch=160/200] [Need : 00:07:03] [learning_rate=0.0095] [Best : Accuracy=93.84, Error=6.16] 891 | Epoch: [160][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0008 (0.0008) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:02:02] 892 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 893 | Test Prec@1 93.819 Prec@5 99.840 Error@1 6.181 894 | 895 | [2024-11-19 10:02:12] [Epoch=161/200] [Need : 00:06:52] [learning_rate=0.0091] [Best : Accuracy=93.84, Error=6.16] 896 | Epoch: [161][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0010 (0.0010) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:02:12] 897 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 898 | Test Prec@1 93.761 Prec@5 99.831 Error@1 6.239 899 | 900 | [2024-11-19 10:02:22] [Epoch=162/200] [Need : 00:06:42] [learning_rate=0.0086] [Best : Accuracy=93.84, Error=6.16] 901 | Epoch: [162][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:02:23] 902 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 903 | Test Prec@1 93.708 Prec@5 99.848 Error@1 6.292 904 | 905 | [2024-11-19 10:02:33] [Epoch=163/200] [Need : 00:06:31] [learning_rate=0.0082] [Best : Accuracy=93.84, Error=6.16] 906 | Epoch: [163][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0010 (0.0010) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:02:33] 907 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 908 | Test Prec@1 93.712 Prec@5 99.852 Error@1 6.288 909 | 910 | [2024-11-19 10:02:43] [Epoch=164/200] [Need : 00:06:21] [learning_rate=0.0078] [Best : Accuracy=93.84, Error=6.16] 911 | Epoch: [164][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0005 (0.0005) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:02:44] 912 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 913 | Test Prec@1 93.720 Prec@5 99.848 Error@1 6.280 914 | 915 | [2024-11-19 10:02:54] [Epoch=165/200] [Need : 00:06:10] [learning_rate=0.0074] [Best : Accuracy=93.84, Error=6.16] 916 | Epoch: [165][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0010 (0.0010) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:02:54] 917 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 918 | Test Prec@1 93.782 Prec@5 99.831 Error@1 6.218 919 | 920 | [2024-11-19 10:03:04] [Epoch=166/200] [Need : 00:05:59] [learning_rate=0.0070] [Best : Accuracy=93.84, Error=6.16] 921 | Epoch: [166][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0008 (0.0008) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:03:05] 922 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 923 | Test Prec@1 93.827 Prec@5 99.844 Error@1 6.173 924 | 925 | [2024-11-19 10:03:15] [Epoch=167/200] [Need : 00:05:49] [learning_rate=0.0066] [Best : Accuracy=93.84, Error=6.16] 926 | Epoch: [167][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0007 (0.0007) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:03:15] 927 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 928 | Test Prec@1 93.741 Prec@5 99.852 Error@1 6.259 929 | 930 | [2024-11-19 10:03:25] [Epoch=168/200] [Need : 00:05:38] [learning_rate=0.0062] [Best : Accuracy=93.84, Error=6.16] 931 | Epoch: [168][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0005 (0.0005) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:03:26] 932 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 933 | Test Prec@1 93.831 Prec@5 99.840 Error@1 6.169 934 | 935 | [2024-11-19 10:03:36] [Epoch=169/200] [Need : 00:05:28] [learning_rate=0.0058] [Best : Accuracy=93.84, Error=6.16] 936 | Epoch: [169][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:03:36] 937 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 938 | Test Prec@1 93.794 Prec@5 99.852 Error@1 6.206 939 | 940 | [2024-11-19 10:03:46] [Epoch=170/200] [Need : 00:05:17] [learning_rate=0.0054] [Best : Accuracy=93.84, Error=6.16] 941 | Epoch: [170][000/128] Time 0.134 (0.134) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:03:47] 942 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 943 | Test Prec@1 93.741 Prec@5 99.848 Error@1 6.259 944 | 945 | [2024-11-19 10:03:57] [Epoch=171/200] [Need : 00:05:06] [learning_rate=0.0051] [Best : Accuracy=93.84, Error=6.16] 946 | Epoch: [171][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0010 (0.0010) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:03:57] 947 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 948 | Test Prec@1 93.901 Prec@5 99.835 Error@1 6.099 949 | 950 | [2024-11-19 10:04:08] [Epoch=172/200] [Need : 00:04:56] [learning_rate=0.0048] [Best : Accuracy=93.90, Error=6.10] 951 | Epoch: [172][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:04:08] 952 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 953 | Test Prec@1 93.868 Prec@5 99.848 Error@1 6.132 954 | 955 | [2024-11-19 10:04:18] [Epoch=173/200] [Need : 00:04:45] [learning_rate=0.0044] [Best : Accuracy=93.90, Error=6.10] 956 | Epoch: [173][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0009 (0.0009) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:04:19] 957 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 958 | Test Prec@1 93.844 Prec@5 99.844 Error@1 6.156 959 | 960 | [2024-11-19 10:04:29] [Epoch=174/200] [Need : 00:04:35] [learning_rate=0.0041] [Best : Accuracy=93.90, Error=6.10] 961 | Epoch: [174][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:04:29] 962 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 963 | Test Prec@1 93.835 Prec@5 99.848 Error@1 6.165 964 | 965 | [2024-11-19 10:04:39] [Epoch=175/200] [Need : 00:04:24] [learning_rate=0.0038] [Best : Accuracy=93.90, Error=6.10] 966 | Epoch: [175][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0021 (0.0021) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:04:40] 967 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 968 | Test Prec@1 93.778 Prec@5 99.848 Error@1 6.222 969 | 970 | [2024-11-19 10:04:50] [Epoch=176/200] [Need : 00:04:13] [learning_rate=0.0035] [Best : Accuracy=93.90, Error=6.10] 971 | Epoch: [176][000/128] Time 0.140 (0.140) Data 0.000 (0.000) Loss 0.0009 (0.0009) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:04:50] 972 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 973 | Test Prec@1 93.807 Prec@5 99.856 Error@1 6.193 974 | 975 | [2024-11-19 10:05:00] [Epoch=177/200] [Need : 00:04:03] [learning_rate=0.0032] [Best : Accuracy=93.90, Error=6.10] 976 | Epoch: [177][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:05:01] 977 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 978 | Test Prec@1 93.819 Prec@5 99.852 Error@1 6.181 979 | 980 | [2024-11-19 10:05:11] [Epoch=178/200] [Need : 00:03:52] [learning_rate=0.0030] [Best : Accuracy=93.90, Error=6.10] 981 | Epoch: [178][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0004 (0.0004) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:05:11] 982 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 983 | Test Prec@1 93.827 Prec@5 99.848 Error@1 6.173 984 | 985 | [2024-11-19 10:05:22] [Epoch=179/200] [Need : 00:03:42] [learning_rate=0.0027] [Best : Accuracy=93.90, Error=6.10] 986 | Epoch: [179][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0004 (0.0004) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:05:22] 987 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 988 | Test Prec@1 93.835 Prec@5 99.844 Error@1 6.165 989 | 990 | [2024-11-19 10:05:32] [Epoch=180/200] [Need : 00:03:31] [learning_rate=0.0024] [Best : Accuracy=93.90, Error=6.10] 991 | Epoch: [180][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0013 (0.0013) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:05:33] 992 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 993 | Test Prec@1 93.802 Prec@5 99.844 Error@1 6.198 994 | 995 | [2024-11-19 10:05:43] [Epoch=181/200] [Need : 00:03:21] [learning_rate=0.0022] [Best : Accuracy=93.90, Error=6.10] 996 | Epoch: [181][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0005 (0.0005) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:05:43] 997 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 998 | Test Prec@1 93.782 Prec@5 99.848 Error@1 6.218 999 | 1000 | [2024-11-19 10:05:53] [Epoch=182/200] [Need : 00:03:10] [learning_rate=0.0020] [Best : Accuracy=93.90, Error=6.10] 1001 | Epoch: [182][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0005 (0.0005) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:05:54] 1002 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1003 | Test Prec@1 93.827 Prec@5 99.844 Error@1 6.173 1004 | 1005 | [2024-11-19 10:06:04] [Epoch=183/200] [Need : 00:02:59] [learning_rate=0.0018] [Best : Accuracy=93.90, Error=6.10] 1006 | Epoch: [183][000/128] Time 0.140 (0.140) Data 0.000 (0.000) Loss 0.0012 (0.0012) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:06:04] 1007 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1008 | Test Prec@1 93.811 Prec@5 99.848 Error@1 6.189 1009 | 1010 | [2024-11-19 10:06:14] [Epoch=184/200] [Need : 00:02:49] [learning_rate=0.0016] [Best : Accuracy=93.90, Error=6.10] 1011 | Epoch: [184][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:06:15] 1012 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1013 | Test Prec@1 93.815 Prec@5 99.844 Error@1 6.185 1014 | 1015 | [2024-11-19 10:06:25] [Epoch=185/200] [Need : 00:02:38] [learning_rate=0.0014] [Best : Accuracy=93.90, Error=6.10] 1016 | Epoch: [185][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0010 (0.0010) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:06:25] 1017 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1018 | Test Prec@1 93.831 Prec@5 99.844 Error@1 6.169 1019 | 1020 | [2024-11-19 10:06:35] [Epoch=186/200] [Need : 00:02:28] [learning_rate=0.0012] [Best : Accuracy=93.90, Error=6.10] 1021 | Epoch: [186][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0013 (0.0013) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:06:36] 1022 | Train Prec@1 99.841 Prec@5 100.000 Error@1 0.159 1023 | Test Prec@1 93.848 Prec@5 99.848 Error@1 6.152 1024 | 1025 | [2024-11-19 10:06:46] [Epoch=187/200] [Need : 00:02:17] [learning_rate=0.0010] [Best : Accuracy=93.90, Error=6.10] 1026 | Epoch: [187][000/128] Time 0.133 (0.133) Data 0.000 (0.000) Loss 0.0004 (0.0004) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:06:46] 1027 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1028 | Test Prec@1 93.807 Prec@5 99.848 Error@1 6.193 1029 | 1030 | [2024-11-19 10:06:56] [Epoch=188/200] [Need : 00:02:06] [learning_rate=0.0009] [Best : Accuracy=93.90, Error=6.10] 1031 | Epoch: [188][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0005 (0.0005) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:06:57] 1032 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1033 | Test Prec@1 93.864 Prec@5 99.840 Error@1 6.136 1034 | 1035 | [2024-11-19 10:07:07] [Epoch=189/200] [Need : 00:01:56] [learning_rate=0.0007] [Best : Accuracy=93.90, Error=6.10] 1036 | Epoch: [189][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0005 (0.0005) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:07:07] 1037 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1038 | Test Prec@1 93.786 Prec@5 99.840 Error@1 6.214 1039 | 1040 | [2024-11-19 10:07:17] [Epoch=190/200] [Need : 00:01:45] [learning_rate=0.0006] [Best : Accuracy=93.90, Error=6.10] 1041 | Epoch: [190][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0008 (0.0008) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:07:18] 1042 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1043 | Test Prec@1 93.811 Prec@5 99.844 Error@1 6.189 1044 | 1045 | [2024-11-19 10:07:28] [Epoch=191/200] [Need : 00:01:35] [learning_rate=0.0005] [Best : Accuracy=93.90, Error=6.10] 1046 | Epoch: [191][000/128] Time 0.131 (0.131) Data 0.000 (0.000) Loss 0.0006 (0.0006) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:07:29] 1047 | Train Prec@1 99.947 Prec@5 100.000 Error@1 0.053 1048 | Test Prec@1 93.774 Prec@5 99.840 Error@1 6.226 1049 | 1050 | [2024-11-19 10:07:39] [Epoch=192/200] [Need : 00:01:24] [learning_rate=0.0004] [Best : Accuracy=93.90, Error=6.10] 1051 | Epoch: [192][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0009 (0.0009) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:07:39] 1052 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1053 | Test Prec@1 93.815 Prec@5 99.840 Error@1 6.185 1054 | 1055 | [2024-11-19 10:07:49] [Epoch=193/200] [Need : 00:01:14] [learning_rate=0.0003] [Best : Accuracy=93.90, Error=6.10] 1056 | Epoch: [193][000/128] Time 0.137 (0.137) Data 0.000 (0.000) Loss 0.0008 (0.0008) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:07:50] 1057 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1058 | Test Prec@1 93.782 Prec@5 99.840 Error@1 6.218 1059 | 1060 | [2024-11-19 10:08:00] [Epoch=194/200] [Need : 00:01:03] [learning_rate=0.0002] [Best : Accuracy=93.90, Error=6.10] 1061 | Epoch: [194][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0005 (0.0005) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:08:00] 1062 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1063 | Test Prec@1 93.823 Prec@5 99.840 Error@1 6.177 1064 | 1065 | [2024-11-19 10:08:10] [Epoch=195/200] [Need : 00:00:52] [learning_rate=0.0002] [Best : Accuracy=93.90, Error=6.10] 1066 | Epoch: [195][000/128] Time 0.134 (0.134) Data 0.000 (0.000) Loss 0.0004 (0.0004) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:08:11] 1067 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1068 | Test Prec@1 93.848 Prec@5 99.848 Error@1 6.152 1069 | 1070 | [2024-11-19 10:08:21] [Epoch=196/200] [Need : 00:00:42] [learning_rate=0.0001] [Best : Accuracy=93.90, Error=6.10] 1071 | Epoch: [196][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0004 (0.0004) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:08:21] 1072 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1073 | Test Prec@1 93.844 Prec@5 99.848 Error@1 6.156 1074 | 1075 | [2024-11-19 10:08:31] [Epoch=197/200] [Need : 00:00:31] [learning_rate=0.0001] [Best : Accuracy=93.90, Error=6.10] 1076 | Epoch: [197][000/128] Time 0.136 (0.136) Data 0.000 (0.000) Loss 0.0010 (0.0010) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:08:32] 1077 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1078 | Test Prec@1 93.827 Prec@5 99.844 Error@1 6.173 1079 | 1080 | [2024-11-19 10:08:42] [Epoch=198/200] [Need : 00:00:21] [learning_rate=0.0000] [Best : Accuracy=93.90, Error=6.10] 1081 | Epoch: [198][000/128] Time 0.131 (0.131) Data 0.000 (0.000) Loss 0.0005 (0.0005) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:08:42] 1082 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1083 | Test Prec@1 93.831 Prec@5 99.840 Error@1 6.169 1084 | 1085 | [2024-11-19 10:08:52] [Epoch=199/200] [Need : 00:00:10] [learning_rate=0.0000] [Best : Accuracy=93.90, Error=6.10] 1086 | Epoch: [199][000/128] Time 0.132 (0.132) Data 0.000 (0.000) Loss 0.0009 (0.0009) Prec@1 100.000 (100.000) Prec@5 100.000 (100.000) [2024-11-19 10:08:53] 1087 | Train Prec@1 100.000 Prec@5 100.000 Error@1 0.000 1088 | Test Prec@1 93.802 Prec@5 99.844 Error@1 6.198 1089 | 1090 | [2024-11-19 10:09:03] [Epoch=200/200] [Need : 00:00:00] [learning_rate=0.0000] [Best : Accuracy=93.90, Error=6.10] 1091 | -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/p30-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/p30-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/p50-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/p50-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/p70-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/p70-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/p80-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/p80-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/p90-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/p90-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-3/score.npy -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/p30-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/p30-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/p50-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/p50-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/p70-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/p70-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/p80-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/p80-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/p90-s51/train_val_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/p90-s51/train_val_plot.png -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voxel51/zcore/ed9de322697a09b9d3feb0dff1273fc5e99626a6/results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex-4/score.npy -------------------------------------------------------------------------------- /results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex/results.txt: -------------------------------------------------------------------------------- 1 | Score: ./results/example/eurosat10/zcore-eurosat10-clip-resnet18-1000Ks-2sd-ri-1000nn-4ex 2 | Setting p30-s51 p50-s51 p70-s51 p80-s51 p90-s51 3 | 4 | Trial Results 5 | 0 93.80 91.93 86.10 80.98 63.63 6 | 1 93.39 91.26 85.74 78.88 65.58 7 | 2 93.63 91.21 87.91 79.84 66.70 8 | 3 93.90 92.38 86.91 79.86 65.16 9 | 4 94.06 92.26 86.47 80.20 67.75 10 | 11 | Aggregate Results 12 | Mean 93.76 91.81 86.63 79.95 65.76 13 | StdDev 0.230 0.491 0.750 0.677 1.398 14 | Overall Mean: 83.58 15 | 16 | -------------------------------------------------------------------------------- /train_coreset_model.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | import core.train as t 3 | 4 | def main(args): 5 | 6 | t.seed_everything(args.manual_seed) 7 | train_loader, test_loader = t.load_coreset_dataset(args) 8 | model = t.load_model(args, len(test_loader.dataset.classes)) 9 | t.train_coreset_model(args, model, train_loader, test_loader) 10 | 11 | if __name__ == "__main__": 12 | 13 | parser = argparse.ArgumentParser(description="Train Coreset Model") 14 | 15 | parser.add_argument("--manual_seed", type=int, default=51) 16 | 17 | # Dataset. 18 | dataset_choice = ["cifar10", "cifar100", "imagenet", "eurosat10", 19 | "eurosat20", "eurosat40", "eurosat80"] 20 | parser.add_argument("--dataset", type=str, choices=dataset_choice) 21 | parser.add_argument("--data_dir", type=str) 22 | parser.add_argument("--results_dir", type=str) 23 | parser.add_argument("--num_workers", type=int, default=2) 24 | parser.add_argument("--device", type=str, default="cuda", 25 | choices=["cpu", "mps", "cuda"]) 26 | 27 | # Model. 28 | parser.add_argument("--architecture", type=str, default="resnet18") 29 | parser.add_argument("--epochs", type=int, default=200) 30 | parser.add_argument("--decay", type=float, default=0.0005) 31 | parser.add_argument("--learning_rate", type=float, default=0.1) 32 | parser.add_argument("--momentum", type=float, default=0.9) 33 | parser.add_argument("--batch_size", type=int, default=128) 34 | parser.add_argument("--print_freq", type=int, default=200) 35 | 36 | # Coreset. 37 | parser.add_argument("--score_file", type=str) 38 | parser.add_argument("--prune_rate", type=float, default=0.7) 39 | 40 | args = parser.parse_args() 41 | main(args) 42 | -------------------------------------------------------------------------------- /visualize_image_folder.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | import os 3 | 4 | import IPython 5 | import numpy as np 6 | 7 | import fiftyone as fo 8 | import fiftyone.brain as fob 9 | 10 | import core.coreset as cs 11 | 12 | def main(args): 13 | 14 | # Load dataset and generate model embeddings. 15 | args.dataset = os.path.basename(args.image_dir) 16 | dataset = fo.Dataset.from_dir( 17 | dataset_dir=args.image_dir, 18 | dataset_type=fo.types.ImageDirectory, 19 | name=args.dataset, 20 | ) 21 | model = cs.load_fo_model(args, args.embedding) 22 | print("Note: embeddings can be calculated separately or saved for resuse.") 23 | embeddings = dataset.compute_embeddings(model) 24 | 25 | # Create UMAP visualization from embeddings. 26 | results = fob.compute_visualization( 27 | dataset, 28 | embeddings=embeddings, 29 | brain_key=args.embedding, 30 | seed=51, 31 | ) 32 | 33 | # Calculate ZCore score and visualize. 34 | #scores = cs.zcore_score(args, embeddings) # Scores via embeddings. 35 | scores = cs.zcore_score(args, results.points) # Scores via UMAP projection. 36 | dataset.set_values("ZCore Score", scores) 37 | session = fo.launch_app(dataset) 38 | IPython.embed() 39 | 40 | if __name__ == "__main__": 41 | 42 | parser = argparse.ArgumentParser(description="Visualize Image Folder") 43 | 44 | # Image directory. 45 | parser.add_argument("--image_dir", type=str) 46 | parser.add_argument("--num_workers", type=int, default=10) 47 | parser.add_argument("--trial", type=int, default=0) 48 | 49 | # ZCore Parameters (see paper for more details). 50 | parser.add_argument("--embedding", type=str, default="resnet18", 51 | choices=["resnet18", "clip", "dinov2"]) 52 | parser.add_argument("--n_sample", type=int, default=int(1e6)) 53 | parser.add_argument("--sample_dim", type=int, default=2) 54 | parser.add_argument("--no_rand_init", dest="rand_init", 55 | action="store_false", default=True) 56 | parser.add_argument("--redund_exp", type=int, default=2) 57 | parser.add_argument("--redund_nn", type=int, default=10) 58 | 59 | args = parser.parse_args() 60 | main(args) 61 | 62 | -------------------------------------------------------------------------------- /visualize_model_certainty.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | from copy import deepcopy 3 | import IPython 4 | import numpy as np 5 | import os 6 | import torch 7 | 8 | import fiftyone as fo 9 | import fiftyone.zoo as foz 10 | import fiftyone.brain as fob 11 | 12 | import core.train as train 13 | 14 | def generate_model_predictions(args, pred_f): 15 | print(f"Generating {pred_f} for {args.dataset}.") 16 | 17 | # Load model. 18 | checkpoint = torch.load( 19 | args.model_weights, 20 | map_location=args.device, 21 | weights_only=False 22 | ) 23 | model = checkpoint["state_dict"].module 24 | model.to(args.device).eval() 25 | 26 | # Load dataset. 27 | train_data, test_data = train.load_cifar(args) 28 | if args.split == "test": current_data = test_data 29 | elif args.split == "train": current_data = train_data 30 | else: raise ValueError(f"{args.split} not recognized.") 31 | data_loader = torch.utils.data.DataLoader( 32 | current_data, 33 | batch_size=args.batch_size, 34 | num_workers=args.num_workers, 35 | shuffle=False, 36 | pin_memory=True 37 | ) 38 | 39 | # Generate model outputs and save predictions. 40 | n_classes = len(data_loader.dataset.classes) 41 | predictions = np.zeros(shape=(len(current_data), n_classes)) 42 | with torch.no_grad(): 43 | for i, (model_input, target) in enumerate(data_loader): 44 | if i % 50 == 0: print(f"[{i}/{len(data_loader)}]") 45 | output = model(model_input.to(args.device)) 46 | idx0, idx1 = i*args.batch_size, (i+1)*args.batch_size 47 | predictions[idx0:idx1] = output.to("cpu") 48 | 49 | np.save(pred_f, predictions) 50 | print(f"Predictions saved to {pred_f}") 51 | 52 | 53 | def main(args): 54 | 55 | # Get model predictions. 56 | exp_name = f"{args.dataset}-{args.split}-predictions" 57 | pred_f = args.model_weights.replace("checkpoint.pth.tar",f"{exp_name}.npy") 58 | if not os.path.isfile(pred_f): generate_model_predictions(args, pred_f) 59 | predictions = np.load(pred_f) 60 | 61 | # Generate dataset-wide UMAP surface for model prediction space. 62 | dataset_fo = foz.load_zoo_dataset(args.dataset, split=args.split) 63 | fob.compute_visualization( 64 | dataset_fo, 65 | embeddings=predictions, 66 | num_dims=2, 67 | brain_key=f"model_certainty", 68 | verbose=True, 69 | seed=51 70 | ) 71 | 72 | # Calculate and visualize model certainty. 73 | n_samples = len(predictions) 74 | first2second_ratio = np.zeros(n_samples) 75 | for j in range(n_samples): 76 | sample_predictions = deepcopy(predictions[j]) 77 | sample_predictions.sort() 78 | first2second_ratio[j]=sample_predictions[-1]/sample_predictions[-2] 79 | first2second_score = 1/first2second_ratio 80 | dataset_fo.set_values(f"f2s_score", first2second_score) 81 | session = fo.launch_app(dataset_fo) 82 | IPython.embed() 83 | 84 | 85 | if __name__ == "__main__": 86 | 87 | parser = argparse.ArgumentParser(description="Visualize Model Certainty") 88 | 89 | # Model. 90 | parser.add_argument("--model_weights", type=str) 91 | parser.add_argument("--device", type=str, default="cpu") 92 | 93 | # Dataset. 94 | parser.add_argument("--dataset", type=str, default="cifar100") 95 | parser.add_argument("--split", type=str, default="test") 96 | parser.add_argument("--data_dir", type=str, default="./data") 97 | parser.add_argument("--num_workers", type=int, default=10) 98 | parser.add_argument("--batch_size", type=int, default=10) 99 | 100 | args = parser.parse_args() 101 | main(args) 102 | 103 | -------------------------------------------------------------------------------- /zeroshot_coreset_selection.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | import numpy as np 3 | import os 4 | 5 | import core.coreset as cs 6 | 7 | def main(args): 8 | 9 | exp_name, exp_file = cs.experiment_name(args) 10 | assert not os.path.exists(exp_file), f"{exp_file} already exists." 11 | 12 | embeddings = cs.get_model_embedding(args) 13 | scores = cs.zcore_score(args, embeddings) 14 | np.save(exp_file, scores) 15 | print(f"\nZCore score saved at {exp_file}") 16 | 17 | if __name__ == "__main__": 18 | 19 | parser = argparse.ArgumentParser(description="Zero-Shot Coreset Selection (ZCore)") 20 | 21 | parser.add_argument("--trial", type=int, default=0) 22 | 23 | # Dataset. 24 | dataset_choice = ["cifar10", "cifar100", "imagenet", "eurosat10", 25 | "eurosat20", "eurosat40", "eurosat80"] 26 | parser.add_argument("--dataset", type=str, choices=dataset_choice) 27 | parser.add_argument("--data_dir", type=str) 28 | parser.add_argument("--results_dir", type=str) 29 | parser.add_argument("--num_workers", type=int, default=2) 30 | 31 | # ZCore Parameters (see paper for more details). 32 | parser.add_argument("--embedding", type=str, nargs="+", 33 | choices=["resnet18", "clip", "dinov2"]) 34 | parser.add_argument("--n_sample", type=int, default=int(1e6)) 35 | parser.add_argument("--sample_dim", type=int, default=2) 36 | parser.add_argument("--no_rand_init", dest="rand_init", 37 | action="store_false", default=True) 38 | parser.add_argument("--redund_exp", type=int, default=4) 39 | parser.add_argument("--redund_nn", type=int, default=1000) 40 | 41 | args = parser.parse_args() 42 | main(args) 43 | 44 | --------------------------------------------------------------------------------