From 6cedce234eebc6b20e974c32f1fc3d6d012d2c04 Mon Sep 17 00:00:00 2001 From: Ma Zerun Date: Mon, 20 Mar 2023 14:30:57 +0800 Subject: [PATCH] [Refactor] Update dev scripts to be compatible with selfsup tasks. (#1412) * [Refactor] Update dev scripts to be compatible with selfsup tasks. * Fix some missing fields in config files. * Set maximum number of gpus for local training. * Update README files * Update according to comments. --- .../benchmark_regression/1-benchmark_valid.py | 130 +++--- .../benchmark_regression/2-benchmark_test.py | 259 +++++------ .../benchmark_regression/3-benchmark_train.py | 285 ++++++------ .../benchmark_regression/bench_train.yml | 102 +++-- .dev_scripts/benchmark_regression/utils.py | 30 ++ .dev_scripts/fill_metafile.py | 51 ++- .dev_scripts/generate_readme.py | 9 +- configs/barlowtwins/README.md | 4 +- configs/barlowtwins/metafile.yml | 18 +- configs/beit/metafile.yml | 16 +- configs/beitv2/README.md | 4 +- configs/beitv2/metafile.yml | 20 +- configs/byol/README.md | 4 +- configs/byol/metafile.yml | 18 +- configs/cae/README.md | 12 +- ...it-base-p16_8xb256-amp-coslr-300e_in1k.py} | 0 configs/cae/metafile.yml | 20 +- configs/clip/metafile.yml | 168 +++---- configs/densecl/README.md | 4 +- configs/densecl/metafile.yml | 18 +- configs/eva/README.md | 26 +- configs/eva/metafile.yml | 379 ++++++++-------- configs/mae/README.md | 52 +-- configs/mae/metafile.yml | 414 +++++++++++------- configs/maskfeat/README.md | 4 +- configs/maskfeat/metafile.yml | 18 +- configs/milan/README.md | 6 +- configs/milan/metafile.yml | 26 +- configs/mixmim/README.md | 4 +- configs/mixmim/metafile.yml | 17 +- configs/mocov2/README.md | 4 +- configs/mocov2/metafile.yml | 18 +- configs/mocov3/README.md | 26 +- configs/mocov3/metafile.yml | 160 ++++--- configs/simclr/README.md | 8 +- configs/simclr/metafile.yml | 49 ++- configs/simmim/README.md | 14 +- ...in-base-w6_8xb256-coslr-100e_in1k-192px.py | 2 +- .../swin-base-w7_8xb256-coslr-100e_in1k.py | 2 +- .../swin-large-w14_8xb256-coslr-100e_in1k.py | 2 +- configs/simmim/metafile.yml | 88 ++-- configs/simsiam/README.md | 8 +- configs/simsiam/metafile.yml | 49 ++- configs/swav/README.md | 4 +- configs/swav/metafile.yml | 18 +- docs/en/stat.py | 10 +- docs/zh_CN/stat.py | 10 +- mmpretrain/apis/model.py | 6 +- 48 files changed, 1438 insertions(+), 1158 deletions(-) create mode 100644 .dev_scripts/benchmark_regression/utils.py rename configs/cae/{cae_vit-base-p16_8xb256-amp-coslr-300e_in1k.py => cae_beit-base-p16_8xb256-amp-coslr-300e_in1k.py} (100%) diff --git a/.dev_scripts/benchmark_regression/1-benchmark_valid.py b/.dev_scripts/benchmark_regression/1-benchmark_valid.py index c73a4167..688aaf05 100644 --- a/.dev_scripts/benchmark_regression/1-benchmark_valid.py +++ b/.dev_scripts/benchmark_regression/1-benchmark_valid.py @@ -1,25 +1,24 @@ import logging -import re +import sys import tempfile from argparse import ArgumentParser -from collections import OrderedDict from pathlib import Path -from time import time +from time import perf_counter +from unittest.mock import Mock import mmcv import numpy as np import torch -from mmengine import Config, DictAction, MMLogger +from mmengine import DictAction, MMLogger from mmengine.dataset import Compose, default_collate from mmengine.device import get_device -from mmengine.fileio import FileClient from mmengine.model.utils import revert_sync_batchnorm from mmengine.runner import Runner, load_checkpoint -from modelindex.load_model_index import load from rich.console import Console from rich.table import Table +from utils import substitute_weights -from mmpretrain.apis import get_model +from mmpretrain.apis import ModelHub, get_model, list_models from mmpretrain.datasets import CIFAR10, CIFAR100, ImageNet from mmpretrain.utils import register_all_modules from mmpretrain.visualization import UniversalVisualizer @@ -33,6 +32,12 @@ classes_map = { 'CIFAR-100': CIFAR100.CLASSES, } +logger = MMLogger.get_instance('validation', logger_name='mmpretrain') +logger.handlers[0].stream = sys.stderr +logger.addHandler(logging.FileHandler('benchmark_valid.log', mode='w')) +# Force to use the logger in runners. +Runner.build_logger = Mock(return_value=logger) + def parse_args(): parser = ArgumentParser(description='Valid all models in model-index.yml') @@ -76,12 +81,12 @@ def parse_args(): return args -def inference(config_file, checkpoint, work_dir, args, exp_name): - cfg = Config.fromfile(config_file) +def inference(metainfo, checkpoint, work_dir, args, exp_name=None): + cfg = metainfo.config cfg.work_dir = work_dir cfg.load_from = checkpoint cfg.log_level = 'WARN' - cfg.experiment_name = exp_name + cfg.experiment_name = exp_name or metainfo.name if args.cfg_options is not None: cfg.merge_from_dict(args.cfg_options) @@ -102,11 +107,11 @@ def inference(config_file, checkpoint, work_dir, args, exp_name): model.eval() forward = model.val_step else: - # For configs only for get model. + # For configs without data settings. model = get_model(cfg, device=get_device()) model = revert_sync_batchnorm(model) model.eval() - data = torch.empty(1, 3, 224, 224).to(model.data_preprocessor.device) + data = torch.rand(1, 3, 224, 224).to(model.data_preprocessor.device) resolution = (224, 224) forward = model.extract_feat @@ -114,40 +119,38 @@ def inference(config_file, checkpoint, work_dir, args, exp_name): load_checkpoint(model, checkpoint, map_location='cpu') # forward the model - result = {'resolution': resolution} + result = {'model': metainfo.name, 'resolution': resolution} with torch.no_grad(): if args.inference_time: time_record = [] + forward(data) # warmup before profiling for _ in range(10): - forward(data) # warmup before profiling torch.cuda.synchronize() - start = time() + start = perf_counter() forward(data) torch.cuda.synchronize() - time_record.append((time() - start) / args.batch_size * 1000) + time_record.append( + (perf_counter() - start) / args.batch_size * 1000) result['time_mean'] = np.mean(time_record[1:-1]) result['time_std'] = np.std(time_record[1:-1]) else: forward(data) - result['model'] = config_file.stem - if args.flops: - from fvcore.nn import FlopCountAnalysis, parameter_count - from fvcore.nn.print_model_statistics import _format_size + from mmengine.analysis import FlopAnalyzer, parameter_count + from mmengine.analysis.print_helper import _format_size _format_size = _format_size if args.flops_str else lambda x: x with torch.no_grad(): - if hasattr(model, 'extract_feat'): - model.forward = model.extract_feat - model.to('cpu') - inputs = (torch.randn((1, 3, *resolution)), ) - flops = _format_size(FlopCountAnalysis(model, inputs).total()) - params = _format_size(parameter_count(model)['']) - result['flops'] = flops if args.flops_str else int(flops) - result['params'] = params if args.flops_str else int(params) - else: - result['flops'] = '' - result['params'] = '' + model.forward = model.extract_feat + model.to('cpu') + inputs = (torch.randn((1, 3, *resolution)), ) + analyzer = FlopAnalyzer(model, inputs) + # extract_feat only includes backbone + analyzer._enable_warn_uncalled_mods = False + flops = _format_size(analyzer.total()) + params = _format_size(parameter_count(model)['']) + result['flops'] = flops if args.flops_str else int(flops) + result['params'] = params if args.flops_str else int(params) return result @@ -156,7 +159,7 @@ def show_summary(summary_data, args): table = Table(title='Validation Benchmark Regression Summary') table.add_column('Model') table.add_column('Validation') - table.add_column('Resolution (h, w)') + table.add_column('Resolution (h w)') if args.inference_time: table.add_column('Inference Time (std) (ms/im)') if args.flops: @@ -179,82 +182,49 @@ def show_summary(summary_data, args): row.append(str(summary['params'])) table.add_row(*row) - console.print(table) - # Sample test whether the inference code is correct def main(args): register_all_modules() - model_index_file = MMCLS_ROOT / 'model-index.yml' - model_index = load(str(model_index_file)) - model_index.build_models_with_collections() - models = OrderedDict({model.name: model for model in model_index.models}) - - logger = MMLogger( - 'validation', - logger_name='validation', - log_file='benchmark_test_image.log', - log_level=logging.INFO) if args.models: - patterns = [re.compile(pattern) for pattern in args.models] - filter_models = {} - for k, v in models.items(): - if any([re.match(pattern, k) for pattern in patterns]): - filter_models[k] = v - if len(filter_models) == 0: + models = set() + for pattern in args.models: + models.update(list_models(pattern=pattern)) + if len(models) == 0: print('No model found, please specify models in:') - print('\n'.join(models.keys())) + print('\n'.join(list_models())) return - models = filter_models + else: + models = list_models() summary_data = {} tmpdir = tempfile.TemporaryDirectory() - for model_name, model_info in models.items(): + for model_name in models: + model_info = ModelHub.get(model_name) if model_info.config is None: continue - config = Path(model_info.config) - assert config.exists(), f'{model_name}: {config} not found.' - logger.info(f'Processing: {model_name}') - http_prefix = 'https://download.openmmlab.com/mmclassification/' - if args.checkpoint_root is not None: - root = args.checkpoint_root - if 's3://' in args.checkpoint_root: - from petrel_client.common.exception import AccessDeniedError - file_client = FileClient.infer_client(uri=root) - checkpoint = file_client.join_path( - root, model_info.weights[len(http_prefix):]) - try: - exists = file_client.exists(checkpoint) - except AccessDeniedError: - exists = False - else: - checkpoint = Path(root) / model_info.weights[len(http_prefix):] - exists = checkpoint.exists() - if exists: - checkpoint = str(checkpoint) - else: - print(f'WARNING: {model_name}: {checkpoint} not found.') - checkpoint = None + weights = model_info.weights + if args.checkpoint_root is not None and weights is not None: + checkpoint = substitute_weights(weights, args.checkpoint_root) else: checkpoint = None try: # build the model from a config file and a checkpoint file - result = inference(MMCLS_ROOT / config, checkpoint, tmpdir.name, - args, model_name) + result = inference(model_info, checkpoint, tmpdir.name, args) result['valid'] = 'PASS' except Exception as e: if 'CUDA out of memory' in str(e): - logger.error(f'"{config}" :\nCUDA out of memory') + logger.error(f'"{model_name}" :\nCUDA out of memory') result = {'valid': 'CUDA OOM'} else: import traceback - logger.error(f'"{config}" :\n{traceback.format_exc()}') + logger.error(f'"{model_name}" :\n{traceback.format_exc()}') result = {'valid': 'FAIL'} summary_data[model_name] = result diff --git a/.dev_scripts/benchmark_regression/2-benchmark_test.py b/.dev_scripts/benchmark_regression/2-benchmark_test.py index cd49bd09..e6e73516 100644 --- a/.dev_scripts/benchmark_regression/2-benchmark_test.py +++ b/.dev_scripts/benchmark_regression/2-benchmark_test.py @@ -1,9 +1,10 @@ import argparse +import fnmatch +import logging import os import os.path as osp import pickle -import re -from collections import OrderedDict +from collections import OrderedDict, defaultdict from datetime import datetime from pathlib import Path @@ -11,57 +12,57 @@ from modelindex.load_model_index import load from rich.console import Console from rich.syntax import Syntax from rich.table import Table +from utils import METRICS_MAP, MMCLS_ROOT, substitute_weights + +# Avoid to import MMPretrain to accelerate speed to show summary console = Console() -MMCLS_ROOT = Path(__file__).absolute().parents[2] -METRICS_MAP = { - 'Top 1 Accuracy': 'accuracy/top1', - 'Top 5 Accuracy': 'accuracy/top5' -} +logger = logging.getLogger('test') +logger.addHandler(logging.StreamHandler()) +logger.addHandler(logging.FileHandler('benchmark_test.log', mode='w')) def parse_args(): parser = argparse.ArgumentParser( description="Test all models' accuracy in model-index.yml") - parser.add_argument( - 'partition', type=str, help='Cluster partition to use.') parser.add_argument('checkpoint_root', help='Checkpoint file root path.') parser.add_argument( - '--job-name', - type=str, - default='cls-test-benchmark', - help='Slurm job name prefix') - parser.add_argument('--port', type=int, default=29666, help='dist port') + '--local', action='store_true', help='run at local instead of slurm.') parser.add_argument( '--models', nargs='+', type=str, help='Specify model names to run.') - parser.add_argument( - '--work-dir', - default='work_dirs/benchmark_test', - help='the dir to save metric') parser.add_argument( '--run', action='store_true', help='run script directly') - parser.add_argument( - '--local', - action='store_true', - help='run at local instead of cluster.') - parser.add_argument( - '--mail', type=str, help='Mail address to watch test status.') - parser.add_argument( - '--mail-type', - nargs='+', - default=['BEGIN'], - choices=['NONE', 'BEGIN', 'END', 'FAIL', 'REQUEUE', 'ALL'], - help='Mail address to watch test status.') - parser.add_argument( - '--quotatype', - default=None, - choices=['reserved', 'auto', 'spot'], - help='Quota type, only available for phoenix-slurm>=0.2') parser.add_argument( '--summary', action='store_true', help='Summarize benchmark test results.') parser.add_argument('--save', action='store_true', help='Save the summary') + parser.add_argument( + '--gpus', type=int, default=1, help='How many GPUS to use.') + parser.add_argument( + '--no-skip', + action='store_true', + help='Whether to skip models without results record in the metafile.') + parser.add_argument( + '--work-dir', + default='work_dirs/benchmark_test', + help='the dir to save metric') + parser.add_argument('--port', type=int, default=29666, help='dist port') + parser.add_argument( + '--partition', + type=str, + default='mm_model', + help='(for slurm) Cluster partition to use.') + parser.add_argument( + '--job-name', + type=str, + default='cls-test-benchmark', + help='(for slurm) Slurm job name prefix') + parser.add_argument( + '--quotatype', + default=None, + choices=['reserved', 'auto', 'spot'], + help='(for slurm) Quota type, only available for phoenix-slurm>=0.2') parser.add_argument( '--cfg-options', nargs='+', @@ -74,64 +75,53 @@ def parse_args(): def create_test_job_batch(commands, model_info, args, port, script_name): - - fname = model_info.name - + model_name = model_info.name config = Path(model_info.config) - assert config.exists(), f'{fname}: {config} not found.' - http_prefix = 'https://download.openmmlab.com/mmclassification/' - if 's3://' in args.checkpoint_root: - from mmengine.fileio import FileClient - from petrel_client.common.exception import AccessDeniedError - file_client = FileClient.infer_client(uri=args.checkpoint_root) - checkpoint = file_client.join_path( - args.checkpoint_root, model_info.weights[len(http_prefix):]) - try: - exists = file_client.exists(checkpoint) - except AccessDeniedError: - exists = False + if model_info.weights is not None: + checkpoint = substitute_weights(model_info.weights, + args.checkpoint_root) + if checkpoint is None: + logger.warning(f'{model_name}: {checkpoint} not found.') + return None else: - checkpoint_root = Path(args.checkpoint_root) - checkpoint = checkpoint_root / model_info.weights[len(http_prefix):] - exists = checkpoint.exists() - if not exists: - print(f'WARNING: {fname}: {checkpoint} not found.') return None - job_name = f'{args.job_name}_{fname}' - work_dir = Path(args.work_dir) / fname + job_name = f'{args.job_name}_{model_name}' + work_dir = Path(args.work_dir) / model_name work_dir.mkdir(parents=True, exist_ok=True) result_file = work_dir / 'result.pkl' - if args.mail is not None and 'NONE' not in args.mail_type: - mail_cfg = (f'#SBATCH --mail {args.mail}\n' - f'#SBATCH --mail-type {args.mail_type}\n') - else: - mail_cfg = '' - if args.quotatype is not None: - quota_cfg = f'#SBATCH --quotatype {args.quotatype}\n' + quota_cfg = f'#SBATCH --quotatype {args.quotatype}' else: quota_cfg = '' - launcher = 'none' if args.local else 'slurm' - runner = 'python' if args.local else 'srun python' + if not args.local: + launcher = 'srun python' + runner = 'slurm' + elif args.gpus > 1: + launcher = 'pytorch' + runner = ('torchrun --master_addr="127.0.0.1" ' + f'--master_port={port} --nproc_per_node={args.gpus}') + else: + launcher = 'none' + runner = 'python -u' job_script = (f'#!/bin/bash\n' f'#SBATCH --output {work_dir}/job.%j.out\n' f'#SBATCH --partition={args.partition}\n' f'#SBATCH --job-name {job_name}\n' - f'#SBATCH --gres=gpu:8\n' - f'{mail_cfg}{quota_cfg}' - f'#SBATCH --ntasks-per-node=8\n' - f'#SBATCH --ntasks=8\n' + f'#SBATCH --gres=gpu:{min(8, args.gpus)}\n' + f'{quota_cfg}\n' + f'#SBATCH --ntasks-per-node={min(8, args.gpus)}\n' + f'#SBATCH --ntasks={args.gpus}\n' f'#SBATCH --cpus-per-task=5\n\n' - f'{runner} -u {script_name} {config} {checkpoint} ' - f'--work-dir={work_dir} ' - f'--out={result_file} ' - f'--cfg-option dist_params.port={port} ' + f'{runner} {script_name} {config} {checkpoint} ' + f'--work-dir={work_dir} --cfg-option ' + f'env_cfg.dist_cfg.port={port} ' f'{" ".join(args.cfg_options)} ' + f'--out={result_file} --out-item="metrics" ' f'--launcher={launcher}\n') with open(work_dir / 'job.sh', 'w') as f: @@ -146,33 +136,17 @@ def create_test_job_batch(commands, model_info, args, port, script_name): return work_dir / 'job.sh' -def test(args): - # parse model-index.yml - model_index_file = MMCLS_ROOT / 'model-index.yml' - model_index = load(str(model_index_file)) - model_index.build_models_with_collections() - models = OrderedDict({model.name: model for model in model_index.models}) - +def test(models, args): script_name = osp.join('tools', 'test.py') port = args.port commands = [] - if args.models: - patterns = [re.compile(pattern) for pattern in args.models] - filter_models = {} - for k, v in models.items(): - if any([re.match(pattern, k) for pattern in patterns]): - filter_models[k] = v - if len(filter_models) == 0: - print('No model found, please specify models in:') - print('\n'.join(models.keys())) - return - models = filter_models preview_script = '' for model_info in models.values(): if model_info.results is None: + # Skip pre-train model continue script_path = create_test_job_batch(commands, model_info, args, port, @@ -205,44 +179,41 @@ def test(args): console.print('Please set "--run" to start the job') -def save_summary(summary_data, models_map, work_dir): - summary_path = work_dir / 'test_benchmark_summary.md' +def save_summary(summary_data, work_dir): + summary_path = work_dir / 'test_benchmark_summary.csv' file = open(summary_path, 'w') - headers = [ - 'Model', 'Top-1 Expected(%)', 'Top-1 (%)', 'Top-5 Expected (%)', - 'Top-5 (%)', 'Config' - ] - file.write('# Test Benchmark Regression Summary\n') - file.write('| ' + ' | '.join(headers) + ' |\n') - file.write('|:' + ':|:'.join(['---'] * len(headers)) + ':|\n') + columns = defaultdict(list) for model_name, summary in summary_data.items(): if len(summary) == 0: # Skip models without results continue - row = [model_name] - if 'Top 1 Accuracy' in summary: - metric = summary['Top 1 Accuracy'] - row.append(str(round(metric['expect'], 2))) - row.append(str(round(metric['result'], 2))) - else: - row.extend([''] * 2) - if 'Top 5 Accuracy' in summary: - metric = summary['Top 5 Accuracy'] - row.append(str(round(metric['expect'], 2))) - row.append(str(round(metric['result'], 2))) - else: - row.extend([''] * 2) + columns['Name'].append(model_name) - model_info = models_map[model_name] - row.append(model_info.config) - file.write('| ' + ' | '.join(row) + ' |\n') + for metric_key in METRICS_MAP: + if metric_key in summary: + metric = summary[metric_key] + expect = round(metric['expect'], 2) + result = round(metric['result'], 2) + columns[f'{metric_key} (expect)'].append(str(expect)) + columns[f'{metric_key}'].append(str(result)) + else: + columns[f'{metric_key} (expect)'].append('') + columns[f'{metric_key}'].append('') + + columns = { + field: column + for field, column in columns.items() if ''.join(column) + } + file.write(','.join(columns.keys()) + '\n') + for row in zip(*columns.values()): + file.write(','.join(row) + '\n') file.close() - print('Summary file saved at ' + str(summary_path)) + logger.info('Summary file saved at ' + str(summary_path)) def show_summary(summary_data): table = Table(title='Test Benchmark Regression Summary') - table.add_column('Model') + table.add_column('Name') for metric in METRICS_MAP: table.add_column(f'{metric} (expect)') table.add_column(f'{metric}') @@ -274,33 +245,20 @@ def show_summary(summary_data): row.append('') table.add_row(*row) + # Remove empty columns + table.columns = [ + column for column in table.columns if ''.join(column._cells) + ] console.print(table) -def summary(args): - model_index_file = MMCLS_ROOT / 'model-index.yml' - model_index = load(str(model_index_file)) - model_index.build_models_with_collections() - models = OrderedDict({model.name: model for model in model_index.models}) - +def summary(models, args): work_dir = Path(args.work_dir) - if args.models: - patterns = [re.compile(pattern) for pattern in args.models] - filter_models = {} - for k, v in models.items(): - if any([re.match(pattern, k) for pattern in patterns]): - filter_models[k] = v - if len(filter_models) == 0: - print('No model found, please specify models in:') - print('\n'.join(models.keys())) - return - models = filter_models - summary_data = {} for model_name, model_info in models.items(): - if model_info.results is None: + if model_info.results is None and not args.no_skip: continue # Skip if not found result file. @@ -327,16 +285,35 @@ def summary(args): show_summary(summary_data) if args.save: - save_summary(summary_data, models, work_dir) + save_summary(summary_data, work_dir) def main(): args = parse_args() + # parse model-index.yml + model_index_file = MMCLS_ROOT / 'model-index.yml' + model_index = load(str(model_index_file)) + model_index.build_models_with_collections() + models = OrderedDict({model.name: model for model in model_index.models}) + + if args.models: + filter_models = {} + for pattern in args.models: + filter_models.update({ + name: models[name] + for name in fnmatch.filter(models, pattern + '*') + }) + if len(filter_models) == 0: + logger.error('No model found, please specify models in:\n' + + '\n'.join(models.keys())) + return + models = filter_models + if args.summary: - summary(args) + summary(models, args) else: - test(args) + test(models, args) if __name__ == '__main__': diff --git a/.dev_scripts/benchmark_regression/3-benchmark_train.py b/.dev_scripts/benchmark_regression/3-benchmark_train.py index 9e240cc5..c1208771 100644 --- a/.dev_scripts/benchmark_regression/3-benchmark_train.py +++ b/.dev_scripts/benchmark_regression/3-benchmark_train.py @@ -1,9 +1,12 @@ import argparse +import fnmatch import json +import logging import os import os.path as osp import re -from collections import OrderedDict +from collections import defaultdict +from copy import deepcopy from datetime import datetime from pathlib import Path from zipfile import ZipFile @@ -13,19 +16,20 @@ from modelindex.load_model_index import load from rich.console import Console from rich.syntax import Syntax from rich.table import Table +from utils import METRICS_MAP, MMCLS_ROOT + +# Avoid to import MMPretrain to accelerate speed to show summary console = Console() -MMCLS_ROOT = Path(__file__).absolute().parents[2] +logger = logging.getLogger('train') +logger.addHandler(logging.StreamHandler()) +logger.addHandler(logging.FileHandler('benchmark_train.log', mode='w')) CYCLE_LEVELS = ['month', 'quarter', 'half-year', 'no-training'] -METRICS_MAP = { - 'Top 1 Accuracy': 'accuracy/top1', - 'Top 5 Accuracy': 'accuracy/top5' -} class RangeAction(argparse.Action): - def __call__(self, parser, namespace, values: str, option_string): + def __call__(self, _, namespace, values: str, __): matches = re.match(r'([><=]*)([-\w]+)', values) if matches is None: raise ValueError(f'Unavailable range option {values}') @@ -49,15 +53,25 @@ def parse_args(): parser = argparse.ArgumentParser( description='Train models (in bench_train.yml) and compare accuracy.') parser.add_argument( - 'partition', type=str, help='Cluster partition to use.') - parser.add_argument( - '--job-name', - type=str, - default='cls-train-benchmark', - help='Slurm job name prefix') - parser.add_argument('--port', type=int, default=29666, help='dist port') + '--local', + action='store_true', + help='run at local instead of cluster.') parser.add_argument( '--models', nargs='+', type=str, help='Specify model names to run.') + parser.add_argument( + '--run', action='store_true', help='run script directly') + parser.add_argument( + '--summary', + action='store_true', + help='Summarize benchmark train results.') + parser.add_argument( + '--save', + action='store_true', + help='Save the summary and archive log files.') + parser.add_argument( + '--non-distributed', + action='store_true', + help='Use non-distributed environment (for debug).') parser.add_argument( '--range', type=str, @@ -70,33 +84,22 @@ def parse_args(): '--work-dir', default='work_dirs/benchmark_train', help='the dir to save train log') + parser.add_argument('--port', type=int, default=29666, help='dist port') parser.add_argument( - '--run', action='store_true', help='run script directly') + '--partition', + type=str, + default='mm_model', + help='(for slurm) Cluster partition to use.') parser.add_argument( - '--local', - action='store_true', - help='run at local instead of cluster.') - parser.add_argument( - '--mail', type=str, help='Mail address to watch train status.') - parser.add_argument( - '--mail-type', - nargs='+', - default=['BEGIN', 'END', 'FAIL'], - choices=['NONE', 'BEGIN', 'END', 'FAIL', 'REQUEUE', 'ALL'], - help='Mail address to watch train status.') + '--job-name', + type=str, + default='cls-train-benchmark', + help='(for slurm) Slurm job name prefix') parser.add_argument( '--quotatype', default=None, choices=['reserved', 'auto', 'spot'], - help='Quota type, only available for phoenix-slurm>=0.2') - parser.add_argument( - '--summary', - action='store_true', - help='Summarize benchmark train results.') - parser.add_argument( - '--save', - action='store_true', - help='Save the summary and archive log files.') + help='(for slurm) Quota type, only available for phoenix-slurm>=0.2') parser.add_argument( '--cfg-options', nargs='+', @@ -118,72 +121,90 @@ def get_gpu_number(model_info): return gpus -def create_train_job_batch(commands, model_info, args, port, script_name): - - fname = model_info.name - - gpus = get_gpu_number(model_info) - gpus_per_node = min(gpus, 8) - +def create_train_job_batch(model_info, args, port, pretrain_info=None): + model_name = model_info.name config = Path(model_info.config) - assert config.exists(), f'"{fname}": {config} not found.' + gpus = get_gpu_number(model_info) - job_name = f'{args.job_name}_{fname}' - work_dir = Path(args.work_dir) / fname + job_name = f'{args.job_name}_{model_name}' + work_dir = Path(args.work_dir) / model_name work_dir.mkdir(parents=True, exist_ok=True) - - if args.mail is not None and 'NONE' not in args.mail_type: - mail_cfg = (f'#SBATCH --mail {args.mail}\n' - f'#SBATCH --mail-type {args.mail_type}\n') - else: - mail_cfg = '' + cfg_options = deepcopy(args.cfg_options) if args.quotatype is not None: - quota_cfg = f'#SBATCH --quotatype {args.quotatype}\n' + quota_cfg = f'#SBATCH --quotatype {args.quotatype}' else: quota_cfg = '' - launcher = 'none' if args.local else 'slurm' - runner = 'python' if args.local else 'srun python' + if pretrain_info is not None: + pretrain = Path(args.work_dir) / pretrain_info.name / 'last_checkpoint' + pretrain_cfg = (f'model.backbone.init_cfg.checkpoint="$(<{pretrain})" ' + 'model.backbone.init_cfg.type="Pretrained" ' + 'model.backbone.init_cfg.prefix="backbone."') + else: + pretrain_cfg = '' + + if not args.local: + launcher = 'slurm' + runner = 'srun python' + elif not args.non_distributed: + launcher = 'pytorch' + if gpus > 8: + gpus = 8 + cfg_options.append('auto_scale_lr.enable=True') + runner = ('torchrun --master_addr="127.0.0.1" ' + f'--master_port={port} --nproc_per_node={gpus}') + else: + launcher = 'none' + runner = 'python -u' job_script = (f'#!/bin/bash\n' f'#SBATCH --output {work_dir}/job.%j.out\n' f'#SBATCH --partition={args.partition}\n' f'#SBATCH --job-name {job_name}\n' - f'#SBATCH --gres=gpu:{gpus_per_node}\n' - f'{mail_cfg}{quota_cfg}' - f'#SBATCH --ntasks-per-node={gpus_per_node}\n' + f'#SBATCH --gres=gpu:{min(8, gpus)}\n' + f'{quota_cfg}\n' + f'#SBATCH --ntasks-per-node={min(8, gpus)}\n' f'#SBATCH --ntasks={gpus}\n' f'#SBATCH --cpus-per-task=5\n\n' - f'{runner} -u {script_name} {config} ' + f'{runner} tools/train.py {config} ' f'--work-dir={work_dir} --cfg-option ' - f'env_cfg.dist_cfg.port={port} ' - f'{" ".join(args.cfg_options)} ' + f'{" ".join(cfg_options)} ' f'default_hooks.checkpoint.max_keep_ckpts=2 ' f'default_hooks.checkpoint.save_best="auto" ' + f'{pretrain_cfg} ' f'--launcher={launcher}\n') with open(work_dir / 'job.sh', 'w') as f: f.write(job_script) - commands.append(f'echo "{config}"') - if args.local: - commands.append(f'bash {work_dir}/job.sh') - else: - commands.append(f'sbatch {work_dir}/job.sh') - return work_dir / 'job.sh' def train(models, args): - script_name = osp.join('tools', 'train.py') port = args.port commands = [] for model_info in models.values(): - script_path = create_train_job_batch(commands, model_info, args, port, - script_name) + script_path = create_train_job_batch(model_info, args, port) + if hasattr(model_info, 'downstream'): + downstream_info = model_info.downstream + downstream_script = create_train_job_batch( + downstream_info, args, port, pretrain_info=model_info) + else: + downstream_script = None + + if args.local: + command = f'bash {script_path}' + if downstream_script: + command += f' && bash {downstream_script}' + else: + command = f'JOBID=$(sbatch --parsable {script_path})' + if downstream_script: + command += f' && sbatch --dependency=afterok:$JOBID {downstream_script}' # noqa: E501 + commands.append(command) + port += 1 command_str = '\n'.join(commands) @@ -211,63 +232,67 @@ def train(models, args): console.print('Please set "--run" to start the job') -def save_summary(summary_data, models_map, work_dir): +def save_summary(summary_data, work_dir): date = datetime.now().strftime('%Y%m%d-%H%M%S') zip_path = work_dir / f'archive-{date}.zip' zip_file = ZipFile(zip_path, 'w') - summary_path = work_dir / 'benchmark_summary.md' + + summary_path = work_dir / 'benchmark_summary.csv' file = open(summary_path, 'w') - headers = [ - 'Model', 'Top-1 Expected(%)', 'Top-1 (%)', 'Top-1 best(%)', - 'best epoch', 'Top-5 Expected (%)', 'Top-5 (%)', 'Config', 'Log' - ] - file.write('# Train Benchmark Regression Summary\n') - file.write('| ' + ' | '.join(headers) + ' |\n') - file.write('|:' + ':|:'.join(['---'] * len(headers)) + ':|\n') + columns = defaultdict(list) for model_name, summary in summary_data.items(): if len(summary) == 0: # Skip models without results continue - row = [model_name] - if 'Top 1 Accuracy' in summary: - metric = summary['Top 1 Accuracy'] - row.append(f"{metric['expect']:.2f}") - row.append(f"{metric['last']:.2f}") - row.append(f"{metric['best']:.2f}") - row.append(f"{metric['best_epoch']:.2f}") - else: - row.extend([''] * 4) - if 'Top 5 Accuracy' in summary: - metric = summary['Top 5 Accuracy'] - row.append(f"{metric['expect']:.2f}") - row.append(f"{metric['last']:.2f}") - else: - row.extend([''] * 2) + columns['Name'].append(model_name) - model_info = models_map[model_name] - row.append(model_info.config) - row.append(str(summary['log_file'].relative_to(work_dir))) + for metric_key in METRICS_MAP: + if metric_key in summary: + metric = summary[metric_key] + expect = str(round(metric['expect'], 2)) + result = str(round(metric['result'], 2)) + columns[f'{metric_key} (expect)'].append(expect) + columns[f'{metric_key}'].append(result) + best = str(round(metric['best'], 2)) + best_epoch = str(int(metric['best_epoch'])) + columns[f'{metric_key} (best)'].append(best) + columns[f'{metric_key} (best epoch)'].append(best_epoch) + else: + columns[f'{metric_key} (expect)'].append('') + columns[f'{metric_key}'].append('') + columns[f'{metric_key} (best)'].append('') + columns[f'{metric_key} (best epoch)'].append('') + + columns['Log'].append(str(summary['log_file'].relative_to(work_dir))) zip_file.write(summary['log_file']) - file.write('| ' + ' | '.join(row) + ' |\n') + + columns = { + field: column + for field, column in columns.items() if ''.join(column) + } + file.write(','.join(columns.keys()) + '\n') + for row in zip(*columns.values()): + file.write(','.join(row) + '\n') file.close() zip_file.write(summary_path) zip_file.close() - print('Summary file saved at ' + str(summary_path)) - print('Log files archived at ' + str(zip_path)) + logger.info('Summary file saved at ' + str(summary_path)) + logger.info('Log files archived at ' + str(zip_path)) def show_summary(summary_data): table = Table(title='Train Benchmark Regression Summary') - table.add_column('Model') + table.add_column('Name') for metric in METRICS_MAP: table.add_column(f'{metric} (expect)') table.add_column(f'{metric}') table.add_column(f'{metric} (best)') + table.add_column('Date') def set_color(value, expect): if value > expect: return 'green' - elif value > expect - 0.2: + elif value >= expect - 0.2: return 'white' else: return 'red' @@ -277,25 +302,30 @@ def show_summary(summary_data): for metric_key in METRICS_MAP: if metric_key in summary: metric = summary[metric_key] - expect = metric['expect'] - last = metric['last'] + expect = round(metric['expect'], 2) + last = round(metric['last'], 2) last_epoch = metric['last_epoch'] last_color = set_color(last, expect) best = metric['best'] best_color = set_color(best, expect) - best_epoch = metric['best_epoch'] + best_epoch = round(metric['best_epoch'], 2) row.append(f'{expect:.2f}') row.append( f'[{last_color}]{last:.2f}[/{last_color}] ({last_epoch})') row.append( f'[{best_color}]{best:.2f}[/{best_color}] ({best_epoch})') + else: + row.extend([''] * 3) table.add_row(*row) + # Remove empty columns + table.columns = [ + column for column in table.columns if ''.join(column._cells) + ] console.print(table) def summary(models, args): - work_dir = Path(args.work_dir) dir_map = {p.name: p for p in work_dir.iterdir() if p.is_dir()} @@ -306,9 +336,17 @@ def summary(models, args): if model_name not in dir_map: continue + elif hasattr(model_info, 'downstream'): + downstream_name = model_info.downstream.name + if downstream_name not in dir_map: + continue + else: + sub_dir = dir_map[downstream_name] + model_info = model_info.downstream + else: + # Skip if not found any vis_data folder. + sub_dir = dir_map[model_name] - # Skip if not found any vis_data folder. - sub_dir = dir_map[model_name] log_files = [f for f in sub_dir.glob('*/vis_data/scalars.json')] if len(log_files) == 0: continue @@ -317,11 +355,8 @@ def summary(models, args): # parse train log with open(log_file) as f: json_logs = [json.loads(s) for s in f.readlines()] - val_logs = [ - log for log in json_logs - # TODO: need a better method to extract validate log - if 'loss' not in log and 'accuracy/top1' in log - ] + # TODO: need a better method to extract validate log + val_logs = [log for log in json_logs if 'loss' not in log] if len(val_logs) == 0: continue @@ -351,12 +386,13 @@ def summary(models, args): show_summary(summary_data) if args.save: - save_summary(summary_data, models, work_dir) + save_summary(summary_data, work_dir) def main(): args = parse_args() + # parse model-index.yml model_index_file = MMCLS_ROOT / 'model-index.yml' model_index = load(str(model_index_file)) model_index.build_models_with_collections() @@ -364,25 +400,28 @@ def main(): with open(Path(__file__).parent / 'bench_train.yml', 'r') as f: train_items = yaml.safe_load(f) - models = OrderedDict() + models = {} for item in train_items: name = item['Name'] - model_info = all_models[name] - model_info.cycle = item.get('Cycle', None) - cycle = getattr(model_info, 'cycle', 'month') + cycle = item['Cycle'] cycle_level = CYCLE_LEVELS.index(cycle) if cycle_level in args.range: + model_info = all_models[name] + if 'Downstream' in item: + downstream = item['Downstream'] + setattr(model_info, 'downstream', all_models[downstream]) models[name] = model_info if args.models: - patterns = [re.compile(pattern) for pattern in args.models] filter_models = {} - for k, v in models.items(): - if any([re.match(pattern, k) for pattern in patterns]): - filter_models[k] = v + for pattern in args.models: + filter_models.update({ + name: models[name] + for name in fnmatch.filter(models, pattern + '*') + }) if len(filter_models) == 0: - print('No model found, please specify models in:') - print('\n'.join(models.keys())) + logger.error('No model found, please specify models in:\n' + + '\n'.join(models.keys())) return models = filter_models diff --git a/.dev_scripts/benchmark_regression/bench_train.yml b/.dev_scripts/benchmark_regression/bench_train.yml index 9f6e11eb..53065ff9 100644 --- a/.dev_scripts/benchmark_regression/bench_train.yml +++ b/.dev_scripts/benchmark_regression/bench_train.yml @@ -10,7 +10,7 @@ - Name: swin-small_16xb64_in1k Cycle: month -- Name: vit-base-p16_pt-32xb128-mae_in1k +- Name: vit-base-p16_32xb128-mae_in1k Cycle: month - Name: resnet50_8xb256-rsb-a1-600e_in1k @@ -34,53 +34,85 @@ - Name: regnetx-1.6gf_8xb128_in1k Cycle: half-year -- Name: van-small_8xb128_in1k - Cycle: no-training +- Name: conformer-small-p32_8xb128_in1k + Cycle: half-year -- Name: res2net50-w14-s8_3rdparty_8xb32_in1k - Cycle: no-training +- Name: convnext-small_32xb128_in1k + Cycle: month -- Name: repvgg-A2_3rdparty_4xb64-coslr-120e_in1k - Cycle: no-training +- Name: mobilenet-v3-small_8xb128_in1k + Cycle: half-year -- Name: tnt-small-p16_3rdparty_in1k - Cycle: no-training +- Name: mobileone-s2_8xb32_in1k + Cycle: quarter -- Name: mlp-mixer-base-p16_3rdparty_64xb64_in1k - Cycle: no-training +- Name: repvgg-b2g4_8xb32_in1k + Cycle: half-year -- Name: conformer-small-p16_3rdparty_8xb128_in1k - Cycle: no-training +- Name: barlowtwins_resnet50_8xb256-coslr-300e_in1k + Cycle: half-year + Downstream: resnet50_barlowtwins-pre_8xb32-linear-coslr-100e_in1k -- Name: twins-pcpvt-base_3rdparty_8xb128_in1k - Cycle: no-training +- Name: beit_beit-base-p16_8xb256-amp-coslr-300e_in1k + Cycle: quarter + Downstream: beit-base-p16_beit-pre_8xb128-coslr-100e_in1k -- Name: efficientnet-b0_3rdparty_8xb32_in1k - Cycle: no-training +- Name: beitv2_beit-base-p16_8xb256-amp-coslr-300e_in1k + Cycle: quarter + Downstream: beit-base-p16_beitv2-pre_8xb128-coslr-100e_in1k -- Name: convnext-small_3rdparty_32xb128_in1k - Cycle: no-training +- Name: byol_resnet50_16xb256-coslr-200e_in1k + Cycle: quarter + Downstream: resnet50_byol-pre_8xb512-linear-coslr-90e_in1k -- Name: hrnet-w18_3rdparty_8xb32_in1k - Cycle: no-training +- Name: cae_beit-base-p16_8xb256-amp-coslr-300e_in1k + Cycle: half-year + Downstream: beit-base-p16_cae-pre_8xb128-coslr-100e_in1k -- Name: repmlp-base_3rdparty_8xb64_in1k - Cycle: no-training +- Name: densecl_resnet50_8xb32-coslr-200e_in1k + Cycle: half-year + Downstream: resnet50_densecl-pre_8xb32-linear-steplr-100e_in1k -- Name: wide-resnet50_3rdparty_8xb32_in1k - Cycle: no-training +- Name: eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k + Cycle: half-year + Downstream: vit-base-p16_eva-mae-style-pre_8xb2048-linear-coslr-100e_in1k -- Name: cspresnet50_3rdparty_8xb32_in1k - Cycle: no-training +- Name: mae_vit-base-p16_8xb512-amp-coslr-300e_in1k + Cycle: month + Downstream: vit-base-p16_mae-300e-pre_8xb2048-linear-coslr-90e_in1k -- Name: convmixer-768-32_10xb64_in1k - Cycle: no-training +- Name: maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k + Cycle: quarter + Downstream: vit-base-p16_maskfeat-pre_8xb256-coslr-100e_in1k -- Name: densenet169_4xb256_in1k - Cycle: no-training +- Name: milan_vit-base-p16_16xb256-amp-coslr-400e_in1k + Cycle: quarter + Downstream: vit-base-p16_milan-pre_8xb2048-linear-coslr-100e_in1k -- Name: poolformer-s24_3rdparty_32xb128_in1k - Cycle: no-training +- Name: mixmim_mixmim-base_16xb128-coslr-300e_in1k + Cycle: half-year + Downstream: mixmim-base_mixmim-pre_8xb128-coslr-100e_in1k -- Name: inception-v3_3rdparty_8xb32_in1k - Cycle: no-training +- Name: mocov2_resnet50_8xb32-coslr-200e_in1k + Cycle: quarter + Downstream: resnet50_mocov2-pre_8xb32-linear-steplr-100e_in1k + +- Name: mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k + Cycle: month + Downstream: vit-small-p16_mocov3-pre_8xb128-linear-coslr-90e_in1k + +- Name: simclr_resnet50_16xb256-coslr-200e_in1k + Cycle: quarter + Downstream: resnet50_simclr-200e-pre_8xb512-linear-coslr-90e_in1k + +- Name: simmim_swin-base-w6_8xb256-amp-coslr-100e_in1k-192px + Cycle: month + Downstream: swin-base-w6_simmim-100e-pre_8xb256-coslr-100e_in1k-192px + +- Name: simsiam_resnet50_8xb32-coslr-100e_in1k + Cycle: quarter + Downstream: resnet50_simsiam-100e-pre_8xb512-linear-coslr-90e_in1k + +- Name: swav_resnet50_8xb32-mcrop-coslr-200e_in1k-224px-96px + Cycle: half-year + Downstream: resnet50_swav-pre_8xb32-linear-coslr-100e_in1k diff --git a/.dev_scripts/benchmark_regression/utils.py b/.dev_scripts/benchmark_regression/utils.py new file mode 100644 index 00000000..a6ac676e --- /dev/null +++ b/.dev_scripts/benchmark_regression/utils.py @@ -0,0 +1,30 @@ +from pathlib import Path + +HTTP_PREFIX = 'https://download.openmmlab.com/' +MMCLS_ROOT = Path(__file__).absolute().parents[2] +METRICS_MAP = { + 'Top 1 Accuracy': 'accuracy/top1', + 'Top 5 Accuracy': 'accuracy/top5', + 'Recall@1': 'retrieval/Recall@1', +} + + +def substitute_weights(download_link, root): + if 's3://' in root: + from mmengine.fileio.backends import PetrelBackend + from petrel_client.common.exception import AccessDeniedError + file_backend = PetrelBackend() + checkpoint = file_backend.join_path(root, + download_link[len(HTTP_PREFIX):]) + try: + exists = file_backend.exists(checkpoint) + except AccessDeniedError: + exists = False + else: + checkpoint = Path(root) / download_link[len(HTTP_PREFIX):] + exists = checkpoint.exists() + + if exists: + return str(checkpoint) + else: + return None diff --git a/.dev_scripts/fill_metafile.py b/.dev_scripts/fill_metafile.py index 1140081b..d0f49a84 100644 --- a/.dev_scripts/fill_metafile.py +++ b/.dev_scripts/fill_metafile.py @@ -69,10 +69,17 @@ def parse_args(): parser = argparse.ArgumentParser(description=prog_description) parser.add_argument('--src', type=Path, help='The path of the matafile.') parser.add_argument('--out', '-o', type=Path, help='The output path.') + parser.add_argument( + '--inplace', + '-i', + action='store_true', + help='Modify the source metafile inplace.') parser.add_argument( '--view', action='store_true', help='Only pretty print the metafile.') parser.add_argument('--csv', type=str, help='Use a csv to update models.') args = parser.parse_args() + if args.inplace: + args.out = args.src return args @@ -82,6 +89,7 @@ def get_flops(config_path): from fvcore.nn import FlopCountAnalysis, parameter_count from mmengine.config import Config from mmengine.dataset import Compose + from mmengine.model.utils import revert_sync_batchnorm from mmengine.registry import DefaultScope import mmpretrain.datasets # noqa: F401 @@ -109,6 +117,8 @@ def get_flops(config_path): resolution = (224, 224) model = init_model(cfg, device='cpu') + model = revert_sync_batchnorm(model) + model.eval() with torch.no_grad(): model.forward = model.extract_feat @@ -265,8 +275,9 @@ def fill_model_by_prompt(model: dict, defaults: dict): if model.get('Converted From') is None and model.get( 'Weights') is not None: if Confirm.ask( - 'Is the checkpoint is converted from [red]other repository[/]?' - ): + 'Is the checkpoint is converted ' + 'from [red]other repository[/]?', + default=False): converted_from = {} converted_from['Weights'] = prompt( 'Please fill the original checkpoint download link: ') @@ -280,7 +291,7 @@ def fill_model_by_prompt(model: dict, defaults: dict): order = [ 'Name', 'Metadata', 'In Collection', 'Results', 'Weights', 'Config', - 'Converted From' + 'Converted From', 'Downstream' ] model = {k: model[k] for k in sorted(model.keys(), key=order.index)} return model @@ -315,8 +326,8 @@ def update_model_by_dict(model: dict, update_dict: dict, defaults: dict): model['Metadata']['Parameters'] = params # Metadata.Training Data - if 'metadata.training data' in update_dict: - train_data = update_dict['metadata.training data'].strip() + if 'training dataset' in update_dict: + train_data = update_dict['training dataset'].strip() train_data = re.split(r'\s+', train_data) if len(train_data) > 1: model['Metadata']['Training Data'] = train_data @@ -324,8 +335,8 @@ def update_model_by_dict(model: dict, update_dict: dict, defaults: dict): model['Metadata']['Training Data'] = train_data[0] # Results.Dataset - if 'results.dataset' in update_dict: - test_data = update_dict['results.dataset'].strip() + if 'test dataset' in update_dict: + test_data = update_dict['test dataset'].strip() results = model.get('Results') or [{}] result = results[0] result['Dataset'] = test_data @@ -333,8 +344,8 @@ def update_model_by_dict(model: dict, update_dict: dict, defaults: dict): # Results.Metrics.Top 1 Accuracy result = None - if 'results.metrics.top 1 accuracy' in update_dict: - top1 = update_dict['results.metrics.top 1 accuracy'] + if 'top-1' in update_dict: + top1 = update_dict['top-1'] results = model.get('Results') or [{}] result = results[0] result.setdefault('Metrics', {}) @@ -343,8 +354,8 @@ def update_model_by_dict(model: dict, update_dict: dict, defaults: dict): model['Results'] = results # Results.Metrics.Top 5 Accuracy - if 'results.metrics.top 5 accuracy' in update_dict: - top5 = update_dict['results.metrics.top 5 accuracy'] + if 'top-5' in update_dict: + top5 = update_dict['top-5'] results = model.get('Results') or [{}] result = results[0] result.setdefault('Metrics', {}) @@ -374,7 +385,7 @@ def update_model_by_dict(model: dict, update_dict: dict, defaults: dict): order = [ 'Name', 'Metadata', 'In Collection', 'Results', 'Weights', 'Config', - 'Converted From' + 'Converted From', 'Downstream' ] model = {k: model[k] for k in sorted(model.keys(), key=order.index)} return model @@ -396,6 +407,17 @@ def format_model(model: dict): title='Model') +def order_models(model): + order = [] + order.append(int('Downstream' not in model)) + order.append(int('3rdparty' in model['Name'])) + order.append(model.get('Metadata', {}).get('Parameters', 0)) + order.append(model.get('Metadata', {}).get('FLOPs', 0)) + order.append(len(model['Name'])) + + return tuple(order) + + def main(): args = parse_args() @@ -446,13 +468,12 @@ def main(): console.print(format_model(model)) updated_models.append(model) - while Confirm.ask('Add new model?'): + while Confirm.ask('Add new model?', default=False): model = fill_model_by_prompt({}, model_defaults) updated_models.append(model) # Save updated models even error happened. - updated_models.sort(key=lambda item: (item.get('Metadata', {}).get( - 'FLOPs', 0), len(item['Name']))) + updated_models.sort(key=order_models) if args.out is not None: with open(args.out, 'w') as f: yaml_dump({'Collections': [collection]}, f) diff --git a/.dev_scripts/generate_readme.py b/.dev_scripts/generate_readme.py index 9ebbddc2..4dc43ed5 100644 --- a/.dev_scripts/generate_readme.py +++ b/.dev_scripts/generate_readme.py @@ -2,7 +2,6 @@ import argparse import re import warnings -from collections import OrderedDict from pathlib import Path from modelindex.load_model_index import load @@ -108,6 +107,7 @@ def parse_args(): '--table', action='store_true', help='Only generate summary tables') parser.add_argument( '--update', type=str, help='Update the specified readme file.') + parser.add_argument('--out', type=str, help='Output to the file.') parser.add_argument( '--update-items', type=str, @@ -431,7 +431,12 @@ def main(): if 'citation' not in content: content['citation'] = '## Citation\n```bibtex\n```\n' - print(combine_readme(content)) + content = combine_readme(content) + if args.out is not None: + with open(args.out, 'w') as f: + f.write(content) + else: + print(content) if __name__ == '__main__': diff --git a/configs/barlowtwins/README.md b/configs/barlowtwins/README.md index 1c7d190d..d022c0e7 100644 --- a/configs/barlowtwins/README.md +++ b/configs/barlowtwins/README.md @@ -65,13 +65,13 @@ python tools/test.py configs/barlowtwins/benchmarks/resnet50_8xb32-linear-coslr- | Model | Params (M) | Flops (G) | Config | Download | | :-------------------------------------------- | :--------: | :-------: | :------------------------------------------------------: | :------------------------------------------------------------------------------: | -| `barlowtwins_resnet50_8xb256-coslr-300e_in1k` | N/A | N/A | [config](barlowtwins_resnet50_8xb256-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/barlowtwins/barlowtwins_resnet50_8xb256-coslr-300e_in1k/barlowtwins_resnet50_8xb256-coslr-300e_in1k_20220825-57307488.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/barlowtwins/barlowtwins_resnet50_8xb256-coslr-300e_in1k/barlowtwins_resnet50_8xb256-coslr-300e_in1k_20220825-57307488.json) | +| `barlowtwins_resnet50_8xb256-coslr-300e_in1k` | 174.54 | 4.11 | [config](barlowtwins_resnet50_8xb256-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/barlowtwins/barlowtwins_resnet50_8xb256-coslr-300e_in1k/barlowtwins_resnet50_8xb256-coslr-300e_in1k_20220825-57307488.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/barlowtwins/barlowtwins_resnet50_8xb256-coslr-300e_in1k/barlowtwins_resnet50_8xb256-coslr-300e_in1k_20220825-57307488.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Config | Download | | :---------------------------------------- | :------------------------------------------: | :--------: | :-------: | :-------: | :----------------------------------------: | :-------------------------------------------: | -| `resnet50_barlowtwins-pre_8xb32-linear-coslr-100e_in1k` | [BARLOWTWINS](https://download.openmmlab.com/mmselfsup/1.x/barlowtwins/barlowtwins_resnet50_8xb256-coslr-300e_in1k/barlowtwins_resnet50_8xb256-coslr-300e_in1k_20220825-57307488.pth) | N/A | N/A | 71.80 | [config](benchmarks/resnet50_8xb32-linear-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/barlowtwins/barlowtwins_resnet50_8xb256-coslr-300e_in1k/resnet50_linear-8xb32-coslr-100e_in1k/resnet50_linear-8xb32-coslr-100e_in1k_20220825-52fde35f.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/barlowtwins/barlowtwins_resnet50_8xb256-coslr-300e_in1k/resnet50_linear-8xb32-coslr-100e_in1k/resnet50_linear-8xb32-coslr-100e_in1k_20220825-52fde35f.json) | +| `resnet50_barlowtwins-pre_8xb32-linear-coslr-100e_in1k` | [BARLOWTWINS](https://download.openmmlab.com/mmselfsup/1.x/barlowtwins/barlowtwins_resnet50_8xb256-coslr-300e_in1k/barlowtwins_resnet50_8xb256-coslr-300e_in1k_20220825-57307488.pth) | 25.56 | 4.11 | 71.80 | [config](benchmarks/resnet50_8xb32-linear-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/barlowtwins/barlowtwins_resnet50_8xb256-coslr-300e_in1k/resnet50_linear-8xb32-coslr-100e_in1k/resnet50_linear-8xb32-coslr-100e_in1k_20220825-52fde35f.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/barlowtwins/barlowtwins_resnet50_8xb256-coslr-300e_in1k/resnet50_linear-8xb32-coslr-100e_in1k/resnet50_linear-8xb32-coslr-100e_in1k_20220825-52fde35f.json) | ## Citation diff --git a/configs/barlowtwins/metafile.yml b/configs/barlowtwins/metafile.yml index 0f176ed7..705080e0 100644 --- a/configs/barlowtwins/metafile.yml +++ b/configs/barlowtwins/metafile.yml @@ -9,30 +9,36 @@ Collections: - ResNet - BarlowTwins Paper: - URL: https://arxiv.org/abs/2103.03230 - Title: "Barlow Twins: Self-Supervised Learning via Redundancy Reduction" + Title: 'Barlow Twins: Self-Supervised Learning via Redundancy Reduction' + URL: https://arxiv.org/abs/2103.03230 README: configs/barlowtwins/README.md Models: - Name: barlowtwins_resnet50_8xb256-coslr-300e_in1k - In Collection: BarlowTwins Metadata: Epochs: 300 Batch Size: 2048 + FLOPs: 4109364224 + Parameters: 174535744 + Training Data: ImageNet-1k + In Collection: BarlowTwins Results: null - Config: configs/barlowtwins/barlowtwins_resnet50_8xb256-coslr-300e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/barlowtwins/barlowtwins_resnet50_8xb256-coslr-300e_in1k/barlowtwins_resnet50_8xb256-coslr-300e_in1k_20220825-57307488.pth + Config: configs/barlowtwins/barlowtwins_resnet50_8xb256-coslr-300e_in1k.py Downstream: - resnet50_barlowtwins-pre_8xb32-linear-coslr-100e_in1k - Name: resnet50_barlowtwins-pre_8xb32-linear-coslr-100e_in1k - In Collection: BarlowTwins Metadata: Epochs: 100 Batch Size: 256 + FLOPs: 4109464576 + Parameters: 25557032 + Training Data: ImageNet-1k + In Collection: BarlowTwins Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 71.8 - Config: configs/barlowtwins/benchmarks/resnet50_8xb32-linear-coslr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/barlowtwins/barlowtwins_resnet50_8xb256-coslr-300e_in1k/resnet50_linear-8xb32-coslr-100e_in1k/resnet50_linear-8xb32-coslr-100e_in1k_20220825-52fde35f.pth + Config: configs/barlowtwins/benchmarks/resnet50_8xb32-linear-coslr-100e_in1k.py diff --git a/configs/beit/metafile.yml b/configs/beit/metafile.yml index d03bdb03..6243815d 100644 --- a/configs/beit/metafile.yml +++ b/configs/beit/metafile.yml @@ -12,8 +12,8 @@ Collections: - Scaled Dot-Product Attention - Tanh Activation Paper: - URL: https://arxiv.org/abs/2106.08254 Title: 'BEiT: BERT Pre-Training of Image Transformers' + URL: https://arxiv.org/abs/2106.08254 README: configs/beit/README.md Code: URL: https://github.com/open-mmlab/mmclassification/blob/dev-1.x/mmcls/models/backbones/beit.py @@ -21,39 +21,41 @@ Collections: Models: - Name: beit_beit-base-p16_8xb256-amp-coslr-300e_in1k - In Collection: BEiT Metadata: Epochs: 300 Batch Size: 2048 FLOPs: 17581219584 Parameters: 86530984 + Training Data: ImageNet-1k + In Collection: BEiT Results: null - Config: configs/beit/beit_beit-base-p16_8xb256-amp-coslr-300e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/beit/beit_vit-base-p16_8xb256-amp-coslr-300e_in1k/beit_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221128-ab79e626.pth + Config: configs/beit/beit_beit-base-p16_8xb256-amp-coslr-300e_in1k.py Downstream: - beit-base-p16_beit-pre_8xb128-coslr-100e_in1k - Name: beit-base-p16_beit-pre_8xb128-coslr-100e_in1k - In Collection: BEiT Metadata: Epochs: 100 Batch Size: 1024 FLOPs: 17581219584 Parameters: 86530984 + Training Data: ImageNet-1k + In Collection: BEiT Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 83.1 - Config: configs/beit/benchmarks/beit-base-p16_8xb128-coslr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/beit/beit_vit-base-p16_8xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20221128-0ca393e9.pth + Config: configs/beit/benchmarks/beit-base-p16_8xb128-coslr-100e_in1k.py - Name: beit-base-p16_beit-in21k-pre_3rdparty_in1k - In Collection: BEiT Metadata: FLOPs: 17581219584 Parameters: 86530984 Training Data: - ImageNet-21k - ImageNet-1k + In Collection: BEiT Results: - Dataset: ImageNet-1k Task: Image Classification @@ -61,7 +63,7 @@ Models: Top 1 Accuracy: 85.28 Top 5 Accuracy: 97.59 Weights: https://download.openmmlab.com/mmclassification/v0/beit/beit-base_3rdparty_in1k_20221114-c0a4df23.pth + Config: configs/beit/benchmarks/beit-base-p16_8xb64_in1k.py Converted From: Weights: https://conversationhub.blob.core.windows.net/beit-share-public/beit/beit_base_patch16_224_pt22k_ft22kto1k.pth Code: https://github.com/microsoft/unilm/tree/master/beit - Config: configs/beit/benchmarks/beit-base-p16_8xb64_in1k.py diff --git a/configs/beitv2/README.md b/configs/beitv2/README.md index f83c2a99..c46eb459 100644 --- a/configs/beitv2/README.md +++ b/configs/beitv2/README.md @@ -65,13 +65,13 @@ python tools/test.py configs/beitv2/benchmarks/beit-base-p16_8xb128-coslr-100e_i | Model | Params (M) | Flops (G) | Config | Download | | :------------------------------------------------ | :--------: | :-------: | :----------------------------------------------------------: | :----------------------------------------------------------------------: | -| `beitv2_beit-base-p16_8xb256-amp-coslr-300e_in1k` | N/A | N/A | [config](beitv2_beit-base-p16_8xb256-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/beitv2/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221212-a157be30.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/beitv2/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221212-a157be30.json) | +| `beitv2_beit-base-p16_8xb256-amp-coslr-300e_in1k` | 192.81 | 17.58 | [config](beitv2_beit-base-p16_8xb256-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/beitv2/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221212-a157be30.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/beitv2/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221212-a157be30.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Top-5 (%) | Config | Download | | :-------------------------------------- | :----------------------------------------: | :--------: | :-------: | :-------: | :-------: | :--------------------------------------: | :----------------------------------------: | -| `beit-base-p16_beitv2-pre_8xb128-coslr-100e_in1k` | [BEITV2](https://download.openmmlab.com/mmselfsup/1.x/beitv2/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221212-a157be30.pth) | N/A | N/A | 85.00 | N/A | [config](benchmarks/beit-base-p16_8xb128-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/beitv2/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20221212-d1c0789e.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/beitv2/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20221212-d1c0789e.json) | +| `beit-base-p16_beitv2-pre_8xb128-coslr-100e_in1k` | [BEITV2](https://download.openmmlab.com/mmselfsup/1.x/beitv2/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221212-a157be30.pth) | 86.53 | 17.58 | 85.00 | N/A | [config](benchmarks/beit-base-p16_8xb128-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/beitv2/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20221212-d1c0789e.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/beitv2/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20221212-d1c0789e.json) | | `beit-base-p16_beitv2-in21k-pre_3rdparty_in1k`\* | BEITV2 ImageNet-21k | 86.53 | 17.58 | 86.47 | 97.99 | [config](benchmarks/beit-base-p16_8xb64_in1k.py) | [model](https://download.openmmlab.com/mmclassification/v0/beit/beitv2-base_3rdparty_in1k_20221114-73e11905.pth) | *Models with * are converted from the [official repo](https://github.com/microsoft/unilm/tree/master/beit2). The config files of these models are only for inference. We haven't reprodcue the training results.* diff --git a/configs/beitv2/metafile.yml b/configs/beitv2/metafile.yml index 8436cd8c..78f1f957 100644 --- a/configs/beitv2/metafile.yml +++ b/configs/beitv2/metafile.yml @@ -12,8 +12,8 @@ Collections: - Scaled Dot-Product Attention - Tanh Activation Paper: - URL: https://arxiv.org/abs/2208.06366 Title: 'BEiT v2: Masked Image Modeling with Vector-Quantized Visual Tokenizers' + URL: https://arxiv.org/abs/2208.06366 README: configs/beitv2/README.md Code: URL: https://github.com/open-mmlab/mmclassification/blob/dev-1.x/mmcls/models/backbones/beit.py @@ -21,35 +21,41 @@ Collections: Models: - Name: beitv2_beit-base-p16_8xb256-amp-coslr-300e_in1k - In Collection: BEiTv2 Metadata: Epochs: 300 Batch Size: 2048 + FLOPs: 17581223424 + Parameters: 192811376 + Training Data: ImageNet-1k + In Collection: BEiTv2 Results: null - Config: configs/beitv2/beitv2_beit-base-p16_8xb256-amp-coslr-300e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/beitv2/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221212-a157be30.pth + Config: configs/beitv2/beitv2_beit-base-p16_8xb256-amp-coslr-300e_in1k.py Downstream: - beit-base-p16_beitv2-pre_8xb128-coslr-100e_in1k - Name: beit-base-p16_beitv2-pre_8xb128-coslr-100e_in1k - In Collection: BEiTv2 Metadata: Epochs: 100 Batch Size: 1024 + FLOPs: 17581219584 + Parameters: 86530984 + Training Data: ImageNet-1k + In Collection: BEiTv2 Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 85.0 - Config: configs/beitv2/benchmarks/beit-base-p16_8xb128-coslr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/beitv2/beitv2_vit-base-p16_8xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20221212-d1c0789e.pth + Config: configs/beitv2/benchmarks/beit-base-p16_8xb128-coslr-100e_in1k.py - Name: beit-base-p16_beitv2-in21k-pre_3rdparty_in1k - In Collection: BEiTv2 Metadata: FLOPs: 17581219584 Parameters: 86530984 Training Data: - ImageNet-21k - ImageNet-1k + In Collection: BEiTv2 Results: - Dataset: ImageNet-1k Task: Image Classification @@ -57,7 +63,7 @@ Models: Top 1 Accuracy: 86.47 Top 5 Accuracy: 97.99 Weights: https://download.openmmlab.com/mmclassification/v0/beit/beitv2-base_3rdparty_in1k_20221114-73e11905.pth + Config: configs/beitv2/benchmarks/beit-base-p16_8xb64_in1k.py Converted From: Weights: https://conversationhub.blob.core.windows.net/beit-share-public/beitv2/beitv2_base_patch16_224_pt1k_ft21kto1k.pth Code: https://github.com/microsoft/unilm/tree/master/beit2 - Config: configs/beitv2/benchmarks/beit-base-p16_8xb64_in1k.py diff --git a/configs/byol/README.md b/configs/byol/README.md index e1ccb7d1..3f23598b 100644 --- a/configs/byol/README.md +++ b/configs/byol/README.md @@ -65,13 +65,13 @@ python tools/test.py configs/byol/benchmarks/resnet50_8xb512-linear-coslr-90e_in | Model | Params (M) | Flops (G) | Config | Download | | :-------------------------------------- | :--------: | :-------: | :------------------------------------------------: | :------------------------------------------------------------------------------------------: | -| `byol_resnet50_16xb256-coslr-200e_in1k` | N/A | N/A | [config](byol_resnet50_16xb256-coslr-200e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/byol/byol_resnet50_16xb256-coslr-200e_in1k/byol_resnet50_16xb256-coslr-200e_in1k_20220825-de817331.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/byol/byol_resnet50_16xb256-coslr-200e_in1k/byol_resnet50_16xb256-coslr-200e_in1k_20220825-de817331.json) | +| `byol_resnet50_16xb256-coslr-200e_in1k` | 68.02 | 4.11 | [config](byol_resnet50_16xb256-coslr-200e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/byol/byol_resnet50_16xb256-coslr-200e_in1k/byol_resnet50_16xb256-coslr-200e_in1k_20220825-de817331.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/byol/byol_resnet50_16xb256-coslr-200e_in1k/byol_resnet50_16xb256-coslr-200e_in1k_20220825-de817331.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Config | Download | | :---------------------------------------- | :------------------------------------------: | :--------: | :-------: | :-------: | :----------------------------------------: | :-------------------------------------------: | -| `resnet50_byol-pre_8xb512-linear-coslr-90e_in1k` | [BYOL](https://download.openmmlab.com/mmselfsup/1.x/byol/byol_resnet50_16xb256-coslr-200e_in1k/byol_resnet50_16xb256-coslr-200e_in1k_20220825-de817331.pth) | N/A | N/A | 71.80 | [config](benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/byol/byol_resnet50_16xb256-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-7596c6f5.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/byol/byol_resnet50_16xb256-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-7596c6f5.json) | +| `resnet50_byol-pre_8xb512-linear-coslr-90e_in1k` | [BYOL](https://download.openmmlab.com/mmselfsup/1.x/byol/byol_resnet50_16xb256-coslr-200e_in1k/byol_resnet50_16xb256-coslr-200e_in1k_20220825-de817331.pth) | 25.56 | 4.11 | 71.80 | [config](benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/byol/byol_resnet50_16xb256-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-7596c6f5.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/byol/byol_resnet50_16xb256-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-7596c6f5.json) | ## Citation diff --git a/configs/byol/metafile.yml b/configs/byol/metafile.yml index a2cd108c..09aacad1 100644 --- a/configs/byol/metafile.yml +++ b/configs/byol/metafile.yml @@ -9,30 +9,36 @@ Collections: - ResNet - BYOL Paper: - URL: https://arxiv.org/abs/2006.07733 - Title: "Bootstrap your own latent: A new approach to self-supervised Learning" + Title: 'Bootstrap your own latent: A new approach to self-supervised Learning' + URL: https://arxiv.org/abs/2006.07733 README: configs/byol/README.md Models: - Name: byol_resnet50_16xb256-coslr-200e_in1k - In Collection: BYOL Metadata: Epochs: 200 Batch Size: 4096 + FLOPs: 4109364224 + Parameters: 68024448 + Training Data: ImageNet-1k + In Collection: BYOL Results: null - Config: configs/byol/byol_resnet50_16xb256-coslr-200e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/byol/byol_resnet50_16xb256-coslr-200e_in1k/byol_resnet50_16xb256-coslr-200e_in1k_20220825-de817331.pth + Config: configs/byol/byol_resnet50_16xb256-coslr-200e_in1k.py Downstream: - resnet50_byol-pre_8xb512-linear-coslr-90e_in1k - Name: resnet50_byol-pre_8xb512-linear-coslr-90e_in1k - In Collection: BYOL Metadata: Epochs: 90 Batch Size: 4096 + FLOPs: 4109464576 + Parameters: 25557032 + Training Data: ImageNet-1k + In Collection: BYOL Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 71.8 - Config: configs/byol/benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/byol/byol_resnet50_16xb256-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-7596c6f5.pth + Config: configs/byol/benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py diff --git a/configs/cae/README.md b/configs/cae/README.md index e1042f2f..8e90b540 100644 --- a/configs/cae/README.md +++ b/configs/cae/README.md @@ -32,7 +32,7 @@ print(predict['pred_score']) import torch from mmpretrain import get_model -model = get_model('cae_vit-base-p16_8xb256-amp-coslr-300e_in1k', pretrained=True) +model = get_model('cae_beit-base-p16_8xb256-amp-coslr-300e_in1k', pretrained=True) inputs = torch.rand(1, 3, 224, 224) out = model(inputs) print(type(out)) @@ -48,7 +48,7 @@ Prepare your dataset according to the [docs](https://mmclassification.readthedoc Train: ```shell -python tools/train.py configs/cae/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k.py +python tools/train.py configs/cae/cae_beit-base-p16_8xb256-amp-coslr-300e_in1k.py ``` Test: @@ -63,15 +63,15 @@ python tools/test.py configs/cae/benchmarks/beit-base-p16_8xb128-coslr-100e_in1k ### Pretrained models -| Model | Params (M) | Flops (G) | Config | Download | -| :-------------------------------------------- | :--------: | :-------: | :------------------------------------------------------: | :------------------------------------------------------------------------------: | -| `cae_vit-base-p16_8xb256-amp-coslr-300e_in1k` | N/A | N/A | [config](cae_vit-base-p16_8xb256-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/cae/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221230-808170f3.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/cae/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221230-808170f3.json) | +| Model | Params (M) | Flops (G) | Config | Download | +| :--------------------------------------------- | :--------: | :-------: | :-------------------------------------------------------: | :----------------------------------------------------------------------------: | +| `cae_beit-base-p16_8xb256-amp-coslr-300e_in1k` | 288.43 | 17.58 | [config](cae_beit-base-p16_8xb256-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/cae/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221230-808170f3.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/cae/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221230-808170f3.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Config | Download | | :---------------------------------------- | :------------------------------------------: | :--------: | :-------: | :-------: | :----------------------------------------: | :-------------------------------------------: | -| `beit-base-p16_cae-pre_8xb128-coslr-100e_in1k` | [CAE](https://download.openmmlab.com/mmselfsup/1.x/cae/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221230-808170f3.pth) | N/A | N/A | 83.20 | [config](benchmarks/beit-base-p16_8xb128-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/cae/cae_vit-base-p16_16xb128-fp16-coslr-300e_in1k/vit-base-p16_ft-8xb128-coslr-100e-rpe_in1k/vit-base-p16_ft-8xb128-coslr-100e-rpe_in1k_20220825-f3d234cd.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/cae/cae_vit-base-p16_16xb128-fp16-coslr-300e_in1k/vit-base-p16_ft-8xb128-coslr-100e-rpe_in1k/vit-base-p16_ft-8xb128-coslr-100e-rpe_in1k_20220825-f3d234cd.json) | +| `beit-base-p16_cae-pre_8xb128-coslr-100e_in1k` | [CAE](https://download.openmmlab.com/mmselfsup/1.x/cae/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221230-808170f3.pth) | 86.68 | 17.58 | 83.20 | [config](benchmarks/beit-base-p16_8xb128-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/cae/cae_vit-base-p16_16xb128-fp16-coslr-300e_in1k/vit-base-p16_ft-8xb128-coslr-100e-rpe_in1k/vit-base-p16_ft-8xb128-coslr-100e-rpe_in1k_20220825-f3d234cd.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/cae/cae_vit-base-p16_16xb128-fp16-coslr-300e_in1k/vit-base-p16_ft-8xb128-coslr-100e-rpe_in1k/vit-base-p16_ft-8xb128-coslr-100e-rpe_in1k_20220825-f3d234cd.json) | ## Citation diff --git a/configs/cae/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k.py b/configs/cae/cae_beit-base-p16_8xb256-amp-coslr-300e_in1k.py similarity index 100% rename from configs/cae/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k.py rename to configs/cae/cae_beit-base-p16_8xb256-amp-coslr-300e_in1k.py diff --git a/configs/cae/metafile.yml b/configs/cae/metafile.yml index c128dd9f..83f46f9f 100644 --- a/configs/cae/metafile.yml +++ b/configs/cae/metafile.yml @@ -8,30 +8,36 @@ Collections: Architecture: - ViT Paper: - URL: https://arxiv.org/abs/2202.03026 - Title: "Context Autoencoder for Self-Supervised Representation Learning" + Title: Context Autoencoder for Self-Supervised Representation Learning + URL: https://arxiv.org/abs/2202.03026 README: configs/cae/README.md Models: - - Name: cae_vit-base-p16_8xb256-amp-coslr-300e_in1k - In Collection: CAE + - Name: cae_beit-base-p16_8xb256-amp-coslr-300e_in1k Metadata: Epochs: 300 Batch Size: 2048 + FLOPs: 17581976064 + Parameters: 288429952 + Training Data: ImageNet-1k + In Collection: CAE Results: null - Config: configs/cae/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/cae/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k/cae_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221230-808170f3.pth + Config: configs/cae/cae_beit-base-p16_8xb256-amp-coslr-300e_in1k.py Downstream: - beit-base-p16_cae-pre_8xb128-coslr-100e_in1k - Name: beit-base-p16_cae-pre_8xb128-coslr-100e_in1k - In Collection: CAE Metadata: Epochs: 100 Batch Size: 1024 + FLOPs: 17581219584 + Parameters: 86682280 + Training Data: ImageNet-1k + In Collection: CAE Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 83.2 - Config: configs/cae/benchmarks/beit-base-p16_8xb128-coslr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/cae/cae_vit-base-p16_16xb128-fp16-coslr-300e_in1k/vit-base-p16_ft-8xb128-coslr-100e-rpe_in1k/vit-base-p16_ft-8xb128-coslr-100e-rpe_in1k_20220825-f3d234cd.pth + Config: configs/cae/benchmarks/beit-base-p16_8xb128-coslr-100e_in1k.py diff --git a/configs/clip/metafile.yml b/configs/clip/metafile.yml index 8b682770..38853268 100644 --- a/configs/clip/metafile.yml +++ b/configs/clip/metafile.yml @@ -20,6 +20,44 @@ Collections: Version: v1.0.0 Models: + - Name: vit-base-p32_clip-openai-pre_3rdparty_in1k + Metadata: + FLOPs: 4364335104 + Parameters: 88225000 + Training Data: + - OpenAI + - ImageNet-1k + In Collection: CLIP + Results: + - Dataset: ImageNet-1k + Metrics: + Top 1 Accuracy: 81.77 + Top 5 Accuracy: 95.89 + Task: Image Classification + Weights: https://download.openmmlab.com/mmclassification/v0/clip/clip-vit-base-p32_openai-pre_3rdparty_in1k_20221220-a0182ba9.pth + Config: configs/clip/vit-base-p32_pt-64xb64_in1k.py + Converted From: + Code: https://github.com/rwightman/pytorch-image-models + Weights: https://huggingface.co/timm/vit_base_patch32_clip_224.openai_ft_in1k + - Name: vit-base-p32_clip-laion2b-pre_3rdparty_in1k + Metadata: + FLOPs: 4364335104 + Parameters: 88225000 + Training Data: + - LAION-2B + - ImageNet-1k + In Collection: CLIP + Results: + - Dataset: ImageNet-1k + Metrics: + Top 1 Accuracy: 82.46 + Top 5 Accuracy: 96.12 + Task: Image Classification + Weights: https://download.openmmlab.com/mmclassification/v0/clip/clip-vit-base-p32_laion2b-pre_3rdparty_in1k_20221220-194df57f.pth + Config: configs/clip/vit-base-p32_pt-64xb64_in1k.py + Converted From: + Code: https://github.com/rwightman/pytorch-image-models + Weights: https://huggingface.co/timm/vit_base_patch32_clip_224.laion2b_ft_in1k - Name: vit-base-p32_clip-laion2b-in12k-pre_3rdparty_in1k Metadata: FLOPs: 4364335104 @@ -40,64 +78,6 @@ Models: Converted From: Code: https://github.com/rwightman/pytorch-image-models Weights: https://huggingface.co/timm/vit_base_patch32_clip_224.laion2b_ft_in12k_in1k - - Name: vit-base-p32_clip-laion2b-pre_3rdparty_in1k - Metadata: - FLOPs: 4364335104 - Parameters: 88225000 - Training Data: - - LAION-2B - - ImageNet-1k - In Collection: CLIP - Results: - - Dataset: ImageNet-1k - Metrics: - Top 1 Accuracy: 82.46 - Top 5 Accuracy: 96.12 - Task: Image Classification - Weights: https://download.openmmlab.com/mmclassification/v0/clip/clip-vit-base-p32_laion2b-pre_3rdparty_in1k_20221220-194df57f.pth - Config: configs/clip/vit-base-p32_pt-64xb64_in1k.py - Converted From: - Code: https://github.com/rwightman/pytorch-image-models - Weights: https://huggingface.co/timm/vit_base_patch32_clip_224.laion2b_ft_in1k - - Name: vit-base-p32_clip-openai-pre_3rdparty_in1k - Metadata: - FLOPs: 4364335104 - Parameters: 88225000 - Training Data: - - OpenAI - - ImageNet-1k - In Collection: CLIP - Results: - - Dataset: ImageNet-1k - Metrics: - Top 1 Accuracy: 81.77 - Top 5 Accuracy: 95.89 - Task: Image Classification - Weights: https://download.openmmlab.com/mmclassification/v0/clip/clip-vit-base-p32_openai-pre_3rdparty_in1k_20221220-a0182ba9.pth - Config: configs/clip/vit-base-p32_pt-64xb64_in1k.py - Converted From: - Code: https://github.com/rwightman/pytorch-image-models - Weights: https://huggingface.co/timm/vit_base_patch32_clip_224.openai_ft_in1k - - Name: vit-base-p32_clip-laion2b-in12k-pre_3rdparty_in1k-384px - Metadata: - FLOPs: 12661054464 - Parameters: 88225000 - Training Data: - - LAION-2B - - ImageNet-12k - - ImageNet-1k - In Collection: CLIP - Results: - - Dataset: ImageNet-1k - Metrics: - Top 1 Accuracy: 85.39 - Top 5 Accuracy: 97.67 - Task: Image Classification - Weights: https://download.openmmlab.com/mmclassification/v0/clip/clip-vit-base-p32_laion2b-in12k-pre_3rdparty_in1k-384px_20221220-c7757552.pth - Config: configs/clip/vit-base-p32_pt-64xb64_in1k-384px.py - Converted From: - Code: https://github.com/rwightman/pytorch-image-models - Weights: https://huggingface.co/timm/vit_base_patch32_clip_384.laion2b_ft_in12k_in1k - Name: vit-base-p32_clip-openai-in12k-pre_3rdparty_in1k-384px Metadata: FLOPs: 12661054464 @@ -118,10 +98,10 @@ Models: Converted From: Code: https://github.com/rwightman/pytorch-image-models Weights: https://huggingface.co/timm/vit_base_patch32_clip_384.openai_ft_in12k_in1k - - Name: vit-base-p16_clip-laion2b-in12k-pre_3rdparty_in1k + - Name: vit-base-p32_clip-laion2b-in12k-pre_3rdparty_in1k-384px Metadata: - FLOPs: 16855600128 - Parameters: 86568424 + FLOPs: 12661054464 + Parameters: 88225000 Training Data: - LAION-2B - ImageNet-12k @@ -130,14 +110,33 @@ Models: Results: - Dataset: ImageNet-1k Metrics: - Top 1 Accuracy: 86.02 - Top 5 Accuracy: 97.76 + Top 1 Accuracy: 85.39 + Top 5 Accuracy: 97.67 Task: Image Classification - Weights: https://download.openmmlab.com/mmclassification/v0/clip/clip-vit-base-p16_laion2b-in12k-pre_3rdparty_in1k_20221220-a5e31f8c.pth + Weights: https://download.openmmlab.com/mmclassification/v0/clip/clip-vit-base-p32_laion2b-in12k-pre_3rdparty_in1k-384px_20221220-c7757552.pth + Config: configs/clip/vit-base-p32_pt-64xb64_in1k-384px.py + Converted From: + Code: https://github.com/rwightman/pytorch-image-models + Weights: https://huggingface.co/timm/vit_base_patch32_clip_384.laion2b_ft_in12k_in1k + - Name: vit-base-p16_clip-openai-pre_3rdparty_in1k + Metadata: + FLOPs: 16855600128 + Parameters: 86568424 + Training Data: + - OpenAI + - ImageNet-1k + In Collection: CLIP + Results: + - Dataset: ImageNet-1k + Metrics: + Top 1 Accuracy: 85.3 + Top 5 Accuracy: 97.5 + Task: Image Classification + Weights: https://download.openmmlab.com/mmclassification/v0/clip/clip-vit-base-p16_openai-pre_3rdparty_in1k_20221220-c7d9c899.pth Config: configs/clip/vit-base-p16_pt-64xb64_in1k.py Converted From: Code: https://github.com/rwightman/pytorch-image-models - Weights: https://huggingface.co/timm/vit_base_patch16_clip_224.laion2b_ft_in12k_in1k + Weights: https://huggingface.co/timm/vit_base_patch16_clip_224.openai_ft_in1k - Name: vit-base-p16_clip-laion2b-pre_3rdparty_in1k Metadata: FLOPs: 16855600128 @@ -177,25 +176,26 @@ Models: Converted From: Code: https://github.com/rwightman/pytorch-image-models Weights: https://huggingface.co/timm/vit_base_patch16_clip_224.openai_ft_in12k_in1k - - Name: vit-base-p16_clip-openai-pre_3rdparty_in1k + - Name: vit-base-p16_clip-laion2b-in12k-pre_3rdparty_in1k Metadata: FLOPs: 16855600128 Parameters: 86568424 Training Data: - - OpenAI + - LAION-2B + - ImageNet-12k - ImageNet-1k In Collection: CLIP Results: - Dataset: ImageNet-1k Metrics: - Top 1 Accuracy: 85.3 - Top 5 Accuracy: 97.5 + Top 1 Accuracy: 86.02 + Top 5 Accuracy: 97.76 Task: Image Classification - Weights: https://download.openmmlab.com/mmclassification/v0/clip/clip-vit-base-p16_openai-pre_3rdparty_in1k_20221220-c7d9c899.pth + Weights: https://download.openmmlab.com/mmclassification/v0/clip/clip-vit-base-p16_laion2b-in12k-pre_3rdparty_in1k_20221220-a5e31f8c.pth Config: configs/clip/vit-base-p16_pt-64xb64_in1k.py Converted From: Code: https://github.com/rwightman/pytorch-image-models - Weights: https://huggingface.co/timm/vit_base_patch16_clip_224.openai_ft_in1k + Weights: https://huggingface.co/timm/vit_base_patch16_clip_224.laion2b_ft_in12k_in1k - Name: vit-base-p32_clip-laion2b-in12k-pre_3rdparty_in1k-448px Metadata: FLOPs: 17202416640 @@ -216,26 +216,25 @@ Models: Converted From: Code: https://github.com/rwightman/pytorch-image-models Weights: https://huggingface.co/timm/vit_base_patch32_clip_448.laion2b_ft_in12k_in1k - - Name: vit-base-p16_clip-laion2b-in12k-pre_3rdparty_in1k-384px + - Name: vit-base-p16_clip-openai-pre_3rdparty_in1k-384px Metadata: FLOPs: 49370078208 Parameters: 86568424 Training Data: - - LAION-2B - - ImageNet-12k + - OpenAI - ImageNet-1k In Collection: CLIP Results: - Dataset: ImageNet-1k Metrics: - Top 1 Accuracy: 87.17 - Top 5 Accuracy: 98.02 + Top 1 Accuracy: 86.25 + Top 5 Accuracy: 97.9 Task: Image Classification - Weights: https://download.openmmlab.com/mmclassification/v0/clip/clip-vit-base-p16_laion2b-in12k-pre_3rdparty_in1k-384px_20221220-84ed0cc0.pth + Weights: https://download.openmmlab.com/mmclassification/v0/clip/clip-vit-base-p16_openai-pre_3rdparty_in1k-384px_20221220-eb012e87.pth Config: configs/clip/vit-base-p16_pt-64xb64_in1k-384px.py Converted From: Code: https://github.com/rwightman/pytorch-image-models - Weights: https://huggingface.co/timm/vit_base_patch16_clip_384.laion2b_ft_in12k_in1k + Weights: https://huggingface.co/timm/vit_base_patch16_clip_384.openai_ft_in1k - Name: vit-base-p16_clip-laion2b-pre_3rdparty_in1k-384px Metadata: FLOPs: 49370078208 @@ -275,22 +274,23 @@ Models: Converted From: Code: https://github.com/rwightman/pytorch-image-models Weights: https://huggingface.co/timm/vit_base_patch16_clip_384.openai_ft_in12k_in1k - - Name: vit-base-p16_clip-openai-pre_3rdparty_in1k-384px + - Name: vit-base-p16_clip-laion2b-in12k-pre_3rdparty_in1k-384px Metadata: FLOPs: 49370078208 Parameters: 86568424 Training Data: - - OpenAI + - LAION-2B + - ImageNet-12k - ImageNet-1k In Collection: CLIP Results: - Dataset: ImageNet-1k Metrics: - Top 1 Accuracy: 86.25 - Top 5 Accuracy: 97.9 + Top 1 Accuracy: 87.17 + Top 5 Accuracy: 98.02 Task: Image Classification - Weights: https://download.openmmlab.com/mmclassification/v0/clip/clip-vit-base-p16_openai-pre_3rdparty_in1k-384px_20221220-eb012e87.pth + Weights: https://download.openmmlab.com/mmclassification/v0/clip/clip-vit-base-p16_laion2b-in12k-pre_3rdparty_in1k-384px_20221220-84ed0cc0.pth Config: configs/clip/vit-base-p16_pt-64xb64_in1k-384px.py Converted From: Code: https://github.com/rwightman/pytorch-image-models - Weights: https://huggingface.co/timm/vit_base_patch16_clip_384.openai_ft_in1k + Weights: https://huggingface.co/timm/vit_base_patch16_clip_384.laion2b_ft_in12k_in1k diff --git a/configs/densecl/README.md b/configs/densecl/README.md index 849d8903..911ca2c9 100644 --- a/configs/densecl/README.md +++ b/configs/densecl/README.md @@ -65,13 +65,13 @@ python tools/test.py configs/densecl/benchmarks/resnet50_8xb32-linear-steplr-100 | Model | Params (M) | Flops (G) | Config | Download | | :--------------------------------------- | :--------: | :-------: | :-------------------------------------------------: | :----------------------------------------------------------------------------------------: | -| `densecl_resnet50_8xb32-coslr-200e_in1k` | N/A | N/A | [config](densecl_resnet50_8xb32-coslr-200e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/densecl/densecl_resnet50_8xb32-coslr-200e_in1k/densecl_resnet50_8xb32-coslr-200e_in1k_20220825-3078723b.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/densecl/densecl_resnet50_8xb32-coslr-200e_in1k/densecl_resnet50_8xb32-coslr-200e_in1k_20220825-3078723b.json) | +| `densecl_resnet50_8xb32-coslr-200e_in1k` | 64.85 | 4.11 | [config](densecl_resnet50_8xb32-coslr-200e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/densecl/densecl_resnet50_8xb32-coslr-200e_in1k/densecl_resnet50_8xb32-coslr-200e_in1k_20220825-3078723b.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/densecl/densecl_resnet50_8xb32-coslr-200e_in1k/densecl_resnet50_8xb32-coslr-200e_in1k_20220825-3078723b.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Config | Download | | :---------------------------------------- | :------------------------------------------: | :--------: | :-------: | :-------: | :----------------------------------------: | :-------------------------------------------: | -| `resnet50_densecl-pre_8xb32-linear-steplr-100e_in1k` | [DENSECL](https://download.openmmlab.com/mmselfsup/1.x/densecl/densecl_resnet50_8xb32-coslr-200e_in1k/densecl_resnet50_8xb32-coslr-200e_in1k_20220825-3078723b.pth) | N/A | N/A | 63.50 | [config](benchmarks/resnet50_8xb32-linear-steplr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/densecl/densecl_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb32-steplr-100e_in1k/resnet50_linear-8xb32-steplr-100e_in1k_20220825-f0f0a579.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/densecl/densecl_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb32-steplr-100e_in1k/resnet50_linear-8xb32-steplr-100e_in1k_20220825-f0f0a579.json) | +| `resnet50_densecl-pre_8xb32-linear-steplr-100e_in1k` | [DENSECL](https://download.openmmlab.com/mmselfsup/1.x/densecl/densecl_resnet50_8xb32-coslr-200e_in1k/densecl_resnet50_8xb32-coslr-200e_in1k_20220825-3078723b.pth) | 25.56 | 4.11 | 63.50 | [config](benchmarks/resnet50_8xb32-linear-steplr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/densecl/densecl_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb32-steplr-100e_in1k/resnet50_linear-8xb32-steplr-100e_in1k_20220825-f0f0a579.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/densecl/densecl_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb32-steplr-100e_in1k/resnet50_linear-8xb32-steplr-100e_in1k_20220825-f0f0a579.json) | ## Citation diff --git a/configs/densecl/metafile.yml b/configs/densecl/metafile.yml index 097bcfca..24449910 100644 --- a/configs/densecl/metafile.yml +++ b/configs/densecl/metafile.yml @@ -9,30 +9,36 @@ Collections: Architecture: - ResNet Paper: - URL: https://arxiv.org/abs/2011.09157 - Title: "Dense contrastive learning for self-supervised visual pre-training" + Title: Dense contrastive learning for self-supervised visual pre-training + URL: https://arxiv.org/abs/2011.09157 README: configs/densecl/README.md Models: - Name: densecl_resnet50_8xb32-coslr-200e_in1k - In Collection: DenseCL Metadata: Epochs: 200 Batch Size: 256 + FLOPs: 4109364224 + Parameters: 64850560 + Training Data: ImageNet-1k + In Collection: DenseCL Results: null - Config: configs/densecl/densecl_resnet50_8xb32-coslr-200e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/densecl/densecl_resnet50_8xb32-coslr-200e_in1k/densecl_resnet50_8xb32-coslr-200e_in1k_20220825-3078723b.pth + Config: configs/densecl/densecl_resnet50_8xb32-coslr-200e_in1k.py Downstream: - resnet50_densecl-pre_8xb32-linear-steplr-100e_in1k - Name: resnet50_densecl-pre_8xb32-linear-steplr-100e_in1k - In Collection: DenseCL Metadata: Epochs: 100 Batch Size: 256 + FLOPs: 4109464576 + Parameters: 25557032 + Training Data: ImageNet-1k + In Collection: DenseCL Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 63.5 - Config: configs/densecl/benchmarks/resnet50_8xb32-linear-steplr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/densecl/densecl_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb32-steplr-100e_in1k/resnet50_linear-8xb32-steplr-100e_in1k_20220825-f0f0a579.pth + Config: configs/densecl/benchmarks/resnet50_8xb32-linear-steplr-100e_in1k.py diff --git a/configs/eva/README.md b/configs/eva/README.md index 824933cd..2498f3a2 100644 --- a/configs/eva/README.md +++ b/configs/eva/README.md @@ -21,7 +21,7 @@ We launch EVA, a vision-centric foundation model to explore the limits of visual ```python from mmpretrain import inference_model -predict = inference_model('beit-g-p14_eva-30m-in21k-pre_3rdparty_in1k-336px', 'demo/bird.JPEG') +predict = inference_model('vit-base-p16_eva-mae-style-pre_8xb128-coslr-100e_in1k', 'demo/bird.JPEG') print(predict['pred_class']) print(predict['pred_score']) ``` @@ -32,7 +32,7 @@ print(predict['pred_score']) import torch from mmpretrain import get_model -model = get_model('beit-g-p14_3rdparty-eva_30m', pretrained=True) +model = get_model('eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k', pretrained=True) inputs = torch.rand(1, 3, 224, 224) out = model(inputs) print(type(out)) @@ -54,7 +54,7 @@ python tools/train.py configs/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_ Test: ```shell -python tools/test.py configs/eva/eva-g-p14_8xb16_in1k-336px.py https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_30m-in21k-pre_3rdparty_in1k-336px_20221213-210f9071.pth +python tools/test.py configs/eva/benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20221226-f61cf992.pth ``` @@ -65,12 +65,12 @@ python tools/test.py configs/eva/eva-g-p14_8xb16_in1k-336px.py https://download. | Model | Params (M) | Flops (G) | Config | Download | | :--------------------------------------------------- | :--------: | :-------: | :-------------------------------------------------------------: | :----------------------------------------------------------------: | -| `beit-g-p14_3rdparty-eva_30m`\* | 1011.60 | 267.17 | [config](eva-g-p14_headless.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_3rdparty_30m_20221213-3b7aca97.pth) | -| `beit-g-p16_3rdparty-eva_30m`\* | 1011.32 | 203.52 | [config](eva-g-p16_headless.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p16_3rdparty_30m_20221213-7bed23ee.pth) | -| `beit-g-p14_eva-30m-pre_3rdparty_in21k`\* | 1011.60 | 267.17 | [config](eva-g-p14_headless.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_30m-pre_3rdparty_in21k_20221213-d72285b7.pth) | +| `eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k` | 111.78 | 17.58 | [config](eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k_20221226-26d90f07.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k_20221226-26d90f07.json) | | `beit-l-p14_3rdparty-eva_in21k`\* | 303.18 | 81.08 | [config](eva-l-p14_headless.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_3rdparty-mim_in21k_20221213-3a5da50b.pth) | | `beit-l-p14_eva-pre_3rdparty_in21k`\* | 303.18 | 81.08 | [config](eva-l-p14_headless.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-pre_3rdparty_in21k_20221213-8f194fa2.pth) | -| `eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k` | N/A | N/A | [config](eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k_20221226-26d90f07.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k_20221226-26d90f07.json) | +| `beit-g-p16_3rdparty-eva_30m`\* | 1011.32 | 203.52 | [config](eva-g-p16_headless.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p16_3rdparty_30m_20221213-7bed23ee.pth) | +| `beit-g-p14_3rdparty-eva_30m`\* | 1011.60 | 267.17 | [config](eva-g-p14_headless.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_3rdparty_30m_20221213-3b7aca97.pth) | +| `beit-g-p14_eva-30m-pre_3rdparty_in21k`\* | 1011.60 | 267.17 | [config](eva-g-p14_headless.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_30m-pre_3rdparty_in21k_20221213-d72285b7.pth) | *Models with * are converted from the [official repo](https://github.com/baaivision/EVA). The config files of these models are only for inference. We haven't reprodcue the training results.* @@ -78,14 +78,14 @@ python tools/test.py configs/eva/eva-g-p14_8xb16_in1k-336px.py https://download. | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Top-5 (%) | Config | Download | | :-------------------------------------- | :----------------------------------------: | :--------: | :-------: | :-------: | :-------: | :--------------------------------------: | :----------------------------------------: | -| `beit-g-p14_eva-30m-in21k-pre_3rdparty_in1k-336px`\* | [EVA merged-30M ImageNet-21k](https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_30m-pre_3rdparty_in21k_20221213-d72285b7.pth) | 1013.01 | 620.64 | 89.61 | 98.93 | [config](eva-g-p14_8xb16_in1k-336px.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_30m-in21k-pre_3rdparty_in1k-336px_20221213-210f9071.pth) | -| `beit-g-p14_eva-30m-in21k-pre_3rdparty_in1k-560px`\* | [EVA merged-30M ImageNet-21k](https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_30m-pre_3rdparty_in21k_20221213-d72285b7.pth) | 1014.45 | 1906.76 | 89.71 | 98.96 | [config](eva-g-p14_8xb16_in1k-560px.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_30m-in21k-pre_3rdparty_in1k-560px_20221213-fa1c3652.pth) | -| `beit-l-p14_eva-pre_3rdparty_in1k-336px`\* | [EVA](https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_3rdparty-mim_in21k_20221213-3a5da50b.pth) | 304.53 | 191.10 | 88.66 | 98.75 | [config](eva-l-p14_8xb16_in1k-336px.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-pre_3rdparty_in1k-336px_20221214-07785cfd.pth) | -| `beit-l-p14_eva-in21k-pre_3rdparty_in1k-336px`\* | EVA ImageNet-21k | 304.53 | 191.10 | 89.17 | 98.86 | [config](eva-l-p14_8xb16_in1k-336px.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-in21k-pre_3rdparty_in1k-336px_20221213-f25b7634.pth) | +| `vit-base-p16_eva-mae-style-pre_8xb128-coslr-100e_in1k` | [EVA MAE STYLE](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k_20221226-26d90f07.pth) | 86.57 | 17.58 | 83.70 | N/A | [config](benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20221226-f61cf992.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20221226-f61cf992.json) | +| `vit-base-p16_eva-mae-style-pre_8xb2048-linear-coslr-100e_in1k` | [EVA MAE STYLE](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k_20221226-26d90f07.pth) | 86.57 | 17.58 | 69.00 | N/A | [config](benchmarks/vit-base-p16_8xb2048-linear-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k_20221226-ef51bf09.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k_20221226-ef51bf09.json) | | `beit-l-p14_eva-pre_3rdparty_in1k-196px`\* | [EVA](https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_3rdparty-mim_in21k_20221213-3a5da50b.pth) | 304.14 | 61.57 | 87.94 | 98.5 | [config](eva-l-p14_8xb16_in1k-196px.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-pre_3rdparty_in1k-196px_20221214-2adf4d28.pth) | | `beit-l-p14_eva-in21k-pre_3rdparty_in1k-196px`\* | EVA ImageNet-21k | 304.14 | 61.57 | 88.58 | 98.65 | [config](eva-l-p14_8xb16_in1k-196px.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-in21k-pre_3rdparty_in1k-196px_20221213-b730c7e7.pth) | -| `vit-base-p16_eva-mae-style-pre_8xb128-coslr-100e_in1k` | [EVA mae-style](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k_20221226-26d90f07.pth) | N/A | N/A | 83.70 | N/A | [config](benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20221226-f61cf992.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20221226-f61cf992.json) | -| `vit-base-p16_eva-mae-style-pre_8xb2048-linear-coslr-100e_in1k` | [EVA mae-style](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k_20221226-26d90f07.pth) | N/A | N/A | 69.00 | N/A | [config](benchmarks/vit-base-p16_8xb2048-linear-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k_20221226-ef51bf09.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k_20221226-ef51bf09.json) | +| `beit-l-p14_eva-pre_3rdparty_in1k-336px`\* | [EVA](https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_3rdparty-mim_in21k_20221213-3a5da50b.pth) | 304.53 | 191.10 | 88.66 | 98.75 | [config](eva-l-p14_8xb16_in1k-336px.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-pre_3rdparty_in1k-336px_20221214-07785cfd.pth) | +| `beit-l-p14_eva-in21k-pre_3rdparty_in1k-336px`\* | EVA ImageNet-21k | 304.53 | 191.10 | 89.17 | 98.86 | [config](eva-l-p14_8xb16_in1k-336px.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-in21k-pre_3rdparty_in1k-336px_20221213-f25b7634.pth) | +| `beit-g-p14_eva-30m-in21k-pre_3rdparty_in1k-336px`\* | [EVA 30M ImageNet-21k](https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_30m-pre_3rdparty_in21k_20221213-d72285b7.pth) | 1013.01 | 620.64 | 89.61 | 98.93 | [config](eva-g-p14_8xb16_in1k-336px.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_30m-in21k-pre_3rdparty_in1k-336px_20221213-210f9071.pth) | +| `beit-g-p14_eva-30m-in21k-pre_3rdparty_in1k-560px`\* | [EVA 30M ImageNet-21k](https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_30m-pre_3rdparty_in21k_20221213-d72285b7.pth) | 1014.45 | 1906.76 | 89.71 | 98.96 | [config](eva-g-p14_8xb16_in1k-560px.py) | [model](https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_30m-in21k-pre_3rdparty_in1k-560px_20221213-fa1c3652.pth) | *Models with * are converted from the [official repo](https://github.com/baaivision/EVA). The config files of these models are only for inference. We haven't reprodcue the training results.* diff --git a/configs/eva/metafile.yml b/configs/eva/metafile.yml index ebf143ca..dd8dbbf7 100644 --- a/configs/eva/metafile.yml +++ b/configs/eva/metafile.yml @@ -12,64 +12,214 @@ Collections: - Scaled Dot-Product Attention - Tanh Activation Paper: + Title: 'EVA: Exploring the Limits of Masked Visual Representation Learning at + Scale' URL: https://arxiv.org/abs/2211.07636 - Title: 'EVA: Exploring the Limits of Masked Visual Representation Learning at Scale' README: configs/eva/README.md Code: - URL: - Version: + URL: null + Version: null Models: - - Name: beit-g-p14_3rdparty-eva_30m - In Collection: EVA + - Name: eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k Metadata: - FLOPs: 267174833024 - Parameters: 1011596672 - Training Data: - - merged-30M - Results: null - Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_3rdparty_30m_20221213-3b7aca97.pth - Converted From: - Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_psz14.pt - Code: https://github.com/baaivision/EVA - Config: configs/eva/eva-g-p14_headless.py - Downstream: - - beit-g-p14_eva-30m-pre_3rdparty_in21k - - - Name: beit-g-p16_3rdparty-eva_30m + Epochs: 400 + Batch Size: 4096 + FLOPs: 17581972224 + Parameters: 111776512 + Training Data: ImageNet-1k In Collection: EVA + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k_20221226-26d90f07.pth + Config: configs/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k.py + Downstream: + - vit-base-p16_eva-mae-style-pre_8xb128-coslr-100e_in1k + - vit-base-p16_eva-mae-style-pre_8xb2048-linear-coslr-100e_in1k + - Name: vit-base-p16_eva-mae-style-pre_8xb128-coslr-100e_in1k + Metadata: + Epochs: 100 + Batch Size: 1024 + FLOPs: 17581215744 + Parameters: 86566120 + Training Data: ImageNet-1k + In Collection: EVA + Results: + - Task: Image Classification + Dataset: ImageNet-1k + Metrics: + Top 1 Accuracy: 83.7 + Weights: https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20221226-f61cf992.pth + Config: configs/eva/benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py + - Name: vit-base-p16_eva-mae-style-pre_8xb2048-linear-coslr-100e_in1k + Metadata: + Epochs: 100 + Batch Size: 16384 + FLOPs: 17581972992 + Parameters: 86567656 + Training Data: ImageNet-1k + In Collection: EVA + Results: + - Task: Image Classification + Dataset: ImageNet-1k + Metrics: + Top 1 Accuracy: 69.0 + Weights: https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k_20221226-ef51bf09.pth + Config: configs/eva/benchmarks/vit-base-p16_8xb2048-linear-coslr-100e_in1k.py + - Name: beit-l-p14_eva-pre_3rdparty_in1k-196px + Metadata: + FLOPs: 61565981696 + Parameters: 304142312 + Training Data: + - ImageNet-21k + - ImageNet-1k + In Collection: EVA + Results: + - Dataset: ImageNet-1k + Task: Image Classification + Metrics: + Top 1 Accuracy: 87.94 + Top 5 Accuracy: 98.5 + Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-pre_3rdparty_in1k-196px_20221214-2adf4d28.pth + Config: configs/eva/eva-l-p14_8xb16_in1k-196px.py + Converted From: + Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_l_psz14_196px_1k_ft_88p0.pt + Code: https://github.com/baaivision/EVA + - Name: beit-l-p14_eva-in21k-pre_3rdparty_in1k-196px + Metadata: + FLOPs: 61565981696 + Parameters: 304142312 + Training Data: + - ImageNet-21k + - ImageNet-1k + In Collection: EVA + Results: + - Dataset: ImageNet-1k + Task: Image Classification + Metrics: + Top 1 Accuracy: 88.58 + Top 5 Accuracy: 98.65 + Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-in21k-pre_3rdparty_in1k-196px_20221213-b730c7e7.pth + Config: configs/eva/eva-l-p14_8xb16_in1k-196px.py + Converted From: + Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_l_psz14_196px_21k_to_1k_ft_88p6.pt + Code: https://github.com/baaivision/EVA + - Name: beit-l-p14_3rdparty-eva_in21k + Metadata: + FLOPs: 81075147776 + Parameters: 303178752 + Training Data: + - ImageNet-21k + In Collection: EVA + Results: null + Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_3rdparty-mim_in21k_20221213-3a5da50b.pth + Config: configs/eva/eva-l-p14_headless.py + Converted From: + Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_l_psz14.pt + Code: https://github.com/baaivision/EVA + Downstream: + - beit-l-p14_eva-pre_3rdparty_in21k + - beit-l-p14_eva-pre_3rdparty_in1k-336px + - beit-l-p14_eva-pre_3rdparty_in1k-196px + - Name: beit-l-p14_eva-pre_3rdparty_in21k + Metadata: + FLOPs: 81075147776 + Parameters: 303178752 + Training Data: + - ImageNet-21k + In Collection: EVA + Results: null + Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-pre_3rdparty_in21k_20221213-8f194fa2.pth + Config: configs/eva/eva-l-p14_headless.py + Converted From: + Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_l_psz14_21k_ft.pt + Code: https://github.com/baaivision/EVA + - Name: beit-l-p14_eva-pre_3rdparty_in1k-336px + Metadata: + FLOPs: 191100916736 + Parameters: 304531432 + Training Data: + - ImageNet-21k + - ImageNet-1k + In Collection: EVA + Results: + - Dataset: ImageNet-1k + Task: Image Classification + Metrics: + Top 1 Accuracy: 88.66 + Top 5 Accuracy: 98.75 + Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-pre_3rdparty_in1k-336px_20221214-07785cfd.pth + Config: configs/eva/eva-l-p14_8xb16_in1k-336px.py + Converted From: + Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_l_psz14_336px_1k_ft_88p65.pt + Code: https://github.com/baaivision/EVA + Downstream: + - beit-l-p14_eva-in21k-pre_3rdparty_in1k-336px + - beit-l-p14_eva-in21k-pre_3rdparty_in1k-196px + - Name: beit-l-p14_eva-in21k-pre_3rdparty_in1k-336px + Metadata: + FLOPs: 191100916736 + Parameters: 304531432 + Training Data: + - ImageNet-21k + - ImageNet-1k + In Collection: EVA + Results: + - Dataset: ImageNet-1k + Task: Image Classification + Metrics: + Top 1 Accuracy: 89.17 + Top 5 Accuracy: 98.86 + Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-in21k-pre_3rdparty_in1k-336px_20221213-f25b7634.pth + Config: configs/eva/eva-l-p14_8xb16_in1k-336px.py + Converted From: + Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_l_psz14_336px_21k_to_1k_ft_89p2.pt + Code: https://github.com/baaivision/EVA + - Name: beit-g-p16_3rdparty-eva_30m Metadata: FLOPs: 203517463424 Parameters: 1011315072 Training Data: - merged-30M + In Collection: EVA Results: null Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p16_3rdparty_30m_20221213-7bed23ee.pth + Config: configs/eva/eva-g-p16_headless.py Converted From: Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_psz14to16.pt Code: https://github.com/baaivision/EVA - Config: configs/eva/eva-g-p16_headless.py - - - Name: beit-g-p14_eva-30m-pre_3rdparty_in21k + - Name: beit-g-p14_3rdparty-eva_30m + Metadata: + FLOPs: 267174833024 + Parameters: 1011596672 + Training Data: + - merged-30M In Collection: EVA + Results: null + Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_3rdparty_30m_20221213-3b7aca97.pth + Config: configs/eva/eva-g-p14_headless.py + Converted From: + Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_psz14.pt + Code: https://github.com/baaivision/EVA + Downstream: + - beit-g-p14_eva-30m-pre_3rdparty_in21k + - Name: beit-g-p14_eva-30m-pre_3rdparty_in21k Metadata: FLOPs: 267174833024 Parameters: 1011596672 Training Data: - merged-30M - ImageNet-21k + In Collection: EVA Results: null Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_30m-pre_3rdparty_in21k_20221213-d72285b7.pth + Config: configs/eva/eva-g-p14_headless.py Converted From: Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_21k_224px_psz14.pt Code: https://github.com/baaivision/EVA - Config: configs/eva/eva-g-p14_headless.py Downstream: - beit-g-p14_eva-30m-in21k-pre_3rdparty_in1k-336px - beit-g-p14_eva-30m-in21k-pre_3rdparty_in1k-560px - - Name: beit-g-p14_eva-30m-in21k-pre_3rdparty_in1k-336px - In Collection: EVA Metadata: FLOPs: 620642757504 Parameters: 1013005672 @@ -77,20 +227,19 @@ Models: - merged-30M - ImageNet-21k - ImageNet-1k + In Collection: EVA Results: - - Dataset: ImageNet-1k - Task: Image Classification - Metrics: - Top 1 Accuracy: 89.61 - Top 5 Accuracy: 98.93 + - Dataset: ImageNet-1k + Task: Image Classification + Metrics: + Top 1 Accuracy: 89.61 + Top 5 Accuracy: 98.93 Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_30m-in21k-pre_3rdparty_in1k-336px_20221213-210f9071.pth + Config: configs/eva/eva-g-p14_8xb16_in1k-336px.py Converted From: Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_21k_1k_336px_psz14_ema_89p6.pt Code: https://github.com/baaivision/EVA - Config: configs/eva/eva-g-p14_8xb16_in1k-336px.py - - Name: beit-g-p14_eva-30m-in21k-pre_3rdparty_in1k-560px - In Collection: EVA Metadata: FLOPs: 1906761591680 Parameters: 1014447464 @@ -98,165 +247,15 @@ Models: - merged-30M - ImageNet-21k - ImageNet-1k + In Collection: EVA Results: - - Dataset: ImageNet-1k - Task: Image Classification - Metrics: - Top 1 Accuracy: 89.71 - Top 5 Accuracy: 98.96 + - Dataset: ImageNet-1k + Task: Image Classification + Metrics: + Top 1 Accuracy: 89.71 + Top 5 Accuracy: 98.96 Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-g-p14_30m-in21k-pre_3rdparty_in1k-560px_20221213-fa1c3652.pth + Config: configs/eva/eva-g-p14_8xb16_in1k-560px.py Converted From: Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_21k_1k_560px_psz14_ema_89p7.pt Code: https://github.com/baaivision/EVA - Config: configs/eva/eva-g-p14_8xb16_in1k-560px.py - - - Name: beit-l-p14_3rdparty-eva_in21k - In Collection: EVA - Metadata: - FLOPs: 81075147776 - Parameters: 303178752 - Training Data: - - ImageNet-21k - Results: null - Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_3rdparty-mim_in21k_20221213-3a5da50b.pth - Converted From: - Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_l_psz14.pt - Code: https://github.com/baaivision/EVA - Config: configs/eva/eva-l-p14_headless.py - Downstream: - - beit-l-p14_eva-pre_3rdparty_in21k - - beit-l-p14_eva-pre_3rdparty_in1k-336px - - beit-l-p14_eva-pre_3rdparty_in1k-196px - - - Name: beit-l-p14_eva-pre_3rdparty_in21k - In Collection: EVA - Metadata: - FLOPs: 81075147776 - Parameters: 303178752 - Training Data: - - ImageNet-21k - Results: null - Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-pre_3rdparty_in21k_20221213-8f194fa2.pth - Converted From: - Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_l_psz14_21k_ft.pt - Code: https://github.com/baaivision/EVA - Config: configs/eva/eva-l-p14_headless.py - - - Name: beit-l-p14_eva-pre_3rdparty_in1k-336px - In Collection: EVA - Metadata: - FLOPs: 191100916736 - Parameters: 304531432 - Training Data: - - ImageNet-21k - - ImageNet-1k - Results: - - Dataset: ImageNet-1k - Task: Image Classification - Metrics: - Top 1 Accuracy: 88.66 - Top 5 Accuracy: 98.75 - Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-pre_3rdparty_in1k-336px_20221214-07785cfd.pth - Converted From: - Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_l_psz14_336px_1k_ft_88p65.pt - Code: https://github.com/baaivision/EVA - Config: configs/eva/eva-l-p14_8xb16_in1k-336px.py - Downstream: - - beit-l-p14_eva-in21k-pre_3rdparty_in1k-336px - - beit-l-p14_eva-in21k-pre_3rdparty_in1k-196px - - - Name: beit-l-p14_eva-in21k-pre_3rdparty_in1k-336px - In Collection: EVA - Metadata: - FLOPs: 191100916736 - Parameters: 304531432 - Training Data: - - ImageNet-21k - - ImageNet-1k - Results: - - Dataset: ImageNet-1k - Task: Image Classification - Metrics: - Top 1 Accuracy: 89.17 - Top 5 Accuracy: 98.86 - Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-in21k-pre_3rdparty_in1k-336px_20221213-f25b7634.pth - Converted From: - Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_l_psz14_336px_21k_to_1k_ft_89p2.pt - Code: https://github.com/baaivision/EVA - Config: configs/eva/eva-l-p14_8xb16_in1k-336px.py - - - Name: beit-l-p14_eva-pre_3rdparty_in1k-196px - In Collection: EVA - Metadata: - FLOPs: 61565981696 - Parameters: 304142312 - Training Data: - - ImageNet-21k - - ImageNet-1k - Results: - - Dataset: ImageNet-1k - Task: Image Classification - Metrics: - Top 1 Accuracy: 87.94 - Top 5 Accuracy: 98.50 - Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-pre_3rdparty_in1k-196px_20221214-2adf4d28.pth - Converted From: - Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_l_psz14_196px_1k_ft_88p0.pt - Code: https://github.com/baaivision/EVA - Config: configs/eva/eva-l-p14_8xb16_in1k-196px.py - - - Name: beit-l-p14_eva-in21k-pre_3rdparty_in1k-196px - In Collection: EVA - Metadata: - FLOPs: 61565981696 - Parameters: 304142312 - Training Data: - - ImageNet-21k - - ImageNet-1k - Results: - - Dataset: ImageNet-1k - Task: Image Classification - Metrics: - Top 1 Accuracy: 88.58 - Top 5 Accuracy: 98.65 - Weights: https://download.openmmlab.com/mmclassification/v0/eva/eva-l-p14_mim-in21k-pre_3rdparty_in1k-196px_20221213-b730c7e7.pth - Converted From: - Weights: https://huggingface.co/BAAI/EVA/blob/main/eva_l_psz14_196px_21k_to_1k_ft_88p6.pt - Code: https://github.com/baaivision/EVA - Config: configs/eva/eva-l-p14_8xb16_in1k-196px.py - - - Name: eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k - In Collection: EVA - Metadata: - Epochs: 400 - Batch Size: 4096 - Results: null - Config: configs/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k_20221226-26d90f07.pth - Downstream: - - vit-base-p16_eva-mae-style-pre_8xb128-coslr-100e_in1k - - vit-base-p16_eva-mae-style-pre_8xb2048-linear-coslr-100e_in1k - - Name: vit-base-p16_eva-mae-style-pre_8xb128-coslr-100e_in1k - In Collection: EVA - Metadata: - Epochs: 100 - Batch Size: 1024 - Results: - - Task: Image Classification - Dataset: ImageNet-1k - Metrics: - Top 1 Accuracy: 83.7 - Config: configs/eva/benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20221226-f61cf992.pth - - Name: vit-base-p16_eva-mae-style-pre_8xb2048-linear-coslr-100e_in1k - In Collection: EVA - Metadata: - Epochs: 100 - Batch Size: 16384 - Results: - - Task: Image Classification - Dataset: ImageNet-1k - Metrics: - Top 1 Accuracy: 69.0 - Config: configs/eva/benchmarks/vit-base-p16_8xb2048-linear-coslr-100e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/eva/eva-mae-style_vit-base-p16_16xb256-coslr-400e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k_20221226-ef51bf09.pth diff --git a/configs/mae/README.md b/configs/mae/README.md index 4f0f7589..66001264 100644 --- a/configs/mae/README.md +++ b/configs/mae/README.md @@ -36,7 +36,7 @@ methods that use only ImageNet-1K data. Transfer performance in downstream tasks ```python from mmpretrain import inference_model -predict = inference_model('vit-base-p16_mae-300e-pre_8xb2048-linear-coslr-90e_in1k', 'demo/bird.JPEG') +predict = inference_model('vit-base-p16_mae-300e-pre_8xb128-coslr-100e_in1k', 'demo/bird.JPEG') print(predict['pred_class']) print(predict['pred_score']) ``` @@ -69,7 +69,7 @@ python tools/train.py configs/mae/mae_vit-base-p16_8xb512-amp-coslr-300e_in1k.py Test: ```shell -python tools/test.py configs/mae/benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py None +python tools/test.py configs/mae/benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py None ``` @@ -80,35 +80,35 @@ python tools/test.py configs/mae/benchmarks/vit-base-p16_8xb2048-linear-coslr-90 | Model | Params (M) | Flops (G) | Config | Download | | :---------------------------------------------- | :--------: | :-------: | :--------------------------------------------------------: | :--------------------------------------------------------------------------: | -| `mae_vit-base-p16_8xb512-amp-coslr-300e_in1k` | N/A | N/A | [config](mae_vit-base-p16_8xb512-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-300e_in1k/mae_vit-base-p16_8xb512-coslr-300e-fp16_in1k_20220829-c2cf66ba.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-300e_in1k/mae_vit-base-p16_8xb512-coslr-300e-fp16_in1k_20220829-c2cf66ba.json) | -| `mae_vit-base-p16_8xb512-amp-coslr-400e_in1k` | N/A | N/A | [config](mae_vit-base-p16_8xb512-amp-coslr-400e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-base-p16_8xb512-coslr-400e-fp16_in1k_20220825-bc79e40b.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-base-p16_8xb512-coslr-400e-fp16_in1k_20220825-bc79e40b.json) | -| `mae_vit-base-p16_8xb512-amp-coslr-800e_in1k` | N/A | N/A | [config](mae_vit-base-p16_8xb512-amp-coslr-800e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-base-p16_8xb512-coslr-800e-fp16_in1k_20220825-5d81fbc4.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-base-p16_8xb512-coslr-800e-fp16_in1k_20220825-5d81fbc4.json) | -| `mae_vit-base-p16_8xb512-amp-coslr-1600e_in1k` | N/A | N/A | [config](mae_vit-base-p16_8xb512-amp-coslr-1600e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k_20220825-f7569ca2.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k_20220825-f7569ca2.json) | -| `mae_vit-large-p16_8xb512-amp-coslr-400e_in1k` | N/A | N/A | [config](mae_vit-large-p16_8xb512-amp-coslr-400e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k_20220825-b11d0425.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k_20220825-b11d0425.json) | -| `mae_vit-large-p16_8xb512-amp-coslr-800e_in1k` | N/A | N/A | [config](mae_vit-large-p16_8xb512-amp-coslr-800e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k_20220825-df72726a.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k_20220825-df72726a.json) | -| `mae_vit-large-p16_8xb512-amp-coslr-1600e_in1k` | N/A | N/A | [config](mae_vit-large-p16_8xb512-amp-coslr-1600e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k_20220825-cc7e98c9.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k_20220825-cc7e98c9.json) | -| `mae_vit-huge-p16_8xb512-amp-coslr-1600e_in1k` | N/A | N/A | [config](mae_vit-huge-p14_8xb512-amp-coslr-1600e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k_20220916-ff848775.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k_20220916-ff848775.json) | +| `mae_vit-base-p16_8xb512-amp-coslr-300e_in1k` | 111.91 | 17.58 | [config](mae_vit-base-p16_8xb512-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-300e_in1k/mae_vit-base-p16_8xb512-coslr-300e-fp16_in1k_20220829-c2cf66ba.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-300e_in1k/mae_vit-base-p16_8xb512-coslr-300e-fp16_in1k_20220829-c2cf66ba.json) | +| `mae_vit-base-p16_8xb512-amp-coslr-400e_in1k` | 111.91 | 17.58 | [config](mae_vit-base-p16_8xb512-amp-coslr-400e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-base-p16_8xb512-coslr-400e-fp16_in1k_20220825-bc79e40b.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-base-p16_8xb512-coslr-400e-fp16_in1k_20220825-bc79e40b.json) | +| `mae_vit-base-p16_8xb512-amp-coslr-800e_in1k` | 111.91 | 17.58 | [config](mae_vit-base-p16_8xb512-amp-coslr-800e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-base-p16_8xb512-coslr-800e-fp16_in1k_20220825-5d81fbc4.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-base-p16_8xb512-coslr-800e-fp16_in1k_20220825-5d81fbc4.json) | +| `mae_vit-base-p16_8xb512-amp-coslr-1600e_in1k` | 111.91 | 17.58 | [config](mae_vit-base-p16_8xb512-amp-coslr-1600e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k_20220825-f7569ca2.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k_20220825-f7569ca2.json) | +| `mae_vit-large-p16_8xb512-amp-coslr-400e_in1k` | 329.54 | 61.60 | [config](mae_vit-large-p16_8xb512-amp-coslr-400e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k_20220825-b11d0425.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k_20220825-b11d0425.json) | +| `mae_vit-large-p16_8xb512-amp-coslr-800e_in1k` | 329.54 | 61.60 | [config](mae_vit-large-p16_8xb512-amp-coslr-800e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k_20220825-df72726a.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k_20220825-df72726a.json) | +| `mae_vit-large-p16_8xb512-amp-coslr-1600e_in1k` | 329.54 | 61.60 | [config](mae_vit-large-p16_8xb512-amp-coslr-1600e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k_20220825-cc7e98c9.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k_20220825-cc7e98c9.json) | +| `mae_vit-huge-p16_8xb512-amp-coslr-1600e_in1k` | 657.07 | 167.40 | [config](mae_vit-huge-p14_8xb512-amp-coslr-1600e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k_20220916-ff848775.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k_20220916-ff848775.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Config | Download | | :---------------------------------------- | :------------------------------------------: | :--------: | :-------: | :-------: | :----------------------------------------: | :-------------------------------------------: | -| `vit-base-p16_mae-300e-pre_8xb2048-linear-coslr-90e_in1k` | [MAE 300-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-300e_in1k/mae_vit-base-p16_8xb512-coslr-300e-fp16_in1k_20220829-c2cf66ba.pth) | N/A | N/A | 60.80 | [config](benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py) | N/A | -| `vit-base-p16_mae-300e-pre_8xb128-coslr-100e_in1k` | [MAE 300-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-300e_in1k/mae_vit-base-p16_8xb512-coslr-300e-fp16_in1k_20220829-c2cf66ba.pth) | N/A | N/A | 83.10 | [config](benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py) | N/A | -| `vit-base-p16_mae-400e-pre_8xb2048-linear-coslr-90e_in1k` | [MAE 400-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-base-p16_8xb512-coslr-400e-fp16_in1k_20220825-bc79e40b.pth) | N/A | N/A | 62.50 | [config](benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py) | N/A | -| `vit-base-p16_mae-400e-pre_8xb128-coslr-100e_in1k` | [MAE 400-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-base-p16_8xb512-coslr-400e-fp16_in1k_20220825-bc79e40b.pth) | N/A | N/A | 83.30 | [config](benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py) | N/A | -| `vit-base-p16_mae-800e-pre_8xb2048-linear-coslr-90e_in1k` | [MAE 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-base-p16_8xb512-coslr-800e-fp16_in1k_20220825-5d81fbc4.pth) | N/A | N/A | 65.10 | [config](benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py) | N/A | -| `vit-base-p16_mae-800e-pre_8xb128-coslr-100e_in1k` | [MAE 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-base-p16_8xb512-coslr-800e-fp16_in1k_20220825-5d81fbc4.pth) | N/A | N/A | 83.30 | [config](benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py) | N/A | -| `vit-base-p16_mae-1600e-pre_8xb2048-linear-coslr-90e_in1k` | [MAE 1600-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k_20220825-f7569ca2.pth) | N/A | N/A | 67.10 | [config](benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py) | N/A | -| `vit-base-p16_mae-1600e-pre_8xb128-coslr-100e_in1k` | [MAE 1600-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k_20220825-f7569ca2.pth) | N/A | N/A | 83.50 | [config](benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20220825-cf70aa21.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20220825-cf70aa21.json) | -| `vit-large-p16_mae-400e-pre_8xb2048-linear-coslr-90e_in1k` | [MAE 400-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k_20220825-b11d0425.pth) | N/A | N/A | 70.70 | [config](benchmarks/vit-large-p16_8xb2048-linear-coslr-90e_in1k.py) | N/A | -| `vit-large-p16_mae-400e-pre_8xb128-coslr-50e_in1k` | [MAE 400-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k_20220825-b11d0425.pth) | N/A | N/A | 85.20 | [config](benchmarks/vit-large-p16_8xb128-coslr-50e_in1k.py) | N/A | -| `vit-large-p16_mae-800e-pre_8xb2048-linear-coslr-90e_in1k` | [MAE 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k_20220825-df72726a.pth) | N/A | N/A | 73.70 | [config](benchmarks/vit-large-p16_8xb2048-linear-coslr-90e_in1k.py) | N/A | -| `vit-large-p16_mae-800e-pre_8xb128-coslr-50e_in1k` | [MAE 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k_20220825-df72726a.pth) | N/A | N/A | 85.40 | [config](benchmarks/vit-large-p16_8xb128-coslr-50e_in1k.py) | N/A | -| `vit-large-p16_mae-1600e-pre_8xb2048-linear-coslr-90e_in1k` | [MAE 1600-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k_20220825-cc7e98c9.pth) | N/A | N/A | 75.50 | [config](benchmarks/vit-large-p16_8xb2048-linear-coslr-90e_in1k.py) | N/A | -| `vit-large-p16_mae-1600e-pre_8xb128-coslr-50e_in1k` | [MAE 1600-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k_20220825-cc7e98c9.pth) | N/A | N/A | 85.70 | [config](benchmarks/vit-large-p16_8xb128-coslr-50e_in1k.py) | N/A | -| `vit-huge-p14_mae-1600e-pre_8xb128-coslr-50e_in1k` | [MAE 1600-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k_20220916-ff848775.pth) | N/A | N/A | 86.90 | [config](benchmarks/vit-huge-p14_8xb128-coslr-50e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/vit-huge-p16_ft-8xb128-coslr-50e_in1k/vit-huge-p16_ft-8xb128-coslr-50e_in1k_20220916-0bfc9bfd.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/vit-huge-p16_ft-8xb128-coslr-50e_in1k/vit-huge-p16_ft-8xb128-coslr-50e_in1k_20220916-0bfc9bfd.json) | -| `vit-huge-p14_mae-1600e-pre_32xb8-coslr-50e_in1k-448px` | [MAE 1600-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k_20220916-ff848775.pth) | N/A | N/A | 87.30 | [config](benchmarks/vit-huge-p14_32xb8-coslr-50e_in1k-448px.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/vit-huge-p16_ft-32xb8-coslr-50e_in1k-448/vit-huge-p16_ft-32xb8-coslr-50e_in1k-448_20220916-95b6a0ce.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/vit-huge-p16_ft-32xb8-coslr-50e_in1k-448/vit-huge-p16_ft-32xb8-coslr-50e_in1k-448_20220916-95b6a0ce.json) | +| `vit-base-p16_mae-300e-pre_8xb128-coslr-100e_in1k` | [MAE 300-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-300e_in1k/mae_vit-base-p16_8xb512-coslr-300e-fp16_in1k_20220829-c2cf66ba.pth) | 86.57 | 17.58 | 83.10 | [config](benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py) | N/A | +| `vit-base-p16_mae-400e-pre_8xb128-coslr-100e_in1k` | [MAE 400-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-base-p16_8xb512-coslr-400e-fp16_in1k_20220825-bc79e40b.pth) | 86.57 | 17.58 | 83.30 | [config](benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py) | N/A | +| `vit-base-p16_mae-800e-pre_8xb128-coslr-100e_in1k` | [MAE 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-base-p16_8xb512-coslr-800e-fp16_in1k_20220825-5d81fbc4.pth) | 86.57 | 17.58 | 83.30 | [config](benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py) | N/A | +| `vit-base-p16_mae-1600e-pre_8xb128-coslr-100e_in1k` | [MAE 1600-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k_20220825-f7569ca2.pth) | 86.57 | 17.58 | 83.50 | [config](benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20220825-cf70aa21.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20220825-cf70aa21.json) | +| `vit-base-p16_mae-300e-pre_8xb2048-linear-coslr-90e_in1k` | [MAE 300-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-300e_in1k/mae_vit-base-p16_8xb512-coslr-300e-fp16_in1k_20220829-c2cf66ba.pth) | 86.57 | 17.58 | 60.80 | [config](benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py) | N/A | +| `vit-base-p16_mae-400e-pre_8xb2048-linear-coslr-90e_in1k` | [MAE 400-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-base-p16_8xb512-coslr-400e-fp16_in1k_20220825-bc79e40b.pth) | 86.57 | 17.58 | 62.50 | [config](benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py) | N/A | +| `vit-base-p16_mae-800e-pre_8xb2048-linear-coslr-90e_in1k` | [MAE 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-base-p16_8xb512-coslr-800e-fp16_in1k_20220825-5d81fbc4.pth) | 86.57 | 17.58 | 65.10 | [config](benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py) | N/A | +| `vit-base-p16_mae-1600e-pre_8xb2048-linear-coslr-90e_in1k` | [MAE 1600-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k_20220825-f7569ca2.pth) | 86.57 | 17.58 | 67.10 | [config](benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py) | N/A | +| `vit-large-p16_mae-400e-pre_8xb128-coslr-50e_in1k` | [MAE 400-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k_20220825-b11d0425.pth) | 304.32 | 61.60 | 85.20 | [config](benchmarks/vit-large-p16_8xb128-coslr-50e_in1k.py) | N/A | +| `vit-large-p16_mae-800e-pre_8xb128-coslr-50e_in1k` | [MAE 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k_20220825-df72726a.pth) | 304.32 | 61.60 | 85.40 | [config](benchmarks/vit-large-p16_8xb128-coslr-50e_in1k.py) | N/A | +| `vit-large-p16_mae-1600e-pre_8xb128-coslr-50e_in1k` | [MAE 1600-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k_20220825-cc7e98c9.pth) | 304.32 | 61.60 | 85.70 | [config](benchmarks/vit-large-p16_8xb128-coslr-50e_in1k.py) | N/A | +| `vit-large-p16_mae-400e-pre_8xb2048-linear-coslr-90e_in1k` | [MAE 400-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k_20220825-b11d0425.pth) | 304.33 | 61.60 | 70.70 | [config](benchmarks/vit-large-p16_8xb2048-linear-coslr-90e_in1k.py) | N/A | +| `vit-large-p16_mae-800e-pre_8xb2048-linear-coslr-90e_in1k` | [MAE 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k_20220825-df72726a.pth) | 304.33 | 61.60 | 73.70 | [config](benchmarks/vit-large-p16_8xb2048-linear-coslr-90e_in1k.py) | N/A | +| `vit-large-p16_mae-1600e-pre_8xb2048-linear-coslr-90e_in1k` | [MAE 1600-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k_20220825-cc7e98c9.pth) | 304.33 | 61.60 | 75.50 | [config](benchmarks/vit-large-p16_8xb2048-linear-coslr-90e_in1k.py) | N/A | +| `vit-huge-p14_mae-1600e-pre_8xb128-coslr-50e_in1k` | [MAE 1600-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k_20220916-ff848775.pth) | 632.04 | 167.40 | 86.90 | [config](benchmarks/vit-huge-p14_8xb128-coslr-50e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/vit-huge-p16_ft-8xb128-coslr-50e_in1k/vit-huge-p16_ft-8xb128-coslr-50e_in1k_20220916-0bfc9bfd.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/vit-huge-p16_ft-8xb128-coslr-50e_in1k/vit-huge-p16_ft-8xb128-coslr-50e_in1k_20220916-0bfc9bfd.json) | +| `vit-huge-p14_mae-1600e-pre_32xb8-coslr-50e_in1k-448px` | [MAE 1600-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k_20220916-ff848775.pth) | 633.03 | 732.13 | 87.30 | [config](benchmarks/vit-huge-p14_32xb8-coslr-50e_in1k-448px.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/vit-huge-p16_ft-32xb8-coslr-50e_in1k-448/vit-huge-p16_ft-32xb8-coslr-50e_in1k-448_20220916-95b6a0ce.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/vit-huge-p16_ft-32xb8-coslr-50e_in1k-448/vit-huge-p16_ft-32xb8-coslr-50e_in1k-448_20220916-95b6a0ce.json) | ## Citation diff --git a/configs/mae/metafile.yml b/configs/mae/metafile.yml index c9ea9ccc..81926723 100644 --- a/configs/mae/metafile.yml +++ b/configs/mae/metafile.yml @@ -8,282 +8,360 @@ Collections: Architecture: - ViT Paper: - URL: https://arxiv.org/abs/2111.06377 - Title: "Masked Autoencoders Are Scalable Vision Learners" + Title: Masked Autoencoders Are Scalable Vision Learners + URL: https://arxiv.org/abs/2111.06377 README: configs/mae/README.md Models: - Name: mae_vit-base-p16_8xb512-amp-coslr-300e_in1k - In Collection: MAE Metadata: Epochs: 300 Batch Size: 4096 + FLOPs: 17581972224 + Parameters: 111907840 + Training Data: ImageNet-1k + In Collection: MAE Results: null - Config: configs/mae/mae_vit-base-p16_8xb512-amp-coslr-300e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-300e_in1k/mae_vit-base-p16_8xb512-coslr-300e-fp16_in1k_20220829-c2cf66ba.pth + Config: configs/mae/mae_vit-base-p16_8xb512-amp-coslr-300e_in1k.py Downstream: - vit-base-p16_mae-300e-pre_8xb2048-linear-coslr-90e_in1k - vit-base-p16_mae-300e-pre_8xb128-coslr-100e_in1k - - Name: vit-base-p16_mae-300e-pre_8xb2048-linear-coslr-90e_in1k - In Collection: MAE + - Name: mae_vit-base-p16_8xb512-amp-coslr-400e_in1k Metadata: - Epochs: 90 - Batch Size: 16384 - Results: - - Task: Image Classification - Dataset: ImageNet-1k - Metrics: - Top 1 Accuracy: 60.8 - Config: configs/mae/benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py - - Name: vit-base-p16_mae-300e-pre_8xb128-coslr-100e_in1k + Epochs: 400 + Batch Size: 4096 + FLOPs: 17581972224 + Parameters: 111907840 + Training Data: ImageNet-1k In Collection: MAE + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-base-p16_8xb512-coslr-400e-fp16_in1k_20220825-bc79e40b.pth + Config: configs/mae/mae_vit-base-p16_8xb512-amp-coslr-400e_in1k.py + Downstream: + - vit-base-p16_mae-400e-pre_8xb2048-linear-coslr-90e_in1k + - vit-base-p16_mae-400e-pre_8xb128-coslr-100e_in1k + - Name: mae_vit-base-p16_8xb512-amp-coslr-800e_in1k + Metadata: + Epochs: 800 + Batch Size: 4096 + FLOPs: 17581972224 + Parameters: 111907840 + Training Data: ImageNet-1k + In Collection: MAE + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-base-p16_8xb512-coslr-800e-fp16_in1k_20220825-5d81fbc4.pth + Config: configs/mae/mae_vit-base-p16_8xb512-amp-coslr-800e_in1k.py + Downstream: + - vit-base-p16_mae-800e-pre_8xb2048-linear-coslr-90e_in1k + - vit-base-p16_mae-800e-pre_8xb128-coslr-100e_in1k + - Name: mae_vit-base-p16_8xb512-amp-coslr-1600e_in1k + Metadata: + Epochs: 1600 + Batch Size: 4096 + FLOPs: 17581972224 + Parameters: 111907840 + Training Data: ImageNet-1k + In Collection: MAE + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k_20220825-f7569ca2.pth + Config: configs/mae/mae_vit-base-p16_8xb512-amp-coslr-1600e_in1k.py + Downstream: + - vit-base-p16_mae-1600e-pre_8xb2048-linear-coslr-90e_in1k + - vit-base-p16_mae-1600e-pre_8xb128-coslr-100e_in1k + - Name: mae_vit-large-p16_8xb512-amp-coslr-400e_in1k + Metadata: + Epochs: 400 + Batch Size: 4096 + FLOPs: 61603111936 + Parameters: 329541888 + Training Data: ImageNet-1k + In Collection: MAE + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k_20220825-b11d0425.pth + Config: configs/mae/mae_vit-large-p16_8xb512-amp-coslr-400e_in1k.py + Downstream: + - vit-large-p16_mae-400e-pre_8xb2048-linear-coslr-90e_in1k + - vit-large-p16_mae-400e-pre_8xb128-coslr-50e_in1k + - Name: mae_vit-large-p16_8xb512-amp-coslr-800e_in1k + Metadata: + Epochs: 800 + Batch Size: 4096 + FLOPs: 61603111936 + Parameters: 329541888 + Training Data: ImageNet-1k + In Collection: MAE + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k_20220825-df72726a.pth + Config: configs/mae/mae_vit-large-p16_8xb512-amp-coslr-800e_in1k.py + Downstream: + - vit-large-p16_mae-800e-pre_8xb2048-linear-coslr-90e_in1k + - vit-large-p16_mae-800e-pre_8xb128-coslr-50e_in1k + - Name: mae_vit-large-p16_8xb512-amp-coslr-1600e_in1k + Metadata: + Epochs: 1600 + Batch Size: 4096 + FLOPs: 61603111936 + Parameters: 329541888 + Training Data: ImageNet-1k + In Collection: MAE + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k_20220825-cc7e98c9.pth + Config: configs/mae/mae_vit-large-p16_8xb512-amp-coslr-1600e_in1k.py + Downstream: + - vit-large-p16_mae-1600e-pre_8xb2048-linear-coslr-90e_in1k + - vit-large-p16_mae-1600e-pre_8xb128-coslr-50e_in1k + - Name: mae_vit-huge-p16_8xb512-amp-coslr-1600e_in1k + Metadata: + Epochs: 1600 + Batch Size: 4096 + FLOPs: 167400741120 + Parameters: 657074508 + Training Data: ImageNet-1k + In Collection: MAE + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k_20220916-ff848775.pth + Config: configs/mae/mae_vit-huge-p14_8xb512-amp-coslr-1600e_in1k.py + Downstream: + - vit-huge-p14_mae-1600e-pre_8xb128-coslr-50e_in1k + - vit-huge-p14_mae-1600e-pre_32xb8-coslr-50e_in1k-448px + - Name: vit-base-p16_mae-300e-pre_8xb128-coslr-100e_in1k Metadata: Epochs: 100 Batch Size: 1024 + FLOPs: 17581215744 + Parameters: 86566120 + Training Data: ImageNet-1k + In Collection: MAE Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 83.1 + Weights: null Config: configs/mae/benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py - - - Name: mae_vit-base-p16_8xb512-amp-coslr-400e_in1k - In Collection: MAE - Metadata: - Epochs: 400 - Batch Size: 4096 - Results: null - Config: configs/mae/mae_vit-base-p16_8xb512-amp-coslr-400e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-base-p16_8xb512-coslr-400e-fp16_in1k_20220825-bc79e40b.pth - Downstream: - - vit-base-p16_mae-400e-pre_8xb2048-linear-coslr-90e_in1k - - vit-base-p16_mae-400e-pre_8xb128-coslr-100e_in1k - - Name: vit-base-p16_mae-400e-pre_8xb2048-linear-coslr-90e_in1k - In Collection: MAE - Metadata: - Epochs: 90 - Batch Size: 16384 - Results: - - Task: Image Classification - Dataset: ImageNet-1k - Metrics: - Top 1 Accuracy: 62.5 - Config: configs/mae/benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py - Name: vit-base-p16_mae-400e-pre_8xb128-coslr-100e_in1k - In Collection: MAE Metadata: Epochs: 100 Batch Size: 1024 + FLOPs: 17581215744 + Parameters: 86566120 + Training Data: ImageNet-1k + In Collection: MAE Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 83.3 + Weights: null Config: configs/mae/benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py - - - Name: mae_vit-base-p16_8xb512-amp-coslr-800e_in1k - In Collection: MAE - Metadata: - Epochs: 800 - Batch Size: 4096 - Results: null - Config: configs/mae/mae_vit-base-p16_8xb512-amp-coslr-800e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-base-p16_8xb512-coslr-800e-fp16_in1k_20220825-5d81fbc4.pth - Downstream: - - vit-base-p16_mae-800e-pre_8xb2048-linear-coslr-90e_in1k - - vit-base-p16_mae-800e-pre_8xb128-coslr-100e_in1k - - Name: vit-base-p16_mae-800e-pre_8xb2048-linear-coslr-90e_in1k - In Collection: MAE - Metadata: - Epochs: 90 - Batch Size: 16384 - Results: - - Task: Image Classification - Dataset: ImageNet-1k - Metrics: - Top 1 Accuracy: 65.1 - Config: configs/mae/benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py - Name: vit-base-p16_mae-800e-pre_8xb128-coslr-100e_in1k - In Collection: MAE Metadata: Epochs: 100 Batch Size: 1024 + FLOPs: 17581215744 + Parameters: 86566120 + Training Data: ImageNet-1k + In Collection: MAE Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 83.3 + Weights: null Config: configs/mae/benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py - - - Name: mae_vit-base-p16_8xb512-amp-coslr-1600e_in1k - In Collection: MAE - Metadata: - Epochs: 1600 - Batch Size: 4096 - Results: null - Config: configs/mae/mae_vit-base-p16_8xb512-amp-coslr-1600e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k_20220825-f7569ca2.pth - Downstream: - - vit-base-p16_mae-1600e-pre_8xb2048-linear-coslr-90e_in1k - - vit-base-p16_mae-1600e-pre_8xb128-coslr-100e_in1k - - Name: vit-base-p16_mae-1600e-pre_8xb2048-linear-coslr-90e_in1k - In Collection: MAE - Metadata: - Epochs: 90 - Batch Size: 16384 - Results: - - Task: Image Classification - Dataset: ImageNet-1k - Metrics: - Top 1 Accuracy: 67.1 - Config: configs/mae/benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py - Name: vit-base-p16_mae-1600e-pre_8xb128-coslr-100e_in1k - In Collection: MAE Metadata: Epochs: 100 Batch Size: 1024 + FLOPs: 17581215744 + Parameters: 86566120 + Training Data: ImageNet-1k + In Collection: MAE Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 83.5 - Config: configs/mae/benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-1600e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k_20220825-cf70aa21.pth - - - Name: mae_vit-large-p16_8xb512-amp-coslr-400e_in1k - In Collection: MAE - Metadata: - Epochs: 400 - Batch Size: 4096 - Results: null - Config: configs/mae/mae_vit-large-p16_8xb512-amp-coslr-400e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-400e_in1k_20220825-b11d0425.pth - Downstream: - - vit-large-p16_mae-400e-pre_8xb2048-linear-coslr-90e_in1k - - vit-large-p16_mae-400e-pre_8xb128-coslr-50e_in1k - - Name: vit-large-p16_mae-400e-pre_8xb2048-linear-coslr-90e_in1k - In Collection: MAE + Config: configs/mae/benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py + - Name: vit-base-p16_mae-300e-pre_8xb2048-linear-coslr-90e_in1k Metadata: Epochs: 90 Batch Size: 16384 + FLOPs: 17581972992 + Parameters: 86567656 + Training Data: ImageNet-1k + In Collection: MAE Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: - Top 1 Accuracy: 70.7 - Config: configs/mae/benchmarks/vit-large-p16_8xb2048-linear-coslr-90e_in1k.py - - Name: vit-large-p16_mae-400e-pre_8xb128-coslr-50e_in1k + Top 1 Accuracy: 60.8 + Weights: null + Config: configs/mae/benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py + - Name: vit-base-p16_mae-400e-pre_8xb2048-linear-coslr-90e_in1k + Metadata: + Epochs: 90 + Batch Size: 16384 + FLOPs: 17581972992 + Parameters: 86567656 + Training Data: ImageNet-1k In Collection: MAE + Results: + - Task: Image Classification + Dataset: ImageNet-1k + Metrics: + Top 1 Accuracy: 62.5 + Weights: null + Config: configs/mae/benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py + - Name: vit-base-p16_mae-800e-pre_8xb2048-linear-coslr-90e_in1k + Metadata: + Epochs: 90 + Batch Size: 16384 + FLOPs: 17581972992 + Parameters: 86567656 + Training Data: ImageNet-1k + In Collection: MAE + Results: + - Task: Image Classification + Dataset: ImageNet-1k + Metrics: + Top 1 Accuracy: 65.1 + Weights: null + Config: configs/mae/benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py + - Name: vit-base-p16_mae-1600e-pre_8xb2048-linear-coslr-90e_in1k + Metadata: + Epochs: 90 + Batch Size: 16384 + FLOPs: 17581972992 + Parameters: 86567656 + Training Data: ImageNet-1k + In Collection: MAE + Results: + - Task: Image Classification + Dataset: ImageNet-1k + Metrics: + Top 1 Accuracy: 67.1 + Weights: null + Config: configs/mae/benchmarks/vit-base-p16_8xb2048-linear-coslr-90e_in1k.py + - Name: vit-large-p16_mae-400e-pre_8xb128-coslr-50e_in1k Metadata: Epochs: 50 Batch Size: 1024 + FLOPs: 61602103296 + Parameters: 304324584 + Training Data: ImageNet-1k + In Collection: MAE Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 85.2 + Weights: null Config: configs/mae/benchmarks/vit-large-p16_8xb128-coslr-50e_in1k.py - - - Name: mae_vit-large-p16_8xb512-amp-coslr-800e_in1k - In Collection: MAE - Metadata: - Epochs: 800 - Batch Size: 4096 - Results: null - Config: configs/mae/mae_vit-large-p16_8xb512-amp-coslr-800e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-800e_in1k_20220825-df72726a.pth - Downstream: - - vit-large-p16_mae-800e-pre_8xb2048-linear-coslr-90e_in1k - - vit-large-p16_mae-800e-pre_8xb128-coslr-50e_in1k - - Name: vit-large-p16_mae-800e-pre_8xb2048-linear-coslr-90e_in1k - In Collection: MAE - Metadata: - Epochs: 90 - Batch Size: 16384 - Results: - - Task: Image Classification - Dataset: ImageNet-1k - Metrics: - Top 1 Accuracy: 73.7 - Config: configs/mae/benchmarks/vit-large-p16_8xb2048-linear-coslr-90e_in1k.py - Name: vit-large-p16_mae-800e-pre_8xb128-coslr-50e_in1k - In Collection: MAE Metadata: Epochs: 50 Batch Size: 1024 + FLOPs: 61602103296 + Parameters: 304324584 + Training Data: ImageNet-1k + In Collection: MAE Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 85.4 + Weights: null Config: configs/mae/benchmarks/vit-large-p16_8xb128-coslr-50e_in1k.py - - - Name: mae_vit-large-p16_8xb512-amp-coslr-1600e_in1k - In Collection: MAE - Metadata: - Epochs: 1600 - Batch Size: 4096 - Results: null - Config: configs/mae/mae_vit-large-p16_8xb512-amp-coslr-1600e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-large-p16_8xb512-fp16-coslr-1600e_in1k_20220825-cc7e98c9.pth - Downstream: - - vit-large-p16_mae-1600e-pre_8xb2048-linear-coslr-90e_in1k - - vit-large-p16_mae-1600e-pre_8xb128-coslr-50e_in1k - - Name: vit-large-p16_mae-1600e-pre_8xb2048-linear-coslr-90e_in1k - In Collection: MAE - Metadata: - Epochs: 90 - Batch Size: 16384 - Results: - - Task: Image Classification - Dataset: ImageNet-1k - Metrics: - Top 1 Accuracy: 75.5 - Config: configs/mae/benchmarks/vit-large-p16_8xb2048-linear-coslr-90e_in1k.py - Name: vit-large-p16_mae-1600e-pre_8xb128-coslr-50e_in1k - In Collection: MAE Metadata: Epochs: 50 Batch Size: 1024 + FLOPs: 61602103296 + Parameters: 304324584 + Training Data: ImageNet-1k + In Collection: MAE Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 85.7 + Weights: null Config: configs/mae/benchmarks/vit-large-p16_8xb128-coslr-50e_in1k.py - - - Name: mae_vit-huge-p16_8xb512-amp-coslr-1600e_in1k - In Collection: MAE + - Name: vit-large-p16_mae-400e-pre_8xb2048-linear-coslr-90e_in1k Metadata: - Epochs: 1600 - Batch Size: 4096 - Results: null - Config: configs/mae/mae_vit-huge-p14_8xb512-amp-coslr-1600e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k_20220916-ff848775.pth - Downstream: - - vit-huge-p14_mae-1600e-pre_8xb128-coslr-50e_in1k - - vit-huge-p14_mae-1600e-pre_32xb8-coslr-50e_in1k-448px - - Name: vit-huge-p14_mae-1600e-pre_8xb128-coslr-50e_in1k + Epochs: 90 + Batch Size: 16384 + FLOPs: 61603112960 + Parameters: 304326632 + Training Data: ImageNet-1k In Collection: MAE + Results: + - Task: Image Classification + Dataset: ImageNet-1k + Metrics: + Top 1 Accuracy: 70.7 + Weights: null + Config: configs/mae/benchmarks/vit-large-p16_8xb2048-linear-coslr-90e_in1k.py + - Name: vit-large-p16_mae-800e-pre_8xb2048-linear-coslr-90e_in1k + Metadata: + Epochs: 90 + Batch Size: 16384 + FLOPs: 61603112960 + Parameters: 304326632 + Training Data: ImageNet-1k + In Collection: MAE + Results: + - Task: Image Classification + Dataset: ImageNet-1k + Metrics: + Top 1 Accuracy: 73.7 + Weights: null + Config: configs/mae/benchmarks/vit-large-p16_8xb2048-linear-coslr-90e_in1k.py + - Name: vit-large-p16_mae-1600e-pre_8xb2048-linear-coslr-90e_in1k + Metadata: + Epochs: 90 + Batch Size: 16384 + FLOPs: 61603112960 + Parameters: 304326632 + Training Data: ImageNet-1k + In Collection: MAE + Results: + - Task: Image Classification + Dataset: ImageNet-1k + Metrics: + Top 1 Accuracy: 75.5 + Weights: null + Config: configs/mae/benchmarks/vit-large-p16_8xb2048-linear-coslr-90e_in1k.py + - Name: vit-huge-p14_mae-1600e-pre_8xb128-coslr-50e_in1k Metadata: Epochs: 50 Batch Size: 1024 + FLOPs: 167399096320 + Parameters: 632043240 + Training Data: ImageNet-1k + In Collection: MAE Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 86.9 - Config: configs/mae/benchmarks/vit-huge-p14_8xb128-coslr-50e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/vit-huge-p16_ft-8xb128-coslr-50e_in1k/vit-huge-p16_ft-8xb128-coslr-50e_in1k_20220916-0bfc9bfd.pth + Config: configs/mae/benchmarks/vit-huge-p14_8xb128-coslr-50e_in1k.py - Name: vit-huge-p14_mae-1600e-pre_32xb8-coslr-50e_in1k-448px - In Collection: MAE Metadata: Epochs: 50 Batch Size: 256 + FLOPs: 732131983360 + Parameters: 633026280 + Training Data: ImageNet-1k + In Collection: MAE Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 87.3 - Config: configs/mae/benchmarks/vit-huge-p14_32xb8-coslr-50e_in1k-448px.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-huge-p16_8xb512-fp16-coslr-1600e_in1k/vit-huge-p16_ft-32xb8-coslr-50e_in1k-448/vit-huge-p16_ft-32xb8-coslr-50e_in1k-448_20220916-95b6a0ce.pth + Config: configs/mae/benchmarks/vit-huge-p14_32xb8-coslr-50e_in1k-448px.py diff --git a/configs/maskfeat/README.md b/configs/maskfeat/README.md index d25457c2..603a55dc 100644 --- a/configs/maskfeat/README.md +++ b/configs/maskfeat/README.md @@ -65,13 +65,13 @@ python tools/test.py configs/maskfeat/benchmarks/vit-base-p16_8xb256-coslr-100e_ | Model | Params (M) | Flops (G) | Config | Download | | :------------------------------------------------- | :--------: | :-------: | :-----------------------------------------------------------: | :--------------------------------------------------------------------: | -| `maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k` | N/A | N/A | [config](maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/maskfeat/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221101-6dfc8bf3.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/maskfeat/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221101-6dfc8bf3.json) | +| `maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k` | 85.88 | 17.58 | [config](maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/maskfeat/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221101-6dfc8bf3.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/maskfeat/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221101-6dfc8bf3.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Config | Download | | :---------------------------------------- | :------------------------------------------: | :--------: | :-------: | :-------: | :----------------------------------------: | :-------------------------------------------: | -| `vit-base-p16_maskfeat-pre_8xb256-coslr-100e_in1k` | [MASKFEAT](https://download.openmmlab.com/mmselfsup/1.x/maskfeat/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221101-6dfc8bf3.pth) | N/A | N/A | 83.40 | [config](benchmarks/vit-base-p16_8xb256-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/maskfeat/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb256-coslr-100e_in1k/vit-base-p16_ft-8xb256-coslr-100e_in1k_20221028-5134431c.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/maskfeat/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb256-coslr-100e_in1k/vit-base-p16_ft-8xb256-coslr-100e_in1k_20221028-5134431c.json) | +| `vit-base-p16_maskfeat-pre_8xb256-coslr-100e_in1k` | [MASKFEAT](https://download.openmmlab.com/mmselfsup/1.x/maskfeat/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221101-6dfc8bf3.pth) | 86.57 | 17.58 | 83.40 | [config](benchmarks/vit-base-p16_8xb256-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/maskfeat/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb256-coslr-100e_in1k/vit-base-p16_ft-8xb256-coslr-100e_in1k_20221028-5134431c.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/maskfeat/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb256-coslr-100e_in1k/vit-base-p16_ft-8xb256-coslr-100e_in1k_20221028-5134431c.json) | ## Citation diff --git a/configs/maskfeat/metafile.yml b/configs/maskfeat/metafile.yml index 37521a9a..1e1e1b4a 100644 --- a/configs/maskfeat/metafile.yml +++ b/configs/maskfeat/metafile.yml @@ -8,30 +8,36 @@ Collections: Architecture: - ViT Paper: - URL: https://arxiv.org/abs/2112.09133v1 - Title: "Masked Feature Prediction for Self-Supervised Visual Pre-Training" + Title: Masked Feature Prediction for Self-Supervised Visual Pre-Training + URL: https://arxiv.org/abs/2112.09133v1 README: configs/maskfeat/README.md Models: - Name: maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k - In Collection: MaskFeat Metadata: Epochs: 300 Batch Size: 2048 + FLOPs: 17581972224 + Parameters: 85882692 + Training Data: ImageNet-1k + In Collection: MaskFeat Results: null - Config: configs/maskfeat/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/maskfeat/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k_20221101-6dfc8bf3.pth + Config: configs/maskfeat/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k.py Downstream: - vit-base-p16_maskfeat-pre_8xb256-coslr-100e_in1k - Name: vit-base-p16_maskfeat-pre_8xb256-coslr-100e_in1k - In Collection: MaskFeat Metadata: Epochs: 100 Batch Size: 2048 + FLOPs: 17581215744 + Parameters: 86566120 + Training Data: ImageNet-1k + In Collection: MaskFeat Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 83.4 - Config: configs/maskfeat/benchmarks/vit-base-p16_8xb256-coslr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/maskfeat/maskfeat_vit-base-p16_8xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb256-coslr-100e_in1k/vit-base-p16_ft-8xb256-coslr-100e_in1k_20221028-5134431c.pth + Config: configs/maskfeat/benchmarks/vit-base-p16_8xb256-coslr-100e_in1k.py diff --git a/configs/milan/README.md b/configs/milan/README.md index effbf38d..13655ef8 100644 --- a/configs/milan/README.md +++ b/configs/milan/README.md @@ -83,14 +83,14 @@ python tools/test.py configs/milan/benchmarks/vit-base-p16_8xb128-coslr-100e_in1 | Model | Params (M) | Flops (G) | Config | Download | | :----------------------------------------------- | :--------: | :-------: | :---------------------------------------------------------: | :------------------------------------------------------------------------: | -| `milan_vit-base-p16_16xb256-amp-coslr-400e_in1k` | N/A | N/A | [config](milan_vit-base-p16_16xb256-amp-coslr-400e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k_20221129-180922e8.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k_20221129-180922e8.json) | +| `milan_vit-base-p16_16xb256-amp-coslr-400e_in1k` | 111.91 | 17.58 | [config](milan_vit-base-p16_16xb256-amp-coslr-400e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k_20221129-180922e8.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k_20221129-180922e8.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Config | Download | | :---------------------------------------- | :------------------------------------------: | :--------: | :-------: | :-------: | :----------------------------------------: | :-------------------------------------------: | -| `vit-base-p16_milan-pre_8xb128-coslr-100e_in1k` | [MILAN](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k_20221129-180922e8.pth) | N/A | N/A | 85.30 | [config](benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k-milan_20221129-74ac94fa.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k-milan_20221129-74ac94fa.json) | -| `vit-base-p16_milan-pre_8xb2048-linear-coslr-100e_in1k` | [MILAN](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k_20221129-180922e8.pth) | N/A | N/A | 78.90 | [config](benchmarks/vit-base-p16_8xb2048-linear-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k_20221129-03f26f85.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k_20221129-03f26f85.json) | +| `vit-base-p16_milan-pre_8xb128-coslr-100e_in1k` | [MILAN](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k_20221129-180922e8.pth) | 86.57 | 17.58 | 85.30 | [config](benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k-milan_20221129-74ac94fa.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k-milan_20221129-74ac94fa.json) | +| `vit-base-p16_milan-pre_8xb2048-linear-coslr-100e_in1k` | [MILAN](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k_20221129-180922e8.pth) | 86.57 | 17.58 | 78.90 | [config](benchmarks/vit-base-p16_8xb2048-linear-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k_20221129-03f26f85.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k_20221129-03f26f85.json) | ## Citation diff --git a/configs/milan/metafile.yml b/configs/milan/metafile.yml index fc13975c..a790815f 100644 --- a/configs/milan/metafile.yml +++ b/configs/milan/metafile.yml @@ -8,44 +8,52 @@ Collections: Architecture: - ViT Paper: - URL: https://arxiv.org/pdf/2208.06049 - Title: "MILAN: Masked Image Pretraining on Language Assisted Representation" + Title: 'MILAN: Masked Image Pretraining on Language Assisted Representation' + URL: https://arxiv.org/pdf/2208.06049 README: configs/milan/README.md Models: - Name: milan_vit-base-p16_16xb256-amp-coslr-400e_in1k - In Collection: MILAN Metadata: Epochs: 400 Batch Size: 4096 + FLOPs: 17581972224 + Parameters: 111907584 + Training Data: ImageNet-1k + In Collection: MILAN Results: null - Config: configs/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k_20221129-180922e8.pth + Config: configs/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k.py Downstream: - vit-base-p16_milan-pre_8xb128-coslr-100e_in1k - vit-base-p16_milan-pre_8xb2048-linear-coslr-100e_in1k - - Name: vit-base-p16_milan-pre_8xb128-coslr-100e_in1k - In Collection: MILAN Metadata: Epochs: 100 Batch Size: 1024 + FLOPs: 17581215744 + Parameters: 86566120 + Training Data: ImageNet-1k + In Collection: MILAN Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 85.3 - Config: configs/milan/benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k/vit-base-p16_ft-8xb128-coslr-100e_in1k-milan_20221129-74ac94fa.pth + Config: configs/milan/benchmarks/vit-base-p16_8xb128-coslr-100e_in1k.py - Name: vit-base-p16_milan-pre_8xb2048-linear-coslr-100e_in1k - In Collection: MILAN Metadata: Epochs: 100 Batch Size: 16384 + FLOPs: 17581972992 + Parameters: 86567656 + Training Data: ImageNet-1k + In Collection: MILAN Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 78.9 - Config: configs/milan/benchmarks/vit-base-p16_8xb2048-linear-coslr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/milan/milan_vit-base-p16_16xb256-amp-coslr-400e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k/vit-base-p16_linear-8xb2048-coslr-100e_in1k_20221129-03f26f85.pth + Config: configs/milan/benchmarks/vit-base-p16_8xb2048-linear-coslr-100e_in1k.py diff --git a/configs/mixmim/README.md b/configs/mixmim/README.md index e671a52e..95fe5e31 100644 --- a/configs/mixmim/README.md +++ b/configs/mixmim/README.md @@ -82,13 +82,13 @@ python tools/test.py configs/mixmim/benchmarks/mixmim-base_8xb128-coslr-100e_in1 | Model | Params (M) | Flops (G) | Config | Download | | :------------------------------------------- | :--------: | :-------: | :-----------------------------------------------------: | :--------------------------------------------------------------------------------: | -| `mixmim_mixmim-base_16xb128-coslr-300e_in1k` | N/A | N/A | [config](mixmim_mixmim-base_16xb128-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mixmim/mixmim-base-p16_16xb128-coslr-300e_in1k/mixmim-base-p16_16xb128-coslr-300e_in1k_20221208-44fe8d2c.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mixmim/mixmim-base-p16_16xb128-coslr-300e_in1k/mixmim-base-p16_16xb128-coslr-300e_in1k_20221208-44fe8d2c.json) | +| `mixmim_mixmim-base_16xb128-coslr-300e_in1k` | 114.67 | 16.35 | [config](mixmim_mixmim-base_16xb128-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mixmim/mixmim-base-p16_16xb128-coslr-300e_in1k/mixmim-base-p16_16xb128-coslr-300e_in1k_20221208-44fe8d2c.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mixmim/mixmim-base-p16_16xb128-coslr-300e_in1k/mixmim-base-p16_16xb128-coslr-300e_in1k_20221208-44fe8d2c.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Config | Download | | :---------------------------------------- | :------------------------------------------: | :--------: | :-------: | :-------: | :----------------------------------------: | :-------------------------------------------: | -| `mixmim-base_mixmim-pre_8xb128-coslr-100e_in1k` | [MIXMIM](https://download.openmmlab.com/mmselfsup/1.x/mixmim/mixmim-base-p16_16xb128-coslr-300e_in1k/mixmim-base-p16_16xb128-coslr-300e_in1k_20221208-44fe8d2c.pth) | N/A | N/A | 84.63 | [config](benchmarks/mixmim-base_8xb128-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mixmim/mixmim-base-p16_16xb128-coslr-300e_in1k/mixmim-base-p16_ft-8xb128-coslr-100e_in1k/mixmim-base-p16_ft-8xb128-coslr-100e_in1k_20221208-41ecada9.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mixmim/mixmim-base-p16_16xb128-coslr-300e_in1k/mixmim-base-p16_ft-8xb128-coslr-100e_in1k/mixmim-base-p16_ft-8xb128-coslr-100e_in1k_20221208-41ecada9.json) | +| `mixmim-base_mixmim-pre_8xb128-coslr-100e_in1k` | [MIXMIM](https://download.openmmlab.com/mmselfsup/1.x/mixmim/mixmim-base-p16_16xb128-coslr-300e_in1k/mixmim-base-p16_16xb128-coslr-300e_in1k_20221208-44fe8d2c.pth) | 88.34 | 16.35 | 84.63 | [config](benchmarks/mixmim-base_8xb128-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mixmim/mixmim-base-p16_16xb128-coslr-300e_in1k/mixmim-base-p16_ft-8xb128-coslr-100e_in1k/mixmim-base-p16_ft-8xb128-coslr-100e_in1k_20221208-41ecada9.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mixmim/mixmim-base-p16_16xb128-coslr-300e_in1k/mixmim-base-p16_ft-8xb128-coslr-100e_in1k/mixmim-base-p16_ft-8xb128-coslr-100e_in1k_20221208-41ecada9.json) | ## Citation diff --git a/configs/mixmim/metafile.yml b/configs/mixmim/metafile.yml index 014574ed..66ebcd2d 100644 --- a/configs/mixmim/metafile.yml +++ b/configs/mixmim/metafile.yml @@ -12,7 +12,8 @@ Collections: - Scaled Dot-Product Attention - Tanh Activation Paper: - Title: 'MixMIM: Mixed and Masked Image Modeling for Efficient Visual Representation Learning' + Title: 'MixMIM: Mixed and Masked Image Modeling for Efficient Visual Representation + Learning' URL: https://arxiv.org/abs/2205.13137 README: configs/mixmim/README.md Code: @@ -21,24 +22,30 @@ Collections: Models: - Name: mixmim_mixmim-base_16xb128-coslr-300e_in1k - In Collection: MixMIM Metadata: Epochs: 300 Batch Size: 2048 + FLOPs: 16351906816 + Parameters: 114665784 + Training Data: ImageNet-1k + In Collection: MixMIM Results: null - Config: configs/mixmim/mixmim_mixmim-base_16xb128-coslr-300e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mixmim/mixmim-base-p16_16xb128-coslr-300e_in1k/mixmim-base-p16_16xb128-coslr-300e_in1k_20221208-44fe8d2c.pth + Config: configs/mixmim/mixmim_mixmim-base_16xb128-coslr-300e_in1k.py Downstream: - mixmim-base_mixmim-pre_8xb128-coslr-100e_in1k - Name: mixmim-base_mixmim-pre_8xb128-coslr-100e_in1k - In Collection: MixMIM Metadata: Epochs: 100 Batch Size: 1024 + FLOPs: 16351906816 + Parameters: 88344352 + Training Data: ImageNet-1k + In Collection: MixMIM Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 84.63 - Config: configs/mixmim/benchmarks/mixmim-base_8xb128-coslr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mixmim/mixmim-base-p16_16xb128-coslr-300e_in1k/mixmim-base-p16_ft-8xb128-coslr-100e_in1k/mixmim-base-p16_ft-8xb128-coslr-100e_in1k_20221208-41ecada9.pth + Config: configs/mixmim/benchmarks/mixmim-base_8xb128-coslr-100e_in1k.py diff --git a/configs/mocov2/README.md b/configs/mocov2/README.md index 9e7ed9ed..bc8bc17e 100644 --- a/configs/mocov2/README.md +++ b/configs/mocov2/README.md @@ -65,13 +65,13 @@ python tools/test.py configs/mocov2/benchmarks/resnet50_8xb32-linear-steplr-100e | Model | Params (M) | Flops (G) | Config | Download | | :-------------------------------------- | :--------: | :-------: | :------------------------------------------------: | :------------------------------------------------------------------------------------------: | -| `mocov2_resnet50_8xb32-coslr-200e_in1k` | N/A | N/A | [config](mocov2_resnet50_8xb32-coslr-200e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov2/mocov2_resnet50_8xb32-coslr-200e_in1k/mocov2_resnet50_8xb32-coslr-200e_in1k_20220825-b6d23c86.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov2/mocov2_resnet50_8xb32-coslr-200e_in1k/mocov2_resnet50_8xb32-coslr-200e_in1k_20220825-b6d23c86.json) | +| `mocov2_resnet50_8xb32-coslr-200e_in1k` | 55.93 | 4.11 | [config](mocov2_resnet50_8xb32-coslr-200e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov2/mocov2_resnet50_8xb32-coslr-200e_in1k/mocov2_resnet50_8xb32-coslr-200e_in1k_20220825-b6d23c86.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov2/mocov2_resnet50_8xb32-coslr-200e_in1k/mocov2_resnet50_8xb32-coslr-200e_in1k_20220825-b6d23c86.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Config | Download | | :---------------------------------------- | :------------------------------------------: | :--------: | :-------: | :-------: | :----------------------------------------: | :-------------------------------------------: | -| `resnet50_mocov2-pre_8xb32-linear-steplr-100e_in1k` | [MOCOV2](https://download.openmmlab.com/mmselfsup/1.x/mocov2/mocov2_resnet50_8xb32-coslr-200e_in1k/mocov2_resnet50_8xb32-coslr-200e_in1k_20220825-b6d23c86.pth) | N/A | N/A | 67.50 | [config](benchmarks/resnet50_8xb32-linear-steplr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov2/mocov2_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb32-steplr-100e_in1k/resnet50_linear-8xb32-steplr-100e_in1k_20220825-994c4128.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov2/mocov2_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb32-steplr-100e_in1k/resnet50_linear-8xb32-steplr-100e_in1k_20220825-994c4128.json) | +| `resnet50_mocov2-pre_8xb32-linear-steplr-100e_in1k` | [MOCOV2](https://download.openmmlab.com/mmselfsup/1.x/mocov2/mocov2_resnet50_8xb32-coslr-200e_in1k/mocov2_resnet50_8xb32-coslr-200e_in1k_20220825-b6d23c86.pth) | 25.56 | 4.11 | 67.50 | [config](benchmarks/resnet50_8xb32-linear-steplr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov2/mocov2_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb32-steplr-100e_in1k/resnet50_linear-8xb32-steplr-100e_in1k_20220825-994c4128.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov2/mocov2_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb32-steplr-100e_in1k/resnet50_linear-8xb32-steplr-100e_in1k_20220825-994c4128.json) | ## Citation diff --git a/configs/mocov2/metafile.yml b/configs/mocov2/metafile.yml index c67176ba..4440db45 100644 --- a/configs/mocov2/metafile.yml +++ b/configs/mocov2/metafile.yml @@ -10,30 +10,36 @@ Collections: - ResNet - MoCo Paper: - URL: https://arxiv.org/abs/2003.04297 - Title: "Improved Baselines with Momentum Contrastive Learning" + Title: Improved Baselines with Momentum Contrastive Learning + URL: https://arxiv.org/abs/2003.04297 README: configs/mocov2/README.md Models: - Name: mocov2_resnet50_8xb32-coslr-200e_in1k - In Collection: MoCoV2 Metadata: Epochs: 200 Batch Size: 256 + FLOPs: 4109364224 + Parameters: 55933312 + Training Data: ImageNet-1k + In Collection: MoCoV2 Results: null - Config: configs/mocov2/mocov2_resnet50_8xb32-coslr-200e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov2/mocov2_resnet50_8xb32-coslr-200e_in1k/mocov2_resnet50_8xb32-coslr-200e_in1k_20220825-b6d23c86.pth + Config: configs/mocov2/mocov2_resnet50_8xb32-coslr-200e_in1k.py Downstream: - resnet50_mocov2-pre_8xb32-linear-steplr-100e_in1k - Name: resnet50_mocov2-pre_8xb32-linear-steplr-100e_in1k - In Collection: MoCoV2 Metadata: Epochs: 100 Batch Size: 256 + FLOPs: 4109464576 + Parameters: 25557032 + Training Data: ImageNet-1k + In Collection: MoCoV2 Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 67.5 - Config: configs/mocov2/benchmarks/resnet50_8xb32-linear-steplr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov2/mocov2_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb32-steplr-100e_in1k/resnet50_linear-8xb32-steplr-100e_in1k_20220825-994c4128.pth + Config: configs/mocov2/benchmarks/resnet50_8xb32-linear-steplr-100e_in1k.py diff --git a/configs/mocov3/README.md b/configs/mocov3/README.md index c02b376b..22a99c3a 100644 --- a/configs/mocov3/README.md +++ b/configs/mocov3/README.md @@ -65,24 +65,24 @@ python tools/test.py configs/mocov3/benchmarks/resnet50_8xb128-linear-coslr-90e_ | Model | Params (M) | Flops (G) | Config | Download | | :------------------------------------------------- | :--------: | :-------: | :-----------------------------------------------------------: | :--------------------------------------------------------------------: | -| `mocov3_resnet50_8xb512-amp-coslr-100e_in1k` | N/A | N/A | [config](mocov3_resnet50_8xb512-amp-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-100e_in1k/mocov3_resnet50_8xb512-amp-coslr-100e_in1k_20220927-f1144efa.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-100e_in1k/mocov3_resnet50_8xb512-amp-coslr-100e_in1k_20220927-f1144efa.json) | -| `mocov3_resnet50_8xb512-amp-coslr-300e_in1k` | N/A | N/A | [config](mocov3_resnet50_8xb512-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k/mocov3_resnet50_8xb512-amp-coslr-300e_in1k_20220927-1e4f3304.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k/mocov3_resnet50_8xb512-amp-coslr-300e_in1k_20220927-1e4f3304.json) | -| `mocov3_resnet50_8xb512-amp-coslr-800e_in1k` | N/A | N/A | [config](mocov3_resnet50_8xb512-amp-coslr-800e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k/mocov3_resnet50_8xb512-amp-coslr-800e_in1k_20220927-e043f51a.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k/mocov3_resnet50_8xb512-amp-coslr-800e_in1k_20220927-e043f51a.json) | -| `mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k` | N/A | N/A | [config](mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k-224_20220826-08bc52f7.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k-224_20220826-08bc52f7.json) | -| `mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k` | N/A | N/A | [config](mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k-224_20220826-25213343.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k-224_20220826-25213343.json) | -| `mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k` | N/A | N/A | [config](mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k-224_20220829-9b88a442.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k-224_20220829-9b88a442.json) | +| `mocov3_resnet50_8xb512-amp-coslr-100e_in1k` | 68.01 | 4.11 | [config](mocov3_resnet50_8xb512-amp-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-100e_in1k/mocov3_resnet50_8xb512-amp-coslr-100e_in1k_20220927-f1144efa.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-100e_in1k/mocov3_resnet50_8xb512-amp-coslr-100e_in1k_20220927-f1144efa.json) | +| `mocov3_resnet50_8xb512-amp-coslr-300e_in1k` | 68.01 | 4.11 | [config](mocov3_resnet50_8xb512-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k/mocov3_resnet50_8xb512-amp-coslr-300e_in1k_20220927-1e4f3304.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k/mocov3_resnet50_8xb512-amp-coslr-300e_in1k_20220927-1e4f3304.json) | +| `mocov3_resnet50_8xb512-amp-coslr-800e_in1k` | 68.01 | 4.11 | [config](mocov3_resnet50_8xb512-amp-coslr-800e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k/mocov3_resnet50_8xb512-amp-coslr-800e_in1k_20220927-e043f51a.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k/mocov3_resnet50_8xb512-amp-coslr-800e_in1k_20220927-e043f51a.json) | +| `mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k` | 84.27 | 4.61 | [config](mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k-224_20220826-08bc52f7.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k-224_20220826-08bc52f7.json) | +| `mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k` | 215.68 | 17.58 | [config](mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k-224_20220826-25213343.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k-224_20220826-25213343.json) | +| `mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k` | 652.78 | 61.60 | [config](mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k-224_20220829-9b88a442.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k-224_20220829-9b88a442.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Config | Download | | :---------------------------------------- | :------------------------------------------: | :--------: | :-------: | :-------: | :----------------------------------------: | :-------------------------------------------: | -| `resnet50_mocov3-100e-pre_8xb128-linear-coslr-90e_in1k` | [MOCOV3 100-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-100e_in1k/mocov3_resnet50_8xb512-amp-coslr-100e_in1k_20220927-f1144efa.pth) | N/A | N/A | 69.60 | [config](benchmarks/resnet50_8xb128-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-100e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-8f7d937e.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-100e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-8f7d937e.json) | -| `resnet50_mocov3-300e-pre_8xb128-linear-coslr-90e_in1k` | [MOCOV3 300-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k/mocov3_resnet50_8xb512-amp-coslr-300e_in1k_20220927-1e4f3304.pth) | N/A | N/A | 72.80 | [config](benchmarks/resnet50_8xb128-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-d21ddac2.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-d21ddac2.json) | -| `resnet50_mocov3-800e-pre_8xb128-linear-coslr-90e_in1k` | [MOCOV3 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k/mocov3_resnet50_8xb512-amp-coslr-800e_in1k_20220927-e043f51a.pth) | N/A | N/A | 74.40 | [config](benchmarks/resnet50_8xb128-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-0e97a483.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-0e97a483.json) | -| `vit-small-p16_mocov3-pre_8xb128-linear-coslr-90e_in1k` | [MOCOV3](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k-224_20220826-08bc52f7.pth) | N/A | N/A | 73.60 | [config](benchmarks/vit-small-p16_8xb128-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k/vit-small-p16_linear-8xb128-coslr-90e_in1k/vit-small-p16_linear-8xb128-coslr-90e_in1k_20220826-376674ef.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k/vit-small-p16_linear-8xb128-coslr-90e_in1k/vit-small-p16_linear-8xb128-coslr-90e_in1k_20220826-376674ef.json) | -| `vit-base-p16_mocov3-pre_8xb128-linear-coslr-90e_in1k` | [MOCOV3](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k-224_20220826-25213343.pth) | N/A | N/A | 76.90 | [config](benchmarks/vit-base-p16_8xb128-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/vit-base-p16_linear-8xb128-coslr-90e_in1k/vit-base-p16_linear-8xb128-coslr-90e_in1k_20220826-83be7758.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/vit-base-p16_linear-8xb128-coslr-90e_in1k/vit-base-p16_linear-8xb128-coslr-90e_in1k_20220826-83be7758.json) | -| `vit-base-p16_mocov3-pre_8xb64-coslr-150e_in1k` | [MOCOV3](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k-224_20220826-25213343.pth) | N/A | N/A | 83.00 | [config](benchmarks/vit-base-p16_8xb64-coslr-150e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb64-coslr-150e_in1k/vit-base-p16_ft-8xb64-coslr-150e_in1k_20220826-f1e6c442.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb64-coslr-150e_in1k/vit-base-p16_ft-8xb64-coslr-150e_in1k_20220826-f1e6c442.json) | -| `vit-large-p16_mocov3-pre_8xb64-coslr-100e_in1k` | [MOCOV3](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k-224_20220829-9b88a442.pth) | N/A | N/A | 83.70 | [config](benchmarks/vit-large-p16_8xb64-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k/vit-large-p16_ft-8xb64-coslr-100e_in1k/vit-large-p16_ft-8xb64-coslr-100e_in1k_20220829-878a2f7f.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k/vit-large-p16_ft-8xb64-coslr-100e_in1k/vit-large-p16_ft-8xb64-coslr-100e_in1k_20220829-878a2f7f.json) | +| `resnet50_mocov3-100e-pre_8xb128-linear-coslr-90e_in1k` | [MOCOV3 100-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-100e_in1k/mocov3_resnet50_8xb512-amp-coslr-100e_in1k_20220927-f1144efa.pth) | 25.56 | 4.11 | 69.60 | [config](benchmarks/resnet50_8xb128-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-100e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-8f7d937e.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-100e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-8f7d937e.json) | +| `resnet50_mocov3-300e-pre_8xb128-linear-coslr-90e_in1k` | [MOCOV3 300-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k/mocov3_resnet50_8xb512-amp-coslr-300e_in1k_20220927-1e4f3304.pth) | 25.56 | 4.11 | 72.80 | [config](benchmarks/resnet50_8xb128-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-d21ddac2.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-d21ddac2.json) | +| `resnet50_mocov3-800e-pre_8xb128-linear-coslr-90e_in1k` | [MOCOV3 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k/mocov3_resnet50_8xb512-amp-coslr-800e_in1k_20220927-e043f51a.pth) | 25.56 | 4.11 | 74.40 | [config](benchmarks/resnet50_8xb128-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-0e97a483.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-0e97a483.json) | +| `vit-small-p16_mocov3-pre_8xb128-linear-coslr-90e_in1k` | [MOCOV3](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k-224_20220826-08bc52f7.pth) | 22.05 | 4.61 | 73.60 | [config](benchmarks/vit-small-p16_8xb128-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k/vit-small-p16_linear-8xb128-coslr-90e_in1k/vit-small-p16_linear-8xb128-coslr-90e_in1k_20220826-376674ef.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k/vit-small-p16_linear-8xb128-coslr-90e_in1k/vit-small-p16_linear-8xb128-coslr-90e_in1k_20220826-376674ef.json) | +| `vit-base-p16_mocov3-pre_8xb64-coslr-150e_in1k` | [MOCOV3](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k-224_20220826-25213343.pth) | 86.57 | 17.58 | 83.00 | [config](benchmarks/vit-base-p16_8xb64-coslr-150e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb64-coslr-150e_in1k/vit-base-p16_ft-8xb64-coslr-150e_in1k_20220826-f1e6c442.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb64-coslr-150e_in1k/vit-base-p16_ft-8xb64-coslr-150e_in1k_20220826-f1e6c442.json) | +| `vit-base-p16_mocov3-pre_8xb128-linear-coslr-90e_in1k` | [MOCOV3](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k-224_20220826-25213343.pth) | 86.57 | 17.58 | 76.90 | [config](benchmarks/vit-base-p16_8xb128-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/vit-base-p16_linear-8xb128-coslr-90e_in1k/vit-base-p16_linear-8xb128-coslr-90e_in1k_20220826-83be7758.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/vit-base-p16_linear-8xb128-coslr-90e_in1k/vit-base-p16_linear-8xb128-coslr-90e_in1k_20220826-83be7758.json) | +| `vit-large-p16_mocov3-pre_8xb64-coslr-100e_in1k` | [MOCOV3](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k-224_20220829-9b88a442.pth) | 304.33 | 61.60 | 83.70 | [config](benchmarks/vit-large-p16_8xb64-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k/vit-large-p16_ft-8xb64-coslr-100e_in1k/vit-large-p16_ft-8xb64-coslr-100e_in1k_20220829-878a2f7f.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k/vit-large-p16_ft-8xb64-coslr-100e_in1k/vit-large-p16_ft-8xb64-coslr-100e_in1k_20220829-878a2f7f.json) | ## Citation diff --git a/configs/mocov3/metafile.yml b/configs/mocov3/metafile.yml index f92fb0c5..649d9f43 100644 --- a/configs/mocov3/metafile.yml +++ b/configs/mocov3/metafile.yml @@ -10,158 +10,192 @@ Collections: - ViT - MoCo Paper: - URL: https://arxiv.org/abs/2104.02057 - Title: "An Empirical Study of Training Self-Supervised Vision Transformers" + Title: An Empirical Study of Training Self-Supervised Vision Transformers + URL: https://arxiv.org/abs/2104.02057 README: configs/mocov3/README.md Models: - Name: mocov3_resnet50_8xb512-amp-coslr-100e_in1k - In Collection: MoCoV3 Metadata: Epochs: 100 Batch Size: 4096 + FLOPs: 4109364224 + Parameters: 68012160 + Training Data: ImageNet-1k + In Collection: MoCoV3 Results: null - Config: configs/mocov3/mocov3_resnet50_8xb512-amp-coslr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-100e_in1k/mocov3_resnet50_8xb512-amp-coslr-100e_in1k_20220927-f1144efa.pth + Config: configs/mocov3/mocov3_resnet50_8xb512-amp-coslr-100e_in1k.py Downstream: - resnet50_mocov3-100e-pre_8xb128-linear-coslr-90e_in1k - - Name: resnet50_mocov3-100e-pre_8xb128-linear-coslr-90e_in1k + - Name: mocov3_resnet50_8xb512-amp-coslr-300e_in1k + Metadata: + Epochs: 300 + Batch Size: 4096 + FLOPs: 4109364224 + Parameters: 68012160 + Training Data: ImageNet-1k In Collection: MoCoV3 + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k/mocov3_resnet50_8xb512-amp-coslr-300e_in1k_20220927-1e4f3304.pth + Config: configs/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k.py + Downstream: + - resnet50_mocov3-300e-pre_8xb128-linear-coslr-90e_in1k + - Name: mocov3_resnet50_8xb512-amp-coslr-800e_in1k + Metadata: + Epochs: 800 + Batch Size: 4096 + FLOPs: 4109364224 + Parameters: 68012160 + Training Data: ImageNet-1k + In Collection: MoCoV3 + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k/mocov3_resnet50_8xb512-amp-coslr-800e_in1k_20220927-e043f51a.pth + Config: configs/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k.py + Downstream: + - resnet50_mocov3-800e-pre_8xb128-linear-coslr-90e_in1k + - Name: resnet50_mocov3-100e-pre_8xb128-linear-coslr-90e_in1k Metadata: Epochs: 90 Batch Size: 1024 + FLOPs: 4109464576 + Parameters: 25557032 + Training Data: ImageNet-1k + In Collection: MoCoV3 Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 69.6 - Config: configs/mocov3/benchmarks/resnet50_8xb128-linear-coslr-90e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-100e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-8f7d937e.pth - - - Name: mocov3_resnet50_8xb512-amp-coslr-300e_in1k - In Collection: MoCoV3 - Metadata: - Epochs: 300 - Batch Size: 4096 - Results: null - Config: configs/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k/mocov3_resnet50_8xb512-amp-coslr-300e_in1k_20220927-1e4f3304.pth - Downstream: - - resnet50_mocov3-300e-pre_8xb128-linear-coslr-90e_in1k + Config: configs/mocov3/benchmarks/resnet50_8xb128-linear-coslr-90e_in1k.py - Name: resnet50_mocov3-300e-pre_8xb128-linear-coslr-90e_in1k - In Collection: MoCoV3 Metadata: Epochs: 90 Batch Size: 1024 + FLOPs: 4109464576 + Parameters: 25557032 + Training Data: ImageNet-1k + In Collection: MoCoV3 Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 72.8 - Config: configs/mocov3/benchmarks/resnet50_8xb128-linear-coslr-90e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-300e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-d21ddac2.pth - - - Name: mocov3_resnet50_8xb512-amp-coslr-800e_in1k - In Collection: MoCoV3 - Metadata: - Epochs: 800 - Batch Size: 4096 - Results: null - Config: configs/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k/mocov3_resnet50_8xb512-amp-coslr-800e_in1k_20220927-e043f51a.pth - Downstream: - - resnet50_mocov3-800e-pre_8xb128-linear-coslr-90e_in1k + Config: configs/mocov3/benchmarks/resnet50_8xb128-linear-coslr-90e_in1k.py - Name: resnet50_mocov3-800e-pre_8xb128-linear-coslr-90e_in1k - In Collection: MoCoV3 Metadata: Epochs: 90 Batch Size: 1024 + FLOPs: 4109464576 + Parameters: 25557032 + Training Data: ImageNet-1k + In Collection: MoCoV3 Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 74.4 - Config: configs/mocov3/benchmarks/resnet50_8xb128-linear-coslr-90e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_resnet50_8xb512-amp-coslr-800e_in1k/resnet50_linear-8xb128-coslr-90e_in1k/resnet50_linear-8xb128-coslr-90e_in1k_20220927-0e97a483.pth - + Config: configs/mocov3/benchmarks/resnet50_8xb128-linear-coslr-90e_in1k.py - Name: mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k - In Collection: MoCoV3 Metadata: Epochs: 300 Batch Size: 4096 + FLOPs: 4607954304 + Parameters: 84266752 + Training Data: ImageNet-1k + In Collection: MoCoV3 Results: null - Config: configs/mocov3/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k-224_20220826-08bc52f7.pth + Config: configs/mocov3/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k.py Downstream: - vit-small-p16_mocov3-pre_8xb128-linear-coslr-90e_in1k - Name: vit-small-p16_mocov3-pre_8xb128-linear-coslr-90e_in1k - In Collection: MoCoV3 Metadata: Epochs: 90 Batch Size: 1024 + FLOPs: 4607954304 + Parameters: 22050664 + Training Data: ImageNet-1k + In Collection: MoCoV3 Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 73.6 - Config: configs/mocov3/benchmarks/vit-small-p16_8xb128-linear-coslr-90e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-small-p16_16xb256-amp-coslr-300e_in1k/vit-small-p16_linear-8xb128-coslr-90e_in1k/vit-small-p16_linear-8xb128-coslr-90e_in1k_20220826-376674ef.pth - + Config: configs/mocov3/benchmarks/vit-small-p16_8xb128-linear-coslr-90e_in1k.py - Name: mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k - In Collection: MoCoV3 Metadata: Epochs: 300 Batch Size: 4096 + FLOPs: 17581972224 + Parameters: 215678464 + Training Data: ImageNet-1k + In Collection: MoCoV3 Results: null - Config: configs/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k-224_20220826-25213343.pth + Config: configs/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k.py Downstream: - vit-base-p16_mocov3-pre_8xb128-linear-coslr-90e_in1k - vit-base-p16_mocov3-pre_8xb64-coslr-150e_in1k - - Name: vit-base-p16_mocov3-pre_8xb128-linear-coslr-90e_in1k - In Collection: MoCoV3 - Metadata: - Epochs: 90 - Batch Size: 1024 - Results: - - Task: Image Classification - Dataset: ImageNet-1k - Metrics: - Top 1 Accuracy: 76.9 - Config: configs/mocov3/benchmarks/vit-base-p16_8xb128-linear-coslr-90e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/vit-base-p16_linear-8xb128-coslr-90e_in1k/vit-base-p16_linear-8xb128-coslr-90e_in1k_20220826-83be7758.pth - Name: vit-base-p16_mocov3-pre_8xb64-coslr-150e_in1k - In Collection: MoCoV3 Metadata: Epochs: 150 Batch Size: 512 + FLOPs: 17581972224 + Parameters: 86567656 + Training Data: ImageNet-1k + In Collection: MoCoV3 Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 83.0 - Config: configs/mocov3/benchmarks/vit-base-p16_8xb64-coslr-150e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/vit-base-p16_ft-8xb64-coslr-150e_in1k/vit-base-p16_ft-8xb64-coslr-150e_in1k_20220826-f1e6c442.pth - - - Name: mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k + Config: configs/mocov3/benchmarks/vit-base-p16_8xb64-coslr-150e_in1k.py + - Name: vit-base-p16_mocov3-pre_8xb128-linear-coslr-90e_in1k + Metadata: + Epochs: 90 + Batch Size: 1024 + FLOPs: 17581972224 + Parameters: 86567656 + Training Data: ImageNet-1k In Collection: MoCoV3 + Results: + - Task: Image Classification + Dataset: ImageNet-1k + Metrics: + Top 1 Accuracy: 76.9 + Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-base-p16_16xb256-amp-coslr-300e_in1k/vit-base-p16_linear-8xb128-coslr-90e_in1k/vit-base-p16_linear-8xb128-coslr-90e_in1k_20220826-83be7758.pth + Config: configs/mocov3/benchmarks/vit-base-p16_8xb128-linear-coslr-90e_in1k.py + - Name: mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k Metadata: Epochs: 300 Batch Size: 4096 - Results: null - Config: configs/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k-224_20220829-9b88a442.pth - Downstream: - - vit-large-p16_mocov3-pre_8xb64-coslr-100e_in1k - - Name: vit-large-p16_mocov3-pre_8xb64-coslr-100e_in1k + FLOPs: 61603111936 + Parameters: 652781568 + Training Data: ImageNet-1k In Collection: MoCoV3 + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k-224_20220829-9b88a442.pth + Config: configs/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k.py + Downstream: + - vit-large-p16_mocov3-pre_8xb64-coslr-100e_in1k + - Name: vit-large-p16_mocov3-pre_8xb64-coslr-100e_in1k Metadata: Epochs: 100 Batch Size: 512 + FLOPs: 61603111936 + Parameters: 304326632 + Training Data: ImageNet-1k + In Collection: MoCoV3 Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 83.7 - Config: configs/mocov3/benchmarks/vit-large-p16_8xb64-coslr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/mocov3/mocov3_vit-large-p16_64xb64-amp-coslr-300e_in1k/vit-large-p16_ft-8xb64-coslr-100e_in1k/vit-large-p16_ft-8xb64-coslr-100e_in1k_20220829-878a2f7f.pth + Config: configs/mocov3/benchmarks/vit-large-p16_8xb64-coslr-100e_in1k.py diff --git a/configs/simclr/README.md b/configs/simclr/README.md index 81c9decb..0bcdeb77 100644 --- a/configs/simclr/README.md +++ b/configs/simclr/README.md @@ -65,15 +65,15 @@ python tools/test.py configs/simclr/benchmarks/resnet50_8xb512-linear-coslr-90e_ | Model | Params (M) | Flops (G) | Config | Download | | :---------------------------------------- | :--------: | :-------: | :--------------------------------------------------: | :--------------------------------------------------------------------------------------: | -| `simclr_resnet50_16xb256-coslr-200e_in1k` | N/A | N/A | [config](simclr_resnet50_16xb256-coslr-200e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-200e_in1k/simclr_resnet50_16xb256-coslr-200e_in1k_20220825-4d9cce50.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-200e_in1k/simclr_resnet50_16xb256-coslr-200e_in1k_20220825-4d9cce50.json) | -| `simclr_resnet50_16xb256-coslr-800e_in1k` | N/A | N/A | [config](simclr_resnet50_16xb256-coslr-800e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-800e_in1k/simclr_resnet50_16xb256-coslr-800e_in1k_20220825-85fcc4de.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-800e_in1k/simclr_resnet50_16xb256-coslr-800e_in1k_20220825-85fcc4de.json) | +| `simclr_resnet50_16xb256-coslr-200e_in1k` | 27.97 | 4.11 | [config](simclr_resnet50_16xb256-coslr-200e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-200e_in1k/simclr_resnet50_16xb256-coslr-200e_in1k_20220825-4d9cce50.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-200e_in1k/simclr_resnet50_16xb256-coslr-200e_in1k_20220825-4d9cce50.json) | +| `simclr_resnet50_16xb256-coslr-800e_in1k` | 27.97 | 4.11 | [config](simclr_resnet50_16xb256-coslr-800e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-800e_in1k/simclr_resnet50_16xb256-coslr-800e_in1k_20220825-85fcc4de.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-800e_in1k/simclr_resnet50_16xb256-coslr-800e_in1k_20220825-85fcc4de.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Config | Download | | :---------------------------------------- | :------------------------------------------: | :--------: | :-------: | :-------: | :----------------------------------------: | :-------------------------------------------: | -| `resnet50_simclr-200e-pre_8xb512-linear-coslr-90e_in1k` | [SIMCLR 200-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-200e_in1k/simclr_resnet50_16xb256-coslr-200e_in1k_20220825-4d9cce50.pth) | N/A | N/A | 66.90 | [config](benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-f12c0457.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-f12c0457.json) | -| `resnet50_simclr-800e-pre_8xb512-linear-coslr-90e_in1k` | [SIMCLR 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-800e_in1k/simclr_resnet50_16xb256-coslr-800e_in1k_20220825-85fcc4de.pth) | N/A | N/A | 69.20 | [config](benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-800e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-b80ae1e5.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-800e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-b80ae1e5.json) | +| `resnet50_simclr-200e-pre_8xb512-linear-coslr-90e_in1k` | [SIMCLR 200-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-200e_in1k/simclr_resnet50_16xb256-coslr-200e_in1k_20220825-4d9cce50.pth) | 25.56 | 4.11 | 66.90 | [config](benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-f12c0457.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-f12c0457.json) | +| `resnet50_simclr-800e-pre_8xb512-linear-coslr-90e_in1k` | [SIMCLR 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-800e_in1k/simclr_resnet50_16xb256-coslr-800e_in1k_20220825-85fcc4de.pth) | 25.56 | 4.11 | 69.20 | [config](benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-800e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-b80ae1e5.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-800e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-b80ae1e5.json) | ## Citation diff --git a/configs/simclr/metafile.yml b/configs/simclr/metafile.yml index e08a9628..23c31ed3 100644 --- a/configs/simclr/metafile.yml +++ b/configs/simclr/metafile.yml @@ -9,53 +9,64 @@ Collections: - ResNet - SimCLR Paper: - URL: https://arxiv.org/abs/2002.05709 - Title: "A simple framework for contrastive learning of visual representations" + Title: A simple framework for contrastive learning of visual representations + URL: https://arxiv.org/abs/2002.05709 README: configs/simclr/README.md Models: - Name: simclr_resnet50_16xb256-coslr-200e_in1k - In Collection: SimCLR Metadata: Epochs: 200 Batch Size: 4096 + FLOPs: 4109364224 + Parameters: 27968832 + Training Data: ImageNet-1k + In Collection: SimCLR Results: null - Config: configs/simclr/simclr_resnet50_16xb256-coslr-200e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-200e_in1k/simclr_resnet50_16xb256-coslr-200e_in1k_20220825-4d9cce50.pth + Config: configs/simclr/simclr_resnet50_16xb256-coslr-200e_in1k.py Downstream: - resnet50_simclr-200e-pre_8xb512-linear-coslr-90e_in1k - - Name: resnet50_simclr-200e-pre_8xb512-linear-coslr-90e_in1k + - Name: simclr_resnet50_16xb256-coslr-800e_in1k + Metadata: + Epochs: 200 + Batch Size: 4096 + FLOPs: 4109364224 + Parameters: 27968832 + Training Data: ImageNet-1k In Collection: SimCLR + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-800e_in1k/simclr_resnet50_16xb256-coslr-800e_in1k_20220825-85fcc4de.pth + Config: configs/simclr/simclr_resnet50_16xb256-coslr-800e_in1k.py + Downstream: + - resnet50_simclr-800e-pre_8xb512-linear-coslr-90e_in1k + - Name: resnet50_simclr-200e-pre_8xb512-linear-coslr-90e_in1k Metadata: Epochs: 90 Batch Size: 4096 + FLOPs: 4109464576 + Parameters: 25557032 + Training Data: ImageNet-1k + In Collection: SimCLR Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 66.9 - Config: configs/simclr/benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-f12c0457.pth - - - Name: simclr_resnet50_16xb256-coslr-800e_in1k - In Collection: SimCLR - Metadata: - Epochs: 200 - Batch Size: 4096 - Results: null - Config: configs/simclr/simclr_resnet50_16xb256-coslr-800e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-800e_in1k/simclr_resnet50_16xb256-coslr-800e_in1k_20220825-85fcc4de.pth - Downstream: - - resnet50_simclr-800e-pre_8xb512-linear-coslr-90e_in1k + Config: configs/simclr/benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py - Name: resnet50_simclr-800e-pre_8xb512-linear-coslr-90e_in1k - In Collection: SimCLR Metadata: Epochs: 90 Batch Size: 4096 + FLOPs: 4109464576 + Parameters: 25557032 + Training Data: ImageNet-1k + In Collection: SimCLR Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 69.2 - Config: configs/simclr/benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/simclr/simclr_resnet50_16xb256-coslr-800e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-b80ae1e5.pth + Config: configs/simclr/benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py diff --git a/configs/simmim/README.md b/configs/simmim/README.md index 2fdd787d..7ac960d0 100644 --- a/configs/simmim/README.md +++ b/configs/simmim/README.md @@ -65,18 +65,18 @@ python tools/test.py configs/simmim/benchmarks/swin-base-w6_8xb256-coslr-100e_in | Model | Params (M) | Flops (G) | Config | Download | | :-------------------------------------------------------- | :--------: | :-------: | :-----------------------------------------------------------: | :-------------------------------------------------------------: | -| `simmim_swin-base-w6_8xb256-amp-coslr-100e_in1k-192px` | N/A | N/A | [config](simmim_swin-base-w6_8xb256-amp-coslr-100e_in1k-192px.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192_20220829-0e15782d.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192_20220829-0e15782d.json) | -| `simmim_swin-base-w6_16xb128-amp-coslr-800e_in1k-192px` | N/A | N/A | [config](simmim_swin-base-w6_16xb128-amp-coslr-800e_in1k-192px.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192_20220916-a0e931ac.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192_20220916-a0e931ac.json) | -| `simmim_swin-large-w12_16xb128-amp-coslr-800e_in1k-192px` | N/A | N/A | [config](simmim_swin-large-w12_16xb128-amp-coslr-800e_in1k-192px.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192_20220916-4ad216d3.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192_20220916-4ad216d3.json) | +| `simmim_swin-base-w6_8xb256-amp-coslr-100e_in1k-192px` | 89.87 | 18.83 | [config](simmim_swin-base-w6_8xb256-amp-coslr-100e_in1k-192px.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192_20220829-0e15782d.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192_20220829-0e15782d.json) | +| `simmim_swin-base-w6_16xb128-amp-coslr-800e_in1k-192px` | 89.87 | 18.83 | [config](simmim_swin-base-w6_16xb128-amp-coslr-800e_in1k-192px.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192_20220916-a0e931ac.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192_20220916-a0e931ac.json) | +| `simmim_swin-large-w12_16xb128-amp-coslr-800e_in1k-192px` | 199.92 | 55.85 | [config](simmim_swin-large-w12_16xb128-amp-coslr-800e_in1k-192px.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192_20220916-4ad216d3.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192_20220916-4ad216d3.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Config | Download | | :---------------------------------------- | :------------------------------------------: | :--------: | :-------: | :-------: | :----------------------------------------: | :-------------------------------------------: | -| `swin-base-w6_simmim-100e-pre_8xb256-coslr-100e_in1k-192px` | [SIMMIM 100-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192_20220829-0e15782d.pth) | N/A | N/A | 82.70 | [config](benchmarks/swin-base-w6_8xb256-coslr-100e_in1k-192px.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192/swin-base_ft-8xb256-coslr-100e_in1k/swin-base_ft-8xb256-coslr-100e_in1k_20220829-9cf23aa1.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192/swin-base_ft-8xb256-coslr-100e_in1k/swin-base_ft-8xb256-coslr-100e_in1k_20220829-9cf23aa1.json) | -| `swin-base-w7_simmim-100e-pre_8xb256-coslr-100e_in1k` | [SIMMIM 100-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192_20220829-0e15782d.pth) | N/A | N/A | 83.50 | [config](benchmarks/swin-base-w7_8xb256-coslr-100e_in1k.py) | N/A | -| `swin-base-w6_simmim-800e-pre_8xb256-coslr-100e_in1k-192px` | [SIMMIM 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192_20220916-a0e931ac.pth) | N/A | N/A | 83.80 | [config](benchmarks/swin-base-w6_8xb256-coslr-100e_in1k-192px.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192/swin-base_ft-8xb256-coslr-100e_in1k-224/swin-base_ft-8xb256-coslr-100e_in1k-224_20221208-155cc6e6.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192/swin-base_ft-8xb256-coslr-100e_in1k-224/swin-base_ft-8xb256-coslr-100e_in1k-224_20221208-155cc6e6.json) | -| `swin-large-w14_simmim-800e-pre_8xb256-coslr-100e_in1k` | [SIMMIM 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192_20220916-4ad216d3.pth) | N/A | N/A | 84.80 | [config](benchmarks/swin-large-w14_8xb256-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192/swin-large_ft-8xb256-coslr-ws14-100e_in1k-224/swin-large_ft-8xb256-coslr-ws14-100e_in1k-224_20220916-d4865790.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192/swin-large_ft-8xb256-coslr-ws14-100e_in1k-224/swin-large_ft-8xb256-coslr-ws14-100e_in1k-224_20220916-d4865790.json) | +| `swin-base-w6_simmim-100e-pre_8xb256-coslr-100e_in1k-192px` | [SIMMIM 100-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192_20220829-0e15782d.pth) | 87.75 | 11.30 | 82.70 | [config](benchmarks/swin-base-w6_8xb256-coslr-100e_in1k-192px.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192/swin-base_ft-8xb256-coslr-100e_in1k/swin-base_ft-8xb256-coslr-100e_in1k_20220829-9cf23aa1.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192/swin-base_ft-8xb256-coslr-100e_in1k/swin-base_ft-8xb256-coslr-100e_in1k_20220829-9cf23aa1.json) | +| `swin-base-w7_simmim-100e-pre_8xb256-coslr-100e_in1k` | [SIMMIM 100-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192_20220829-0e15782d.pth) | 87.77 | 15.47 | 83.50 | [config](benchmarks/swin-base-w7_8xb256-coslr-100e_in1k.py) | N/A | +| `swin-base-w6_simmim-800e-pre_8xb256-coslr-100e_in1k-192px` | [SIMMIM 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192_20220916-a0e931ac.pth) | 87.77 | 15.47 | 83.80 | [config](benchmarks/swin-base-w7_8xb256-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192/swin-base_ft-8xb256-coslr-100e_in1k-224/swin-base_ft-8xb256-coslr-100e_in1k-224_20221208-155cc6e6.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192/swin-base_ft-8xb256-coslr-100e_in1k-224/swin-base_ft-8xb256-coslr-100e_in1k-224_20221208-155cc6e6.json) | +| `swin-large-w14_simmim-800e-pre_8xb256-coslr-100e_in1k` | [SIMMIM 800-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192_20220916-4ad216d3.pth) | 196.85 | 38.85 | 84.80 | [config](benchmarks/swin-large-w14_8xb256-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192/swin-large_ft-8xb256-coslr-ws14-100e_in1k-224/swin-large_ft-8xb256-coslr-ws14-100e_in1k-224_20220916-d4865790.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192/swin-large_ft-8xb256-coslr-ws14-100e_in1k-224/swin-large_ft-8xb256-coslr-ws14-100e_in1k-224_20220916-d4865790.json) | ## Citation diff --git a/configs/simmim/benchmarks/swin-base-w6_8xb256-coslr-100e_in1k-192px.py b/configs/simmim/benchmarks/swin-base-w6_8xb256-coslr-100e_in1k-192px.py index 636cbd88..8da8c5d6 100644 --- a/configs/simmim/benchmarks/swin-base-w6_8xb256-coslr-100e_in1k-192px.py +++ b/configs/simmim/benchmarks/swin-base-w6_8xb256-coslr-100e_in1k-192px.py @@ -14,7 +14,7 @@ model = dict( # optimizer settings optim_wrapper = dict( type='AmpOptimWrapper', - optimizer=dict(type='AdamW', lr=5e-3), + optimizer=dict(type='AdamW', lr=5e-3, weight_decay=0.05), clip_grad=dict(max_norm=5.0), constructor='LearningRateDecayOptimWrapperConstructor', paramwise_cfg=dict( diff --git a/configs/simmim/benchmarks/swin-base-w7_8xb256-coslr-100e_in1k.py b/configs/simmim/benchmarks/swin-base-w7_8xb256-coslr-100e_in1k.py index ea789c2c..dcf62273 100644 --- a/configs/simmim/benchmarks/swin-base-w7_8xb256-coslr-100e_in1k.py +++ b/configs/simmim/benchmarks/swin-base-w7_8xb256-coslr-100e_in1k.py @@ -57,7 +57,7 @@ model = dict( # optimizer settings optim_wrapper = dict( type='AmpOptimWrapper', - optimizer=dict(type='AdamW', lr=5e-3), + optimizer=dict(type='AdamW', lr=5e-3, weight_decay=0.05), clip_grad=dict(max_norm=5.0), constructor='LearningRateDecayOptimWrapperConstructor', paramwise_cfg=dict( diff --git a/configs/simmim/benchmarks/swin-large-w14_8xb256-coslr-100e_in1k.py b/configs/simmim/benchmarks/swin-large-w14_8xb256-coslr-100e_in1k.py index 60d648d9..d1f00518 100644 --- a/configs/simmim/benchmarks/swin-large-w14_8xb256-coslr-100e_in1k.py +++ b/configs/simmim/benchmarks/swin-large-w14_8xb256-coslr-100e_in1k.py @@ -60,7 +60,7 @@ model = dict( # optimizer settings optim_wrapper = dict( type='AmpOptimWrapper', - optimizer=dict(type='AdamW', lr=5e-3), + optimizer=dict(type='AdamW', lr=5e-3, weight_decay=0.05), clip_grad=dict(max_norm=5.0), constructor='LearningRateDecayOptimWrapperConstructor', paramwise_cfg=dict( diff --git a/configs/simmim/metafile.yml b/configs/simmim/metafile.yml index ba7afa79..19d9446c 100644 --- a/configs/simmim/metafile.yml +++ b/configs/simmim/metafile.yml @@ -8,88 +8,108 @@ Collections: Architecture: - Swin Paper: - URL: https://arxiv.org/abs/2111.09886 - Title: "SimMIM: A Simple Framework for Masked Image Modeling" + Title: 'SimMIM: A Simple Framework for Masked Image Modeling' + URL: https://arxiv.org/abs/2111.09886 README: configs/simmim/README.md Models: - Name: simmim_swin-base-w6_8xb256-amp-coslr-100e_in1k-192px - In Collection: SimMIM Metadata: Epochs: 100 Batch Size: 2048 + FLOPs: 18832161792 + Parameters: 89874104 + Training Data: ImageNet-1k + In Collection: SimMIM Results: null - Config: configs/simmim/simmim_swin-base-w6_8xb256-amp-coslr-100e_in1k-192px.py Weights: https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192_20220829-0e15782d.pth + Config: configs/simmim/simmim_swin-base-w6_8xb256-amp-coslr-100e_in1k-192px.py Downstream: - swin-base-w6_simmim-100e-pre_8xb256-coslr-100e_in1k-192px - swin-base-w7_simmim-100e-pre_8xb256-coslr-100e_in1k - - Name: swin-base-w6_simmim-100e-pre_8xb256-coslr-100e_in1k-192px - In Collection: SimMIM + - Name: simmim_swin-base-w6_16xb128-amp-coslr-800e_in1k-192px Metadata: Epochs: 100 Batch Size: 2048 + FLOPs: 18832161792 + Parameters: 89874104 + Training Data: ImageNet-1k + In Collection: SimMIM + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192_20220916-a0e931ac.pth + Config: configs/simmim/simmim_swin-base-w6_16xb128-amp-coslr-800e_in1k-192px.py + Downstream: + - swin-base-w6_simmim-800e-pre_8xb256-coslr-100e_in1k-192px + - Name: simmim_swin-large-w12_16xb128-amp-coslr-800e_in1k-192px + Metadata: + Epochs: 100 + Batch Size: 2048 + FLOPs: 55849130496 + Parameters: 199920372 + Training Data: ImageNet-1k + In Collection: SimMIM + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192_20220916-4ad216d3.pth + Config: configs/simmim/simmim_swin-large-w12_16xb128-amp-coslr-800e_in1k-192px.py + Downstream: + - swin-large-w14_simmim-800e-pre_8xb256-coslr-100e_in1k + - Name: swin-base-w6_simmim-100e-pre_8xb256-coslr-100e_in1k-192px + Metadata: + Epochs: 100 + Batch Size: 2048 + FLOPs: 11303976960 + Parameters: 87750176 + Training Data: ImageNet-1k + In Collection: SimMIM Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 82.7 - Config: configs/simmim/benchmarks/swin-base-w6_8xb256-coslr-100e_in1k-192px.py Weights: https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_8xb256-amp-coslr-100e_in1k-192/swin-base_ft-8xb256-coslr-100e_in1k/swin-base_ft-8xb256-coslr-100e_in1k_20220829-9cf23aa1.pth + Config: configs/simmim/benchmarks/swin-base-w6_8xb256-coslr-100e_in1k-192px.py - Name: swin-base-w7_simmim-100e-pre_8xb256-coslr-100e_in1k - In Collection: SimMIM Metadata: Epochs: 100 Batch Size: 2048 + FLOPs: 15466852352 + Parameters: 87768224 + Training Data: ImageNet-1k + In Collection: SimMIM Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 83.5 + Weights: null Config: configs/simmim/benchmarks/swin-base-w7_8xb256-coslr-100e_in1k.py - - - Name: simmim_swin-base-w6_16xb128-amp-coslr-800e_in1k-192px - In Collection: SimMIM - Metadata: - Epochs: 100 - Batch Size: 2048 - Results: null - Config: configs/simmim/simmim_swin-base-w6_16xb128-amp-coslr-800e_in1k-192px.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192_20220916-a0e931ac.pth - Downstream: - - swin-base-w6_simmim-800e-pre_8xb256-coslr-100e_in1k-192px - Name: swin-base-w6_simmim-800e-pre_8xb256-coslr-100e_in1k-192px - In Collection: SimMIM Metadata: Epochs: 100 Batch Size: 2048 + FLOPs: 15466852352 + Parameters: 87768224 + Training Data: ImageNet-1k + In Collection: SimMIM Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 83.8 - Config: configs/simmim/benchmarks/swin-base-w7_8xb256-coslr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-base_16xb128-amp-coslr-800e_in1k-192/swin-base_ft-8xb256-coslr-100e_in1k-224/swin-base_ft-8xb256-coslr-100e_in1k-224_20221208-155cc6e6.pth - - - Name: simmim_swin-large-w12_16xb128-amp-coslr-800e_in1k-192px - In Collection: SimMIM - Metadata: - Epochs: 100 - Batch Size: 2048 - Results: null - Config: configs/simmim/simmim_swin-large-w12_16xb128-amp-coslr-800e_in1k-192px.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192_20220916-4ad216d3.pth - Downstream: - - swin-large-w14_simmim-800e-pre_8xb256-coslr-100e_in1k + Config: configs/simmim/benchmarks/swin-base-w7_8xb256-coslr-100e_in1k.py - Name: swin-large-w14_simmim-800e-pre_8xb256-coslr-100e_in1k - In Collection: SimMIM Metadata: Epochs: 100 Batch Size: 2048 + FLOPs: 38853083136 + Parameters: 196848316 + Training Data: ImageNet-1k + In Collection: SimMIM Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 84.8 - Config: configs/simmim/benchmarks/swin-large-w14_8xb256-coslr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/simmim/simmim_swin-large_16xb128-amp-coslr-800e_in1k-192/swin-large_ft-8xb256-coslr-ws14-100e_in1k-224/swin-large_ft-8xb256-coslr-ws14-100e_in1k-224_20220916-d4865790.pth + Config: configs/simmim/benchmarks/swin-large-w14_8xb256-coslr-100e_in1k.py diff --git a/configs/simsiam/README.md b/configs/simsiam/README.md index b6afea6c..6c575d5c 100644 --- a/configs/simsiam/README.md +++ b/configs/simsiam/README.md @@ -65,15 +65,15 @@ python tools/test.py configs/simsiam/benchmarks/resnet50_8xb512-linear-coslr-90e | Model | Params (M) | Flops (G) | Config | Download | | :--------------------------------------- | :--------: | :-------: | :-------------------------------------------------: | :----------------------------------------------------------------------------------------: | -| `simsiam_resnet50_8xb32-coslr-100e_in1k` | N/A | N/A | [config](simsiam_resnet50_8xb32-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k/simsiam_resnet50_8xb32-coslr-100e_in1k_20220825-d07cb2e6.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k/simsiam_resnet50_8xb32-coslr-100e_in1k_20220825-d07cb2e6.json) | -| `simsiam_resnet50_8xb32-coslr-200e_in1k` | N/A | N/A | [config](simsiam_resnet50_8xb32-coslr-200e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k/simsiam_resnet50_8xb32-coslr-200e_in1k_20220825-efe91299.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k/simsiam_resnet50_8xb32-coslr-200e_in1k_20220825-efe91299.json) | +| `simsiam_resnet50_8xb32-coslr-100e_in1k` | 38.20 | 4.11 | [config](simsiam_resnet50_8xb32-coslr-100e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k/simsiam_resnet50_8xb32-coslr-100e_in1k_20220825-d07cb2e6.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k/simsiam_resnet50_8xb32-coslr-100e_in1k_20220825-d07cb2e6.json) | +| `simsiam_resnet50_8xb32-coslr-200e_in1k` | 38.20 | 4.11 | [config](simsiam_resnet50_8xb32-coslr-200e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k/simsiam_resnet50_8xb32-coslr-200e_in1k_20220825-efe91299.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k/simsiam_resnet50_8xb32-coslr-200e_in1k_20220825-efe91299.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Config | Download | | :---------------------------------------- | :------------------------------------------: | :--------: | :-------: | :-------: | :----------------------------------------: | :-------------------------------------------: | -| `resnet50_simsiam-100e-pre_8xb512-linear-coslr-90e_in1k` | [SIMSIAM 100-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k/simsiam_resnet50_8xb32-coslr-100e_in1k_20220825-d07cb2e6.pth) | N/A | N/A | 68.30 | [config](benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-f53ba400.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-f53ba400.json) | -| `resnet50_simsiam-200e-pre_8xb512-linear-coslr-90e_in1k` | [SIMSIAM 200-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k/simsiam_resnet50_8xb32-coslr-200e_in1k_20220825-efe91299.pth) | N/A | N/A | 69.80 | [config](benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-519b5135.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-519b5135.json) | +| `resnet50_simsiam-100e-pre_8xb512-linear-coslr-90e_in1k` | [SIMSIAM 100-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k/simsiam_resnet50_8xb32-coslr-100e_in1k_20220825-d07cb2e6.pth) | 25.56 | 4.11 | 68.30 | [config](benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-f53ba400.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-f53ba400.json) | +| `resnet50_simsiam-200e-pre_8xb512-linear-coslr-90e_in1k` | [SIMSIAM 200-Epochs](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k/simsiam_resnet50_8xb32-coslr-200e_in1k_20220825-efe91299.pth) | 25.56 | 4.11 | 69.80 | [config](benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-519b5135.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-519b5135.json) | ## Citation diff --git a/configs/simsiam/metafile.yml b/configs/simsiam/metafile.yml index 6554011b..40f67065 100644 --- a/configs/simsiam/metafile.yml +++ b/configs/simsiam/metafile.yml @@ -9,53 +9,64 @@ Collections: Architecture: - ResNet Paper: - URL: https://arxiv.org/abs/2011.10566 - Title: "Exploring simple siamese representation learning" + Title: Exploring simple siamese representation learning + URL: https://arxiv.org/abs/2011.10566 README: configs/simsiam/README.md Models: - Name: simsiam_resnet50_8xb32-coslr-100e_in1k - In Collection: SimSiam Metadata: Epochs: 100 Batch Size: 256 + FLOPs: 4109364224 + Parameters: 38199360 + Training Data: ImageNet-1k + In Collection: SimSiam Results: null - Config: configs/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k/simsiam_resnet50_8xb32-coslr-100e_in1k_20220825-d07cb2e6.pth + Config: configs/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k.py Downstream: - resnet50_simsiam-100e-pre_8xb512-linear-coslr-90e_in1k - - Name: resnet50_simsiam-100e-pre_8xb512-linear-coslr-90e_in1k + - Name: simsiam_resnet50_8xb32-coslr-200e_in1k + Metadata: + Epochs: 200 + Batch Size: 256 + FLOPs: 4109364224 + Parameters: 38199360 + Training Data: ImageNet-1k In Collection: SimSiam + Results: null + Weights: https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k/simsiam_resnet50_8xb32-coslr-200e_in1k_20220825-efe91299.pth + Config: configs/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k.py + Downstream: + - resnet50_simsiam-200e-pre_8xb512-linear-coslr-90e_in1k + - Name: resnet50_simsiam-100e-pre_8xb512-linear-coslr-90e_in1k Metadata: Epochs: 90 Batch Size: 4096 + FLOPs: 4109464576 + Parameters: 25557032 + Training Data: ImageNet-1k + In Collection: SimSiam Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 68.3 - Config: configs/simsiam/benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-f53ba400.pth - - - Name: simsiam_resnet50_8xb32-coslr-200e_in1k - In Collection: SimSiam - Metadata: - Epochs: 200 - Batch Size: 256 - Results: null - Config: configs/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k.py - Weights: https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k/simsiam_resnet50_8xb32-coslr-200e_in1k_20220825-efe91299.pth - Downstream: - - resnet50_simsiam-200e-pre_8xb512-linear-coslr-90e_in1k + Config: configs/simsiam/benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py - Name: resnet50_simsiam-200e-pre_8xb512-linear-coslr-90e_in1k - In Collection: SimSiam Metadata: Epochs: 90 Batch Size: 4096 + FLOPs: 4109464576 + Parameters: 25557032 + Training Data: ImageNet-1k + In Collection: SimSiam Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 69.8 - Config: configs/simsiam/benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k/resnet50_linear-8xb512-coslr-90e_in1k/resnet50_linear-8xb512-coslr-90e_in1k_20220825-519b5135.pth + Config: configs/simsiam/benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py diff --git a/configs/swav/README.md b/configs/swav/README.md index c84c1f99..71f91943 100644 --- a/configs/swav/README.md +++ b/configs/swav/README.md @@ -65,13 +65,13 @@ python tools/test.py configs/swav/benchmarks/resnet50_8xb512-linear-coslr-90e_in | Model | Params (M) | Flops (G) | Config | Download | | :----------------------------------------------------- | :--------: | :-------: | :------------------------------------------------------------: | :---------------------------------------------------------------: | -| `swav_resnet50_8xb32-mcrop-coslr-200e_in1k-224px-96px` | N/A | N/A | [config](swav_resnet50_8xb32-mcrop-coslr-200e_in1k-224px-96px.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/swav/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96_20220825-5b3fc7fc.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/swav/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96_20220825-5b3fc7fc.json) | +| `swav_resnet50_8xb32-mcrop-coslr-200e_in1k-224px-96px` | 28.35 | 4.11 | [config](swav_resnet50_8xb32-mcrop-coslr-200e_in1k-224px-96px.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/swav/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96_20220825-5b3fc7fc.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/swav/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96_20220825-5b3fc7fc.json) | ### Image Classification on ImageNet-1k | Model | Pretrain | Params (M) | Flops (G) | Top-1 (%) | Config | Download | | :---------------------------------------- | :------------------------------------------: | :--------: | :-------: | :-------: | :----------------------------------------: | :-------------------------------------------: | -| `resnet50_swav-pre_8xb32-linear-coslr-100e_in1k` | [SWAV](https://download.openmmlab.com/mmselfsup/1.x/swav/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96_20220825-5b3fc7fc.pth) | N/A | N/A | 70.50 | [config](benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/swav/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96/resnet50_linear-8xb32-coslr-100e_in1k/resnet50_linear-8xb32-coslr-100e_in1k_20220825-80341e08.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/swav/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96/resnet50_linear-8xb32-coslr-100e_in1k/resnet50_linear-8xb32-coslr-100e_in1k_20220825-80341e08.json) | +| `resnet50_swav-pre_8xb32-linear-coslr-100e_in1k` | [SWAV](https://download.openmmlab.com/mmselfsup/1.x/swav/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96_20220825-5b3fc7fc.pth) | 25.56 | 4.11 | 70.50 | [config](benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py) | [model](https://download.openmmlab.com/mmselfsup/1.x/swav/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96/resnet50_linear-8xb32-coslr-100e_in1k/resnet50_linear-8xb32-coslr-100e_in1k_20220825-80341e08.pth) \| [log](https://download.openmmlab.com/mmselfsup/1.x/swav/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96/resnet50_linear-8xb32-coslr-100e_in1k/resnet50_linear-8xb32-coslr-100e_in1k_20220825-80341e08.json) | ## Citation diff --git a/configs/swav/metafile.yml b/configs/swav/metafile.yml index a4f1325f..5bc1252a 100644 --- a/configs/swav/metafile.yml +++ b/configs/swav/metafile.yml @@ -9,30 +9,36 @@ Collections: - ResNet - SwAV Paper: - URL: https://arxiv.org/abs/2006.09882 - Title: "Unsupervised Learning of Visual Features by Contrasting Cluster Assignments" + Title: Unsupervised Learning of Visual Features by Contrasting Cluster Assignments + URL: https://arxiv.org/abs/2006.09882 README: configs/swav/README.md Models: - Name: swav_resnet50_8xb32-mcrop-coslr-200e_in1k-224px-96px - In Collection: SwAV Metadata: Epochs: 200 Batch Size: 256 + FLOPs: 4109364224 + Parameters: 28354752 + Training Data: ImageNet-1k + In Collection: SwAV Results: null - Config: configs/swav/swav_resnet50_8xb32-mcrop-coslr-200e_in1k-224px-96px.py Weights: https://download.openmmlab.com/mmselfsup/1.x/swav/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96_20220825-5b3fc7fc.pth + Config: configs/swav/swav_resnet50_8xb32-mcrop-coslr-200e_in1k-224px-96px.py Downstream: - resnet50_swav-pre_8xb32-linear-coslr-100e_in1k - Name: resnet50_swav-pre_8xb32-linear-coslr-100e_in1k - In Collection: SwAV Metadata: Epochs: 100 Batch Size: 256 + FLOPs: 4109464576 + Parameters: 25557032 + Training Data: ImageNet-1k + In Collection: SwAV Results: - Task: Image Classification Dataset: ImageNet-1k Metrics: Top 1 Accuracy: 70.5 - Config: configs/swav/benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py Weights: https://download.openmmlab.com/mmselfsup/1.x/swav/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96/resnet50_linear-8xb32-coslr-100e_in1k/resnet50_linear-8xb32-coslr-100e_in1k_20220825-80341e08.pth + Config: configs/swav/benchmarks/resnet50_8xb512-linear-coslr-90e_in1k.py diff --git a/docs/en/stat.py b/docs/en/stat.py index a270d073..e0691b97 100755 --- a/docs/en/stat.py +++ b/docs/en/stat.py @@ -145,14 +145,8 @@ def generate_summary_table(models): if model.results is None: continue name = model.name - if model.metadata.parameters is not None: - params = f'{model.metadata.parameters / 1e6:.2f}' # Params - else: - params = '' - if model.metadata.flops is not None: - flops = f'{model.metadata.flops / 1e9:.2f}' # Params - else: - flops = '' + params = f'{model.metadata.parameters / 1e6:.2f}' # Params + flops = f'{model.metadata.flops / 1e9:.2f}' # Params result = model.results[0] top1 = result.metrics.get('Top 1 Accuracy') top5 = result.metrics.get('Top 5 Accuracy') diff --git a/docs/zh_CN/stat.py b/docs/zh_CN/stat.py index a3939557..12efc7a3 100755 --- a/docs/zh_CN/stat.py +++ b/docs/zh_CN/stat.py @@ -145,14 +145,8 @@ def generate_summary_table(models): if model.results is None: continue name = model.name - if model.metadata.parameters is not None: - params = f'{model.metadata.parameters / 1e6:.2f}' # Params - else: - params = '' - if model.metadata.flops is not None: - flops = f'{model.metadata.flops / 1e9:.2f}' # Params - else: - flops = '' + params = f'{model.metadata.parameters / 1e6:.2f}' # Params + flops = f'{model.metadata.flops / 1e9:.2f}' # Params result = model.results[0] top1 = result.metrics.get('Top 1 Accuracy') top5 = result.metrics.get('Top 5 Accuracy') diff --git a/mmpretrain/apis/model.py b/mmpretrain/apis/model.py index 02bbe9c2..a36c553a 100644 --- a/mmpretrain/apis/model.py +++ b/mmpretrain/apis/model.py @@ -282,9 +282,9 @@ def list_models(pattern=None, exclude_patterns=None, task=None) -> List[str]: task_matches = [] for key in matches: metainfo = ModelHub._models_dict[key] - if metainfo.results is None: - continue - if task in [result.task for result in metainfo.results]: + if metainfo.results is None and task == 'null': + task_matches.append(key) + elif task in [result.task for result in metainfo.results]: task_matches.append(key) matches = task_matches