mirror of
https://github.com/open-mmlab/mmselfsup.git
synced 2025-06-03 14:59:38 +08:00
* [Fix]: Fix mmcls upgrade bug (#235) * [Feature]: Add multi machine dist_train (#232) * [Feature]: Add multi machine dist_train * [Fix]: Change bash to sh * [Fix]: Fix missing sh suffix * [Refactor]: Change bash to sh * [Refactor] Add unit test (#234) * [Refactor] add unit test * update workflow * update * [Fix] fix lint * update test * refactor moco and densecl unit test * fix lint * add unit test * update unit test * remove modification * [Feature]: Add MAE metafile (#238) * [Feature]: Add MAE metafile * [Fix]: Fix lint * [Fix]: Change LARS to AdamW in the metafile of MAE * [Fix] fix codecov bug (#241) * [Fix] fix codecov bug * update comment * [Refactor] Using MMCls backbones (#233) * [Refactor] using backbones from MMCls * [Refactor] modify the unit test * [Fix] modify default setting of out_indices * [Docs] fix lint * [Refactor] modify super init * [Refactore] remove res_layer.py * using mmcv PatchEmbed * [Fix]: Fix outdated problem (#249) * [Fix]: Fix outdated problem * [Fix]: Update MoCov3 bibtex * [Fix]: Use abs path in README * [Fix]: Reformat MAE bibtex * [Fix]: Reformat MoCov3 bibtex * [Feature] Resume from the latest checkpoint automatically. (#245) * [Feature] Resume from the latest checkpoint automatically. * fix windows path problem * fix lint * add code reference * [Docs] add docstring for ResNet and ResNeXt (#252) * [Feature] support KNN benchmark (#243) * [Feature] support KNN benchmark * [Fix] add docstring and multi-machine testing * [Fix] fix lint * [Fix] change args format and check init_cfg * [Docs] add benchmark tutorial * [Docs] add benchmark results * [Feature]: SimMIM supported (#239) * [Feature]: SimMIM Pretrain * [Feature]: Add mix precision and 16x128 config * [Fix]: Fix config import bug * [Fix]: Fix config bug * [Feature]: Simim Finetune * [Fix]: Log every 100 * [Fix]: Fix eval problem * [Feature]: Add docstring for simmim * [Refactor]: Merge layer wise lr decay to Default constructor * [Fix]:Fix simmim evaluation bug * [Fix]: Change model to be compatible to latest version of mmcls * [Fix]: Fix lint * [Fix]: Rewrite forward_train for classification cls * [Feature]: Add UT * [Fix]: Fix lint * [Feature]: Add 32 gpus training for simmim ft * [Fix]: Rename mmcls classifier wrapper * [Fix]: Add docstring to SimMIMNeck * [Feature]: Generate docstring for the forward function of simmim encoder * [Fix]: Rewrite the class docstring for constructor * [Fix]: Fix lint * [Fix]: Fix UT * [Fix]: Reformat config * [Fix]: Add img resolution * [Feature]: Add readme and metafile * [Fix]: Fix typo in README.md * [Fix]: Change BlackMaskGen to BlockwiseMaskGenerator * [Fix]: Change the name of SwinForSimMIM * [Fix]: Delete irrelevant files * [Feature]: Create extra transformerfinetuneconstructor * [Fix]: Fix lint * [Fix]: Update SimMIM README * [Fix]: Change SimMIMPretrainHead to SimMIMHead * [Fix]: Fix the docstring of ft constructor * [Fix]: Fix UT * [Fix]: Recover deletion Co-authored-by: Your <you@example.com> * [Fix] add seed to distributed sampler (#250) * [Fix] add seed to distributed sampler * fix lint * [Feature] Add ImageNet21k (#225) * solve memory leak by limited implementation * fix lint problem Co-authored-by: liming <liming.ai@bytedance.com> * [Refactor] change args format to '--a-b' (#253) * [Refactor] change args format to `--a-b` * modify tsne script * modify 'sh' files * modify getting_started.md * modify getting_started.md * [Fix] fix 'mkdir' error in prepare_voc07_cls.sh (#261) * [Fix] fix positional parameter error (#260) * [Fix] fix command errors in benchmarks tutorial (#263) * [Docs] add brief installation steps in README.md (#265) * [Docs] add colab tutorial (#247) * [Docs] add colab tutorial * fix lint * modify the colab tutorial, using API to train the model * modify the description * remove # * modify the command * [Docs] translate 6_benchmarks.md into Chinese (#262) * [Docs] translate 6_benchmarks.md into Chinese * Update 6_benchmarks.md change 基准 to 基准评测 * Update 6_benchmarks.md (1) Add Chinese translation of ‘1 folder for ImageNet nearest-neighbor classification task’ (2) 数据预准备 -> 数据准备 * [Docs] remove install scripts in README (#267) * [Docs] Update version information in dev branch (#268) * update version to v0.8.0 * fix lint * [Fix]: Install the latest mmcls * [Fix]: Add SimMIM in RAEDME Co-authored-by: Yuan Liu <30762564+YuanLiuuuuuu@users.noreply.github.com> Co-authored-by: Jiahao Xie <52497952+Jiahao000@users.noreply.github.com> Co-authored-by: Your <you@example.com> Co-authored-by: Ming Li <73068772+mitming@users.noreply.github.com> Co-authored-by: liming <liming.ai@bytedance.com> Co-authored-by: RenQin <45731309+soonera@users.noreply.github.com> Co-authored-by: YuanLiuuuuuu <3463423099@qq.com>
56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
# Copyright (c) OpenMMLab. All rights reserved.
|
|
import os.path as osp
|
|
import tempfile
|
|
|
|
import pytest
|
|
import torch
|
|
|
|
from mmselfsup.utils.misc import find_latest_checkpoint, tensor2imgs
|
|
|
|
|
|
def test_tensor2imgs():
|
|
with pytest.raises(AssertionError):
|
|
tensor2imgs(torch.rand((3, 16, 16)))
|
|
fake_tensor = torch.rand((3, 3, 16, 16))
|
|
fake_imgs = tensor2imgs(fake_tensor)
|
|
assert len(fake_imgs) == 3
|
|
assert fake_imgs[0].shape == (16, 16, 3)
|
|
|
|
|
|
def test_find_latest_checkpoint():
|
|
with tempfile.TemporaryDirectory() as tmpdir:
|
|
path = tmpdir
|
|
latest = find_latest_checkpoint(path)
|
|
# There are no checkpoints in the path.
|
|
assert latest is None
|
|
|
|
path = osp.join(tmpdir, 'none')
|
|
latest = find_latest_checkpoint(path)
|
|
# The path does not exist.
|
|
assert latest is None
|
|
|
|
with tempfile.TemporaryDirectory() as tmpdir:
|
|
with open(osp.join(tmpdir, 'latest.pth'), 'w') as f:
|
|
f.write('latest')
|
|
path = tmpdir
|
|
latest = find_latest_checkpoint(path)
|
|
assert latest == osp.join(tmpdir, 'latest.pth')
|
|
|
|
with tempfile.TemporaryDirectory() as tmpdir:
|
|
with open(osp.join(tmpdir, 'iter_4000.pth'), 'w') as f:
|
|
f.write('iter_4000')
|
|
with open(osp.join(tmpdir, 'iter_8000.pth'), 'w') as f:
|
|
f.write('iter_8000')
|
|
path = tmpdir
|
|
latest = find_latest_checkpoint(path)
|
|
assert latest == osp.join(tmpdir, 'iter_8000.pth')
|
|
|
|
with tempfile.TemporaryDirectory() as tmpdir:
|
|
with open(osp.join(tmpdir, 'epoch_1.pth'), 'w') as f:
|
|
f.write('epoch_1')
|
|
with open(osp.join(tmpdir, 'epoch_2.pth'), 'w') as f:
|
|
f.write('epoch_2')
|
|
path = tmpdir
|
|
latest = find_latest_checkpoint(path)
|
|
assert latest == osp.join(tmpdir, 'epoch_2.pth')
|