From 230ff6c9adbb1c78a0c5fba4054d17890fc0b66e Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Tue, 7 Feb 2023 17:14:56 +0800 Subject: [PATCH 01/15] add ZeroOptimizer to optim --- mmengine/optim/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mmengine/optim/__init__.py b/mmengine/optim/__init__.py index 38426ea847..5fd4dbd241 100644 --- a/mmengine/optim/__init__.py +++ b/mmengine/optim/__init__.py @@ -2,7 +2,8 @@ from .optimizer import (OPTIM_WRAPPER_CONSTRUCTORS, OPTIMIZERS, AmpOptimWrapper, ApexOptimWrapper, DefaultOptimWrapperConstructor, OptimWrapper, - OptimWrapperDict, build_optim_wrapper) + OptimWrapperDict, ZeroRedundancyOptimizer, + build_optim_wrapper) # yapf: disable from .scheduler import (ConstantLR, ConstantMomentum, ConstantParamScheduler, CosineAnnealingLR, CosineAnnealingMomentum, @@ -29,5 +30,6 @@ '_ParamScheduler', 'OptimWrapper', 'AmpOptimWrapper', 'ApexOptimWrapper', 'OptimWrapperDict', 'OneCycleParamScheduler', 'OneCycleLR', 'PolyLR', 'PolyMomentum', 'PolyParamScheduler', 'ReduceOnPlateauLR', - 'ReduceOnPlateauMomentum', 'ReduceOnPlateauParamScheduler' + 'ReduceOnPlateauMomentum', 'ReduceOnPlateauParamScheduler', + 'ZeroRedundancyOptimizer' ] From 47c433bb2518907aa30712fffcd0acf474b4c701 Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Tue, 7 Feb 2023 17:52:25 +0800 Subject: [PATCH 02/15] resolve `duplicate label` warnings --- docs/en/conf.py | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/en/conf.py b/docs/en/conf.py index ea3aee3299..de24cfb121 100644 --- a/docs/en/conf.py +++ b/docs/en/conf.py @@ -44,7 +44,6 @@ 'sphinx.ext.intersphinx', 'sphinx.ext.napoleon', 'sphinx.ext.viewcode', - 'sphinx.ext.autosectionlabel', 'myst_parser', 'sphinx_copybutton', 'sphinx.ext.autodoc.typehints', From fcaacb15a285570c4e5e374a6069c97fd79aacf6 Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Tue, 7 Feb 2023 17:53:38 +0800 Subject: [PATCH 03/15] upgrade docutils && shpinx to resolve `unknown directive or role` warnings --- requirements/docs.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements/docs.txt b/requirements/docs.txt index 25d3f13546..7bd731bc97 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -1,8 +1,8 @@ -docutils==0.16.0 +docutils==0.17.1 myst-parser opencv-python -e git+https://github.com/open-mmlab/pytorch_sphinx_theme.git#egg=pytorch_sphinx_theme -sphinx==4.0.2 +sphinx==4.5.0 sphinx-copybutton sphinx_markdown_tables torch From 40b2a99f3c6189f5caaed51b6c36b38244985281 Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Tue, 7 Feb 2023 18:21:07 +0800 Subject: [PATCH 04/15] fix typo --- docs/en/advanced_tutorials/data_transform.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/advanced_tutorials/data_transform.md b/docs/en/advanced_tutorials/data_transform.md index 0eb4d22710..a15b9e4e20 100644 --- a/docs/en/advanced_tutorials/data_transform.md +++ b/docs/en/advanced_tutorials/data_transform.md @@ -15,7 +15,7 @@ processed data as a dictionary. A simple example is as belows: ```{note} In MMEngine, we don't have the implementations of data transforms. you can find the base data transform class and many other data transforms in MMCV. So you need to install MMCV before learning this tutorial, see the -{external+mmcv:doc}`MMCV installation guild `. +{external+mmcv:doc}`MMCV installation guide `. ``` ```python From 258fcbf52db39c8aed58d8110559cb2a1b86a6f2 Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Tue, 7 Feb 2023 18:22:03 +0800 Subject: [PATCH 05/15] resolve literal_block && heading warnings --- docs/en/advanced_tutorials/logging.md | 2 +- docs/en/get_started/introduction.md | 2 +- docs/en/notes/contributing.md | 28 +++++++++++++-------------- docs/en/switch_language.md | 4 ++-- docs/en/tutorials/runner.md | 2 +- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/docs/en/advanced_tutorials/logging.md b/docs/en/advanced_tutorials/logging.md index fe06e5c674..b1949d379a 100644 --- a/docs/en/advanced_tutorials/logging.md +++ b/docs/en/advanced_tutorials/logging.md @@ -70,7 +70,7 @@ The significant digits(`num_digits`) of the log is 4 by default. Output the value of all custom logs at the last iteration by default. ``` -```{warnning} +```{warning} log_processor outputs the epoch based log by default(`by_epoch=True`). To get an expected log matched with the `train_cfg`, we should set the same value for `by_epoch` in `train_cfg` and `log_processor`. ``` diff --git a/docs/en/get_started/introduction.md b/docs/en/get_started/introduction.md index b90cc15460..1c3457ffb7 100644 --- a/docs/en/get_started/introduction.md +++ b/docs/en/get_started/introduction.md @@ -1,3 +1,3 @@ -## Introduction +# Introduction Coming soon. Please refer to [chinese documentation](https://mmengine.readthedocs.io/zh_CN/latest/get_started/installation.html). diff --git a/docs/en/notes/contributing.md b/docs/en/notes/contributing.md index 912f2c9041..d51a308399 100644 --- a/docs/en/notes/contributing.md +++ b/docs/en/notes/contributing.md @@ -1,4 +1,4 @@ -## Contributing to OpenMMLab +# Contributing to OpenMMLab Welcome to the MMEngine community, we are committed to building a cutting-edge computer vision foundational library and all kinds of contributions are welcomed, including but not limited to @@ -21,11 +21,11 @@ The steps to fix the bug of code implementation are as follows. You can directly post a pull request to fix documents. If you want to add a document, you should first create an issue to check if it is reasonable. -### Pull Request Workflow +## Pull Request Workflow If you're not familiar with Pull Request, don't worry! The following guidance will tell you how to create a Pull Request step by step. If you want to dive into the development mode of Pull Request, you can refer to the [official documents](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests). -#### 1. Fork and clone +### 1. Fork and clone If you are posting a pull request for the first time, you should fork the OpenMMLab repositories by clicking the **Fork** button in the top right corner of the GitHub page, and the forked repositories will appear under your GitHub profile. @@ -56,7 +56,7 @@ upstream git@github.com:open-mmlab/mmengine (push) Here's a brief introduction to origin and upstream. When we use "git clone", we create an "origin" remote by default, which points to the repository cloned from. As for "upstream", we add it ourselves to point to the target repository. Of course, if you don't like the name "upstream", you could name it as you wish. Usually, we'll push the code to "origin". If the pushed code conflicts with the latest code in official("upstream"), we should pull the latest code from upstream to resolve the conflicts, and then push to "origin" again. The posted Pull Request will be updated automatically. ``` -#### 2. Configure pre-commit +### 2. Configure pre-commit You should configure [pre-commit](https://pre-commit.com/#intro) in the local development environment to make sure the code style matches that of OpenMMLab. **Note**: The following code should be executed under the mmengine directory. @@ -87,7 +87,7 @@ If we want to commit our code bypassing the pre-commit hook, we can use the `--n git commit -m "xxx" --no-verify ``` -#### 3. Create a development branch +### 3. Create a development branch After configuring the pre-commit, we should create a branch based on the master branch to develop the new feature or fix the bug. The proposed branch name is `username/pr_name` @@ -101,7 +101,7 @@ In subsequent development, if the master branch of the local repository is behin git pull upstream master ``` -#### 4. Commit the code and pass the unit test +### 4. Commit the code and pass the unit test - MMEngine introduces mypy to do static type checking to increase the robustness of the code. Therefore, we need to add Type Hints to our code and pass the mypy check. If you are not familiar with Type Hints, you can refer to [this tutorial](https://docs.python.org/3/library/typing.html). @@ -119,7 +119,7 @@ git pull upstream master - If the documents are modified/added, we should check the rendering result referring to [guidance](#document-rendering) -#### 5. Push the code to remote +### 5. Push the code to remote We could push the local commits to remote after passing through the check of unit test and pre-commit. You can associate the local branch with remote branch by adding `-u` option. @@ -129,7 +129,7 @@ git push -u origin {branch_name} This will allow you to use the `git push` command to push code directly next time, without having to specify a branch or the remote repository. -#### 6. Create a Pull Request +### 6. Create a Pull Request (1) Create a pull request in GitHub's Pull request interface @@ -159,7 +159,7 @@ MMEngine will run unit test for the posted Pull Request on different platforms ( -#### 7. Resolve conflicts +### 7. Resolve conflicts If your local branch conflicts with the latest master branch of "upstream", you'll need to resolove them. There are two ways to do this: @@ -177,9 +177,9 @@ git merge upstream/master If you are very good at handling conflicts, then you can use rebase to resolve conflicts, as this will keep your commit logs tidy. If you are not familiar with `rebase`, then you can use `merge` to resolve conflicts. -### Guidance +## Guidance -#### Unit test +### Unit test We should also make sure the committed code will not decrease the coverage of unit test, we could run the following command to check the coverage of unit test: @@ -189,7 +189,7 @@ python -m coverage html # check file in htmlcov/index.html ``` -#### Document rendering +### Document rendering If the documents are modified/added, we should check the rendering result. We could install the dependencies and run the following command to render the documents and check the results: @@ -201,7 +201,7 @@ make html # check file in ./docs/zh_cn/_build/html/index.html ``` -### Python Code style +## Python Code style We adopt [PEP8](https://www.python.org/dev/peps/pep-0008/) as the preferred code style. @@ -220,7 +220,7 @@ We use [pre-commit hook](https://pre-commit.com/) that checks and formats for `f fixes `end-of-files`, `double-quoted-strings`, `python-encoding-pragma`, `mixed-line-ending`, sorts `requirments.txt` automatically on every commit. The config for a pre-commit hook is stored in [.pre-commit-config](./.pre-commit-config.yaml). -### PR Specs +## PR Specs 1. Use [pre-commit](https://pre-commit.com) hook to avoid issues of code style diff --git a/docs/en/switch_language.md b/docs/en/switch_language.md index e47b751e33..d41235e480 100644 --- a/docs/en/switch_language.md +++ b/docs/en/switch_language.md @@ -1,3 +1,3 @@ -## English +# English -## 简体中文 +# 简体中文 diff --git a/docs/en/tutorials/runner.md b/docs/en/tutorials/runner.md index 5ddb44ac58..feb619a930 100644 --- a/docs/en/tutorials/runner.md +++ b/docs/en/tutorials/runner.md @@ -355,7 +355,7 @@ When using config files, you typically don't need to manually register every mod When using config files, the implementations of your custom modules may be stored in separate files and thus not registered properly, which will lead to errors in the build process. You may find solutions in [Registry tutorial](./registry.md) by searching for `custom_imports`. ``` -```{warnings} +```{warning} Although sharing nearly the same codes, `from_cfg` and `__init__` differs in some default values like `env_cfg`. ``` From 5b881ca68de31125a6dd31b0cf349d60fecaed24 Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Tue, 7 Feb 2023 18:31:46 +0800 Subject: [PATCH 06/15] resolve json literal_block warnings --- docs/en/advanced_tutorials/basedataset.md | 20 ++++++++------------ docs/en/advanced_tutorials/config.md | 5 +++-- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/docs/en/advanced_tutorials/basedataset.md b/docs/en/advanced_tutorials/basedataset.md index 30103fe6ce..52238b0e5f 100644 --- a/docs/en/advanced_tutorials/basedataset.md +++ b/docs/en/advanced_tutorials/basedataset.md @@ -19,24 +19,20 @@ Here is an example of a JSON annotation file (where each raw data info contains ```json { - 'metainfo': + "metainfo": { - 'classes': ('cat', 'dog'), - ... + "classes": ["cat", "dog"] }, - 'data_list': + "data_list": [ { - 'img_path': "xxx/xxx_0.jpg", - 'img_label': 0, - ... + "img_path": "xxx/xxx_0.jpg", + "img_label": 0 }, { - 'img_path': "xxx/xxx_1.jpg", - 'img_label': 1, - ... - }, - ... + "img_path": "xxx/xxx_1.jpg", + "img_label": 1 + } ] } ``` diff --git a/docs/en/advanced_tutorials/config.md b/docs/en/advanced_tutorials/config.md index 77c3cf0eff..ee96025b18 100644 --- a/docs/en/advanced_tutorials/config.md +++ b/docs/en/advanced_tutorials/config.md @@ -352,15 +352,16 @@ optimizer: `resnet50_dump.json` -````json +```json {"optimizer": {"type": "SGD", "lr": 0.02, "momentum": 0.9, "weight_decay": 0.0001}, "model": {"type": "ResNet", "depth": 50}} +``` In addition, `dump` can also dump `cfg` loaded from a dictionary. ```python cfg = Config(dict(a=1, b=2)) cfg.dump('dump_dict.py') -```` +``` `dump_dict.py` From 9b273340f71e1d7c2880c722226f9b1c29f2673f Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Tue, 7 Feb 2023 18:36:54 +0800 Subject: [PATCH 07/15] resolve python literal_block warnings --- .../test_time_augmentation.md | 18 +++++++++--------- docs/en/advanced_tutorials/visualization.md | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/en/advanced_tutorials/test_time_augmentation.md b/docs/en/advanced_tutorials/test_time_augmentation.md index 992075f078..6abbd21b95 100644 --- a/docs/en/advanced_tutorials/test_time_augmentation.md +++ b/docs/en/advanced_tutorials/test_time_augmentation.md @@ -103,20 +103,20 @@ The following diagram illustrates this sequence of method calls: After data augmentation with TestTimeAug, the resulting data will have the following format: ```python -image1 = dict( +image1 = dict( inputs=[data_1_1, data_1_2], - data_sample=[data_sample1_1, data_sample1_2]) -) + data_sample=[data_sample1_1, data_sample1_2] +) -image2 = dict( +image2 = dict( inputs=[data_2_1, data_2_2], - data_sample=[data_sample2_1, data_sample2_2]) -) + data_sample=[data_sample2_1, data_sample2_2] +) -image3 = dict( +image3 = dict( inputs=[data_3_1, data_3_2], - data_sample=[data_sample3_1, data_sample3_2]) -) + data_sample=[data_sample3_1, data_sample3_2] +) ``` where `data_{i}_{j}` means the enhanced data,and `data_sample_{i}_{j}` means the ground truth of enhanced data. Then the data will be processed by `Dataloader`, which contributes to the following format: diff --git a/docs/en/advanced_tutorials/visualization.md b/docs/en/advanced_tutorials/visualization.md index 5d936aa46e..5f143dba5a 100644 --- a/docs/en/advanced_tutorials/visualization.md +++ b/docs/en/advanced_tutorials/visualization.md @@ -102,7 +102,7 @@ def draw_featmap( # the layout when multiple channels are expanded into multiple images arrangement: Tuple[int, int] = (5, 2), # scale the feature map - resize_shape:Optional[tuple] = None, + resize_shape: Optional[tuple] = None, # overlay ratio between input image and generated feature map alpha: float = 0.5, ) -> np.ndarray: From 22207695ce8f65ecca2b52c57633f9bdbd2f0e18 Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Tue, 7 Feb 2023 20:05:54 +0800 Subject: [PATCH 08/15] resolve bunches of reference warnings --- docs/en/advanced_tutorials/logging.md | 4 ++-- docs/en/advanced_tutorials/registry.md | 2 +- docs/en/design/logging.md | 2 +- docs/en/design/visualization.md | 32 +++++++++++++------------- docs/en/examples/train_a_gan.md | 4 ++-- docs/en/migration/model.md | 2 +- docs/en/migration/runner.md | 4 ++-- docs/en/migration/transform.md | 4 ++-- docs/en/notes/contributing.md | 4 ++-- docs/en/tutorials/model.md | 2 +- docs/en/tutorials/optim_wrapper.md | 2 +- docs/en/tutorials/runner.md | 2 +- 12 files changed, 32 insertions(+), 32 deletions(-) diff --git a/docs/en/advanced_tutorials/logging.md b/docs/en/advanced_tutorials/logging.md index b1949d379a..c8d4ca92aa 100644 --- a/docs/en/advanced_tutorials/logging.md +++ b/docs/en/advanced_tutorials/logging.md @@ -4,7 +4,7 @@ ## Flexible Logging System -Logging system is configured by passing a [LogProcessor](mmengine.logging.LogProcessor) to the runner. If no log processor is passed, the runner will use the default log processor, which is equivalent to: +Logging system is configured by passing a [LogProcessor](mmengine.runner.LogProcessor) to the runner. If no log processor is passed, the runner will use the default log processor, which is equivalent to: ```python log_processor = dict(window_size=10, by_epoch=True, custom_cfg=None, num_digits=4) @@ -191,7 +191,7 @@ runner.train() 08/21 03:17:26 - mmengine - INFO - Epoch(train) [1][20/25] lr: 1.0000e-02 eta: 0:00:00 time: 0.0024 data_time: 0.0010 loss1: 0.5464 loss2: 0.7251 loss: 1.2715 loss1_local_max: 2.8872 loss1_global_max: 2.8872 ``` -More examples can be found in [log_processor](mmengine.logging.LogProcessor). +More examples can be found in [log_processor](mmengine.runner.LogProcessor). ## Customize log diff --git a/docs/en/advanced_tutorials/registry.md b/docs/en/advanced_tutorials/registry.md index bbaa454d36..76cc9f9091 100644 --- a/docs/en/advanced_tutorials/registry.md +++ b/docs/en/advanced_tutorials/registry.md @@ -1,6 +1,6 @@ # Registry -OpenMMLab supports a rich collection of algorithms and datasets, therefore, many modules with similar functionality are implemented. For example, the implementations of `ResNet` and `SE-ResNet` are based on the classes `ResNet` and `SEResNet`, respectively, which have similar functions and interfaces and belong to the model components of the algorithm library. To manage these functionally similar modules, MMEngine implements the [registry](mmengine.registry.registry). Most of the algorithm libraries in OpenMMLab use `registry` to manage their modules, including [MMDetection](https://github.com/open-mmlab/mmdetection), [MMDetection3D](https://github.com/open-mmlab/mmdetection3d), [MMClassification](https://github.com/open-mmlab/mmclassification) and [MMEditing](https://github.com/open-mmlab/mmediting), etc. +OpenMMLab supports a rich collection of algorithms and datasets, therefore, many modules with similar functionality are implemented. For example, the implementations of `ResNet` and `SE-ResNet` are based on the classes `ResNet` and `SEResNet`, respectively, which have similar functions and interfaces and belong to the model components of the algorithm library. To manage these functionally similar modules, MMEngine implements the [registry](mmengine.registry.Registry). Most of the algorithm libraries in OpenMMLab use `registry` to manage their modules, including [MMDetection](https://github.com/open-mmlab/mmdetection), [MMDetection3D](https://github.com/open-mmlab/mmdetection3d), [MMClassification](https://github.com/open-mmlab/mmclassification) and [MMEditing](https://github.com/open-mmlab/mmediting), etc. ## What is a registry diff --git a/docs/en/design/logging.md b/docs/en/design/logging.md index 2e28cd0a9a..0029d5d49b 100644 --- a/docs/en/design/logging.md +++ b/docs/en/design/logging.md @@ -10,7 +10,7 @@ ![image](https://user-images.githubusercontent.com/57566630/163441489-47999f3a-3259-44ab-949c-77a8a599faa5.png) -Each scalar (losses, learning rates, etc.) during training is encapsulated by HistoryBuffer, managed by MessageHub in key-value pairs, formatted by LogProcessor and then exported to various visualization backends by [LoggerHook](mmengine.hook.LoggerHook). **In most cases, statistical methods of these scalars can be configured through the LogProcessor without understanding the data flow.** Before diving into the design of the logging system, please read through [logging tutorial](../advanced_tutorials/logging.md) first for familiarizing basic use cases. +Each scalar (losses, learning rates, etc.) during training is encapsulated by HistoryBuffer, managed by MessageHub in key-value pairs, formatted by LogProcessor and then exported to various visualization backends by [LoggerHook](mmengine.hooks.LoggerHook). **In most cases, statistical methods of these scalars can be configured through the LogProcessor without understanding the data flow.** Before diving into the design of the logging system, please read through [logging tutorial](../advanced_tutorials/logging.md) first for familiarizing basic use cases. ## HistoryBuffer diff --git a/docs/en/design/visualization.md b/docs/en/design/visualization.md index 745f16f25e..f9161d1447 100644 --- a/docs/en/design/visualization.md +++ b/docs/en/design/visualization.md @@ -29,22 +29,22 @@ The external interface of `Visualizer` can be divided into three categories. - [draw_bboxes](mmengine.visualization.Visualizer.draw_bboxes) draws a single or multiple bounding boxes - [draw_points](mmengine.visualization.Visualizer.draw_points) draws a single or multiple points - [draw_texts](mmengine.visualization.Visualizer.draw_texts) draws a single or multiple text boxes -- [draw_lines](mmengine.visualization.Visualizer.lines) draws a single or multiple line segments +- [draw_lines](mmengine.visualization.Visualizer.draw_lines) draws a single or multiple line segments - [draw_circles](mmengine.visualization.Visualizer.draw_circles) draws a single or multiple circles - [draw_polygons](mmengine.visualization.Visualizer.draw_polygons) draws a single or multiple polygons -- [draw_binary_masks](mmengine.visualization.Visualizer.draw_binary_mask) draws single or multiple binary masks +- [draw_binary_masks](mmengine.visualization.Visualizer.draw_binary_masks) draws single or multiple binary masks - [draw_featmap](mmengine.visualization.Visualizer.draw_featmap) draws feature map (**static method**) The above APIs can be called in a chain except for `draw_featmap` because the image size may change after this method is called. To avoid confusion, `draw_featmap` is a static method. 2. Storage APIs -- [add_config](mmengine.visualization.writer.BaseWriter.add_config) writes configuration to a specific storage backend -- [add_graph](mmengine.visualization.writer.BaseWriter.add_graph) writes model graph to a specific storage backend -- [add_image](mmengine.visualization.writer.BaseWriter.add_image) writes image to a specific storage backend -- [add_scalar](mmengine.visualization.writer.BaseWriter.add_scalar) writes scalar to a specific storage backend -- [add_scalars](mmengine.visualization.writer.BaseWriter.add_scalars) writes multiple scalars to a specific storage backend at once -- [add_datasample](mmengine.visualization.writer.BaseWriter.add_datasample) the abstract interface for each repositories to draw data sample +- [add_config](mmengine.visualization.Visualizer.add_config) writes configuration to a specific storage backend +- [add_graph](mmengine.visualization.Visualizer.add_graph) writes model graph to a specific storage backend +- [add_image](mmengine.visualization.Visualizer.add_image) writes image to a specific storage backend +- [add_scalar](mmengine.visualization.Visualizer.add_scalar) writes scalar to a specific storage backend +- [add_scalars](mmengine.visualization.Visualizer.add_scalars) writes multiple scalars to a specific storage backend at once +- [add_datasample](mmengine.visualization.Visualizer.add_datasample) the abstract interface for each repositories to draw data sample Interfaces beginning with the `add` prefix represent storage APIs. \[datasample\] (`./data_element.md`)is the unified interface of each downstream repository in the OpenMMLab 2.0, and `add_datasample` can process the data sample directly . @@ -56,20 +56,20 @@ Interfaces beginning with the `add` prefix represent storage APIs. \[datasample\ - [get_backend](mmengine.visualization.Visualizer.get_backend) gets a specific storage backend by name - [close](mmengine.visualization.Visualizer.close) closes all resources, including `VisBackend` -For more details, you can refer to [Visualizer Tutorial](../tutorials/visualization.md). +For more details, you can refer to [Visualizer Tutorial](../advanced_tutorials/visualization.md). ## 3 VisBackend After drawing, the drawn data can be stored in multiple visualization storage backends. To unify the interfaces, MMEngine provides an abstract class, `BaseVisBackend`, and some commonly used backends such as `LocalVisBackend`, `WandbVisBackend`, and `TensorboardVisBackend`. The main interfaces and properties of `BaseVisBackend` are as follows: -- [add_config](mmengine.visualization.vis_backend.BaseVisBackend.add_config) writes configuration to a specific storage backend -- [add_graph](mmengine.visualization.vis_backend.BaseVisBackend.add_graph) writes model graph to a specific backend -- [add_image](mmengine.visualization.vis_backend.BaseVisBackend.add_image) writes image to a specific backend -- [add_scalar](mmengine.visualization.vis_backend.BaseVisBackend.add_scalar) writes scalar to a specific backend -- [add_scalars](mmengine.visualization.vis_backend.BaseVisBackend.add_scalars) writes multiple scalars to a specific backend at once -- [close](mmengine.visualization.vis_backend.BaseVisBackend.close) closes the resource that has been opened -- [experiment](mmengine.visualization.vis_backend.BaseVisBackend.experiment) writes backend objects, such as WandB objects and Tensorboard objects +- [add_config](mmengine.visualization.BaseVisBackend.add_config) writes configuration to a specific storage backend +- [add_graph](mmengine.visualization.BaseVisBackend.add_graph) writes model graph to a specific backend +- [add_image](mmengine.visualization.BaseVisBackend.add_image) writes image to a specific backend +- [add_scalar](mmengine.visualization.BaseVisBackend.add_scalar) writes scalar to a specific backend +- [add_scalars](mmengine.visualization.BaseVisBackend.add_scalars) writes multiple scalars to a specific backend at once +- [close](mmengine.visualization.BaseVisBackend.close) closes the resource that has been opened +- [experiment](mmengine.visualization.BaseVisBackend.experiment) writes backend objects, such as WandB objects and Tensorboard objects `BaseVisBackend` defines five common data writing interfaces. Some writing backends are very powerful, such as WandB, which could write tables and videos. Users can directly obtain the `experiment` object for such needs and then call native APIs of the corresponding backend. `LocalVisBackend`, `WandbVisBackend`, and `TensorboardVisBackend` are all inherited from `BaseVisBackend` and implement corresponding storage functions according to their features. Users can also customize `BaseVisBackend` to extend the storage backends and implement custom storage requirements. diff --git a/docs/en/examples/train_a_gan.md b/docs/en/examples/train_a_gan.md index 5f49bde32d..2617fda767 100644 --- a/docs/en/examples/train_a_gan.md +++ b/docs/en/examples/train_a_gan.md @@ -17,7 +17,7 @@ It will be divided into the following steps: ### Building a Dataset First, we will build a dataset class `MNISTDataset` for the MNIST dataset, inheriting from the base dataset class [BaseDataset](mmengine.dataset.BaseDataset), and overwrite the `load_data_list` function of the base dataset class to ensure that the return value is a `list[dict]`, where each `dict` represents a data sample. -More details about using datasets in MMEngine, refer to [the Dataset tutorial](../tutorials/basedataset.md). +More details about using datasets in MMEngine, refer to [the Dataset tutorial](../advanced_tutorials/basedataset.md). ```python import numpy as np @@ -262,7 +262,7 @@ model = GAN(generator, discriminator, 100, data_preprocessor) ## Building an Optimizer MMEngine uses [OptimWrapper](mmengine.optim.OptimWrapper) to wrap optimizers. For multiple optimizers, we use [OptimWrapperDict](mmengine.optim.OptimWrapperDict) to further wrap OptimWrapper. -More details about optimizers, refer to the [Optimizer tutorial](../tutorials/optimizer.md). +More details about optimizers, refer to the [Optimizer tutorial](../tutorials/optim_wrapper.md). ```python from mmengine.optim import OptimWrapper, OptimWrapperDict diff --git a/docs/en/migration/model.md b/docs/en/migration/model.md index 0509f4930d..c956871ede 100644 --- a/docs/en/migration/model.md +++ b/docs/en/migration/model.md @@ -139,7 +139,7 @@ runner = Runner( runner.train() ``` -In MMEngine, users can customize their model based on `BaseModel`, which implements the same logic as `OptimizerHook` in `train_step`. For high-level tasks, `train_step` will be called in [train loop](mmengine.runner.loop) with specific arguments, and users do not need to care about the optimization process. For low-level tasks, users can override the `train_step` to customize the optimization process. +In MMEngine, users can customize their model based on `BaseModel`, which implements the same logic as `OptimizerHook` in `train_step`. For high-level tasks, `train_step` will be called in [EpochBasedTrainLoop](mmengine.runner.EpochBasedTrainLoop) or [IterBasedTrainLoop](mmengine.runner.IterBasedTrainLoop) with specific arguments, and users do not need to care about the optimization process. For low-level tasks, users can override the `train_step` to customize the optimization process. diff --git a/docs/en/migration/runner.md b/docs/en/migration/runner.md index 9bbd66106e..e798e45087 100644 --- a/docs/en/migration/runner.md +++ b/docs/en/migration/runner.md @@ -4,7 +4,7 @@ As MMCV supports more and more deep learning tasks, and users' needs become much more complicated, we have higher requirements for the flexibility and versatility of the existing `Runner` of MMCV. Therefore, MMEngine implements a more general and flexible `Runner` based on MMCV to support more complicated training processes. -The `Runner` in MMEngine expands the scope and takes on more functions. we abstracted [training loop controller (EpochBasedTrainLoop/IterBasedTrainLoop)](mmengine.runner.EpochBasedLoop), [validation loop controller ( ValLoop)](mmengine.runner.ValLoop) and [TestLoop](mmengine.runner.TestLoop) to make it more convenient for users to customize their training process. +The `Runner` in MMEngine expands the scope and takes on more functions. we abstracted [training loop controller (EpochBasedTrainLoop/IterBasedTrainLoop)](mmengine.runner.EpochBasedTrainLoop), [validation loop controller ( ValLoop)](mmengine.runner.ValLoop) and [TestLoop](mmengine.runner.TestLoop) to make it more convenient for users to customize their training process. Firstly, we will introduce how to migrate the entry point of training from MMCV to MMEngine, to simplify and unify the training script. Then, we'll introduce the difference in the instantiation of `Runner` between MMCV and MMEngine in detail. @@ -1165,7 +1165,7 @@ param_scheduler = dict(type='MultiStepLR', milestones=[2, 3], gamma=0.1) ### Prepare testing/validation components -MMCV implements the validation process by `EvalHook`, and we'll not talk too much about it here. Given that validation is a common process in training, MMEngine abstracts validation as two independent modules: [Evaluator](../tutorials/evaluation.md) and [ValLoop](../tutorials/runner.md). We can customize the metric or the validation process by defining a new [loop](mmengine.runner.ValLoop) or a new [metric](mmengine.evaluator.BaseMetirc). +MMCV implements the validation process by `EvalHook`, and we'll not talk too much about it here. Given that validation is a common process in training, MMEngine abstracts validation as two independent modules: [Evaluator](../tutorials/evaluation.md) and [ValLoop](../tutorials/runner.md). We can customize the metric or the validation process by defining a new [loop](mmengine.runner.ValLoop) or a new [metric](mmengine.evaluator.BaseMetric). ```python import torch diff --git a/docs/en/migration/transform.md b/docs/en/migration/transform.md index ccfafd5642..8775b18764 100644 --- a/docs/en/migration/transform.md +++ b/docs/en/migration/transform.md @@ -8,7 +8,7 @@ the `__call__` method should be a dictionary. In OpenMMLab 2.0, to make the data transform classes more extensible, we use `transform` method instead of `__call__` method to implement data transformation, and all data transform classes should inherit the -[`mmcv.transforms.BaseTransfrom`](mmcv.transforms.BaseTransfrom) class. And you can still use these data +[`mmcv.transforms.BaseTransform`](mmcv.transforms.BaseTransform) class. And you can still use these data transform classes by calling. A tutorial to implement a data transform class can be found in the [Data Transform](../advanced_tutorials/data_element.md). @@ -126,7 +126,7 @@ we will compare the functionalities, usages and implementations between the orig ## Implementation Differences -Take `RandomFlip` as example, the new version [RandomFlip](<>) in MMCV inherits `BaseTransfrom`, and move the +Take `RandomFlip` as example, the new version [RandomFlip](mmcv.transforms.RandomFlip) in MMCV inherits `BaseTransfrom`, and move the functionality implementation from `__call__` to `transform` method. In addition, the randomness related code is placed in some extra methods and these methods need to be wrapped by `cache_randomness` decorator. diff --git a/docs/en/notes/contributing.md b/docs/en/notes/contributing.md index d51a308399..fdf3f3bbf5 100644 --- a/docs/en/notes/contributing.md +++ b/docs/en/notes/contributing.md @@ -214,11 +214,11 @@ We use the following tools for linting and formatting: - [mdformat](https://github.com/executablebooks/mdformat): Mdformat is an opinionated Markdown formatter that can be used to enforce a consistent style in Markdown files. - [docformatter](https://github.com/myint/docformatter): A formatter to format docstring. -Style configurations of yapf and isort can be found in [setup.cfg](./setup.cfg). +Style configurations of yapf and isort can be found in [setup.cfg](../../../setup.cfg). We use [pre-commit hook](https://pre-commit.com/) that checks and formats for `flake8`, `yapf`, `isort`, `trailing whitespaces`, `markdown files`, fixes `end-of-files`, `double-quoted-strings`, `python-encoding-pragma`, `mixed-line-ending`, sorts `requirments.txt` automatically on every commit. -The config for a pre-commit hook is stored in [.pre-commit-config](./.pre-commit-config.yaml). +The config for a pre-commit hook is stored in [.pre-commit-config](../../../.pre-commit-config.yaml). ## PR Specs diff --git a/docs/en/tutorials/model.md b/docs/en/tutorials/model.md index adcaacc857..a3c852c2f0 100644 --- a/docs/en/tutorials/model.md +++ b/docs/en/tutorials/model.md @@ -2,7 +2,7 @@ ## Runner and model -As mentioned in [basic dataflow](./runner.md#bassic-dataflow), the dataflow between DataLoader, model and evaluator follows some rules. Don't remember clearly? Let's review it: +As mentioned in [basic dataflow](./runner.md#basic-dataflow), the dataflow between DataLoader, model and evaluator follows some rules. Don't remember clearly? Let's review it: ```python # Training process diff --git a/docs/en/tutorials/optim_wrapper.md b/docs/en/tutorials/optim_wrapper.md index 5c7b777ada..09d548eb69 100644 --- a/docs/en/tutorials/optim_wrapper.md +++ b/docs/en/tutorials/optim_wrapper.md @@ -426,7 +426,7 @@ Each field in `custom_keys` is defined as follows. ### Customize optimizer construction policies -Like other modules in MMEngine, the optimizer wrapper constructor is also managed by the [registry](../advanced_tutorial/registry.md). We can customize the hyperparameter policies by implementing custom optimizer wrapper constructors. +Like other modules in MMEngine, the optimizer wrapper constructor is also managed by the [registry](../advanced_tutorials/registry.md). We can customize the hyperparameter policies by implementing custom optimizer wrapper constructors. For example, we can implement an optimizer wrapper constructor called `LayerDecayOptimWrapperConstructor` that automatically set decreasing learning rates for layers of different depths of the model. diff --git a/docs/en/tutorials/runner.md b/docs/en/tutorials/runner.md index feb619a930..481cf7a889 100644 --- a/docs/en/tutorials/runner.md +++ b/docs/en/tutorials/runner.md @@ -352,7 +352,7 @@ When using config files, you typically don't need to manually register every mod ``` ```{note} -When using config files, the implementations of your custom modules may be stored in separate files and thus not registered properly, which will lead to errors in the build process. You may find solutions in [Registry tutorial](./registry.md) by searching for `custom_imports`. +When using config files, the implementations of your custom modules may be stored in separate files and thus not registered properly, which will lead to errors in the build process. You may find solutions in [Registry tutorial](../advanced_tutorials/registry.md) by searching for `custom_imports`. ``` ```{warning} From f0ea05886352608158cf23b2911a9b1a0c2087cb Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Wed, 8 Feb 2023 14:10:29 +0800 Subject: [PATCH 09/15] resolve bunches of docstring warnings --- mmengine/dataset/base_dataset.py | 4 ++-- mmengine/fileio/backends/local_backend.py | 4 ++-- mmengine/fileio/backends/petrel_backend.py | 4 ++-- mmengine/fileio/file_client.py | 4 ++-- mmengine/fileio/io.py | 4 ++-- mmengine/model/base_model/base_model.py | 4 ++-- mmengine/model/utils.py | 8 +++++--- .../optim/optimizer/optimizer_wrapper_dict.py | 4 ++-- mmengine/optim/scheduler/lr_scheduler.py | 1 + mmengine/optim/scheduler/momentum_scheduler.py | 1 + mmengine/optim/scheduler/param_scheduler.py | 7 ++++--- mmengine/runner/runner.py | 4 ++-- mmengine/visualization/vis_backend.py | 11 +++++------ mmengine/visualization/visualizer.py | 15 +++++++-------- 14 files changed, 39 insertions(+), 36 deletions(-) diff --git a/mmengine/dataset/base_dataset.py b/mmengine/dataset/base_dataset.py index 8fd01a0773..523e1dfa41 100644 --- a/mmengine/dataset/base_dataset.py +++ b/mmengine/dataset/base_dataset.py @@ -290,7 +290,7 @@ def full_init(self): filter_cfg. - slice_data: Slice dataset according to ``self._indices`` - serialize_data: Serialize ``self.data_list`` if - ``self.serialize_data`` is True. + ``self.serialize_data`` is True. """ if self._fully_initialized: return @@ -548,7 +548,7 @@ def _join_prefix(self): @force_full_init def get_subset_(self, indices: Union[Sequence[int], int]) -> None: - """The in-place version of ``get_subset `` to convert dataset to a + """The in-place version of ``get_subset`` to convert dataset to a subset of original dataset. This method will convert the original dataset to a subset of dataset. diff --git a/mmengine/fileio/backends/local_backend.py b/mmengine/fileio/backends/local_backend.py index 0c6c7774fa..54db78e570 100644 --- a/mmengine/fileio/backends/local_backend.py +++ b/mmengine/fileio/backends/local_backend.py @@ -158,10 +158,10 @@ def isfile(self, filepath: Union[str, Path]) -> bool: def join_path(self, filepath: Union[str, Path], *filepaths: Union[str, Path]) -> str: - """Concatenate all file paths. + r"""Concatenate all file paths. Join one or more filepath components intelligently. The return value - is the concatenation of filepath and any members of *filepaths. + is the concatenation of filepath and any members of \*filepaths. Args: filepath (str or Path): Path to be concatenated. diff --git a/mmengine/fileio/backends/petrel_backend.py b/mmengine/fileio/backends/petrel_backend.py index d662e697be..45f8904b78 100644 --- a/mmengine/fileio/backends/petrel_backend.py +++ b/mmengine/fileio/backends/petrel_backend.py @@ -251,10 +251,10 @@ def join_path( filepath: Union[str, Path], *filepaths: Union[str, Path], ) -> str: - """Concatenate all file paths. + r"""Concatenate all file paths. Join one or more filepath components intelligently. The return value - is the concatenation of filepath and any members of *filepaths. + is the concatenation of filepath and any members of \*filepaths. Args: filepath (str or Path): Path to be concatenated. diff --git a/mmengine/fileio/file_client.py b/mmengine/fileio/file_client.py index 7f4a67160d..072919b380 100644 --- a/mmengine/fileio/file_client.py +++ b/mmengine/fileio/file_client.py @@ -383,10 +383,10 @@ def isfile(self, filepath: Union[str, Path]) -> bool: def join_path(self, filepath: Union[str, Path], *filepaths: Union[str, Path]) -> str: - """Concatenate all file paths. + r"""Concatenate all file paths. Join one or more filepath components intelligently. The return value - is the concatenation of filepath and any members of *filepaths. + is the concatenation of filepath and any members of \*filepaths. Args: filepath (str or Path): Path to be concatenated. diff --git a/mmengine/fileio/io.py b/mmengine/fileio/io.py index 17104ffa69..3f62201240 100644 --- a/mmengine/fileio/io.py +++ b/mmengine/fileio/io.py @@ -342,10 +342,10 @@ def join_path( *filepaths: Union[str, Path], backend_args: Optional[dict] = None, ) -> Union[str, Path]: - """Concatenate all file paths. + r"""Concatenate all file paths. Join one or more filepath components intelligently. The return value - is the concatenation of filepath and any members of *filepaths. + is the concatenation of filepath and any members of \*filepaths. Args: filepath (str or Path): Path to be concatenated. diff --git a/mmengine/model/base_model/base_model.py b/mmengine/model/base_model/base_model.py index 06bf5b6594..3e2d72da0d 100644 --- a/mmengine/model/base_model/base_model.py +++ b/mmengine/model/base_model/base_model.py @@ -297,7 +297,7 @@ def forward(self, - ``loss``: Called by ``train_step`` and return loss ``dict`` used for logging - ``predict``: Called by ``val_step`` and ``test_step`` - and return list of `results used for computing metric. + and return list of results used for computing metric. - ``tensor``: Called by custom use to get ``Tensor`` type results. @@ -308,7 +308,7 @@ def forward(self, - If ``mode == predict``, return a ``list`` of inference results. - If ``mode == tensor``, return a tensor or ``tuple`` of tensor - or ``dict of tensor for custom use. + or ``dict`` of tensor for custom use. """ def _run_forward(self, data: Union[dict, tuple, list], diff --git a/mmengine/model/utils.py b/mmengine/model/utils.py index ce17b58c8d..19c290eaeb 100644 --- a/mmengine/model/utils.py +++ b/mmengine/model/utils.py @@ -211,9 +211,8 @@ def revert_sync_batchnorm(module: nn.Module) -> nn.Module: def convert_sync_batchnorm(module: nn.Module, implementation='torch') -> nn.Module: """Helper function to convert all `BatchNorm` layers in the model to - `SyncBatchNorm` (SyncBN) or `mmcv.ops.sync_bn.SyncBatchNorm`(MMSyncBN) - layers. Adapted from _. + `SyncBatchNorm` (SyncBN) or `mmcv.ops.sync_bn.SyncBatchNorm` (MMSyncBN) + layers. Adapted from `PyTorch convert sync batchnorm`_. Args: module (nn.Module): The module containing `SyncBatchNorm` layers. @@ -224,6 +223,9 @@ def convert_sync_batchnorm(module: nn.Module, Returns: nn.Module: The converted module with `SyncBatchNorm` layers. + + .. _PyTorch convert sync batchnorm: + https://pytorch.org/docs/stable/generated/torch.nn.SyncBatchNorm.html#torch.nn.SyncBatchNorm.convert_sync_batchnorm """ # noqa: E501 module_output = module diff --git a/mmengine/optim/optimizer/optimizer_wrapper_dict.py b/mmengine/optim/optimizer/optimizer_wrapper_dict.py index 8a4b258003..baa02ff9be 100644 --- a/mmengine/optim/optimizer/optimizer_wrapper_dict.py +++ b/mmengine/optim/optimizer/optimizer_wrapper_dict.py @@ -55,7 +55,7 @@ def update_params(self, should be updated. Therefore, this method is not implemented. The optimizer wrapper of - OptimWrapperDict should be accessed and call its `update_params. + OptimWrapperDict should be accessed and call its `update_params`. """ raise NotImplementedError('`update_params` should be called by each ' 'optimizer separately`') @@ -66,7 +66,7 @@ def backward(self, loss: torch.Tensor, **kwargs) -> None: different :obj:AmpOptimWrapper), this method is not implemented. The optimizer wrapper of OptimWrapperDict should be accessed and call - its `backward. + its `backward`. """ raise NotImplementedError('`backward` should be called by each ' 'optimizer separately`') diff --git a/mmengine/optim/scheduler/lr_scheduler.py b/mmengine/optim/scheduler/lr_scheduler.py index 08b98ee76f..98ba2e2cd7 100644 --- a/mmengine/optim/scheduler/lr_scheduler.py +++ b/mmengine/optim/scheduler/lr_scheduler.py @@ -125,6 +125,7 @@ class LinearLR(LRSchedulerMixin, LinearParamScheduler): Notice that such decay can happen simultaneously with other changes to the learning rate from outside this scheduler. + Args: optimizer (Optimizer or OptimWrapper): Wrapped optimizer. start_factor (float): The number we multiply learning rate in the diff --git a/mmengine/optim/scheduler/momentum_scheduler.py b/mmengine/optim/scheduler/momentum_scheduler.py index b15c6c914f..1cef2c8dde 100644 --- a/mmengine/optim/scheduler/momentum_scheduler.py +++ b/mmengine/optim/scheduler/momentum_scheduler.py @@ -155,6 +155,7 @@ class LinearMomentum(MomentumSchedulerMixin, LinearParamScheduler): Notice that such decay can happen simultaneously with other changes to the momentum from outside this scheduler. + Args: optimizer (Optimizer or OptimWrapper): optimizer or Wrapped optimizer. diff --git a/mmengine/optim/scheduler/param_scheduler.py b/mmengine/optim/scheduler/param_scheduler.py index 1bd15e9c4f..957f6fdd95 100644 --- a/mmengine/optim/scheduler/param_scheduler.py +++ b/mmengine/optim/scheduler/param_scheduler.py @@ -1293,9 +1293,7 @@ class ReduceOnPlateauParamScheduler(_ParamScheduler): if no improvement is seen for a ``patience`` number of epochs, the parameters are reduced. - The implementation is motivated by - `PyTorch - ReduceLROnPlateau`_. + The implementation is motivated by `PyTorch ReduceLROnPlateau`_. Args: optimizer (Optimizer or OptimWrapper): optimizer or Wrapped @@ -1345,6 +1343,9 @@ class ReduceOnPlateauParamScheduler(_ParamScheduler): epochs. Defaults to True. verbose (bool): Whether to print the value for each update. Defaults to False. + + .. _PyTorch ReduceLROnPlateau: + https://github.com/pytorch/pytorch/blob/master/torch/optim/lr_scheduler.py """ need_val_args = True diff --git a/mmengine/runner/runner.py b/mmengine/runner/runner.py index e9150c754c..d9a0696b46 100644 --- a/mmengine/runner/runner.py +++ b/mmengine/runner/runner.py @@ -1053,7 +1053,7 @@ def build_optim_wrapper( MultiOptimWrapperConstructor which gets parameters passed to corresponding optimizers and compose the ``OptimWrapperDict``. More details about how to customize OptimizerConstructor can be - found at `optimizer-docs `_. + found at `optimizer-docs`_. Returns: OptimWrapper: Optimizer wrapper build from ``optimizer_cfg``. @@ -1208,7 +1208,7 @@ def build_param_scheduler( schedulers build from ``scheduler``. .. _optimizer-docs: - https://mmengine.readthedocs.io/en/latest/tutorials/optimizer.html + https://mmengine.readthedocs.io/en/latest/tutorials/optim_wrapper.html """ param_schedulers: ParamSchedulerType if not isinstance(self.optim_wrapper, OptimWrapperDict): diff --git a/mmengine/visualization/vis_backend.py b/mmengine/visualization/vis_backend.py index 1dc9c3031a..cab54528b8 100644 --- a/mmengine/visualization/vis_backend.py +++ b/mmengine/visualization/vis_backend.py @@ -324,7 +324,7 @@ def _dump(self, value_dict: dict, file_path: str, class WandbVisBackend(BaseVisBackend): """Wandb visualization backend class. - Examples: + Examples >>> from mmengine.visualization import WandbVisBackend >>> import numpy as np >>> wandb_vis_backend = WandbVisBackend() @@ -344,10 +344,9 @@ class WandbVisBackend(BaseVisBackend): A dict of metrics and summary for wandb.define_metric. The key is metric and the value is summary. When ``define_metric_cfg={'coco/bbox_mAP': 'max'}``, - The maximum value of``coco/bbox_mAP`` is logged on wandb UI. - See - `wandb docs `_ - for details. + The maximum value of ``coco/bbox_mAP`` is logged on wandb UI. + See `wandb define_metric `_ for details. Default: None commit: (bool, optional) Save the metrics dict to the wandb server and increment the step. If false `wandb.log` just @@ -357,7 +356,7 @@ class WandbVisBackend(BaseVisBackend): log_code_name: (str, optional) The name of code artifact. By default, the artifact will be named source-$PROJECT_ID-$ENTRYPOINT_RELPATH. See - `wandb docs `_ + `wandb log_code `_ for details. Defaults to None. New in version 0.3.0. watch_kwargs (optional, dict): Agurments for ``wandb.watch``. diff --git a/mmengine/visualization/visualizer.py b/mmengine/visualization/visualizer.py index 351c62e452..5e48711b0b 100644 --- a/mmengine/visualization/visualizer.py +++ b/mmengine/visualization/visualizer.py @@ -454,20 +454,19 @@ def draw_texts( the texts will have the same bbox. Reference to https://matplotlib.org/stable/api/_as_gen/matplotlib.patches.FancyBboxPatch.html#matplotlib.patches.FancyBboxPatch for more details. Defaults to None. - font_properties (Union[FontProperties, List[FontProperties]], - optional): The font properties of texts. FontProperties is - a `font_manager.FontProperties()` object. + font_properties (Union[FontProperties, List[FontProperties]], optional): + The font properties of texts. FontProperties is + a ``font_manager.FontProperties()`` object. If you want to draw Chinese texts, you need to prepare a font file that can show Chinese characters properly. - For example: `simhei.ttf`,`simsun.ttc`,`simkai.ttf` and so on. - Then set font_properties=matplotlib.font_manager.FontProperties - (fname='path/to/font_file') + For example: `simhei.ttf` , `simsun.ttc` , `simkai.ttf` and so on. + Then set ``font_properties=matplotlib.font_manager.FontProperties(fname='path/to/font_file')`` ``font_properties`` can have the same length with texts or just single value. If ``font_properties`` is single value, all the texts will have the same font properties. Defaults to None. `New in version 0.6.0.` - """ + """ # noqa: E501 from matplotlib.font_manager import FontProperties check_type('texts', texts, (str, list)) if isinstance(texts, str): @@ -915,7 +914,7 @@ def draw_featmap(featmap: torch.Tensor, it will compress featmap to single channel image and weighted sum to `overlaid_image`. - - if `channel_reduction` is None + - If `channel_reduction` is None - If topk <= 0, featmap is assert to be one or three channel and treated as image and will be weighted sum From a32bba56a12f06b1253136a88188db567a1874d4 Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Wed, 8 Feb 2023 14:11:24 +0800 Subject: [PATCH 10/15] resolve warnings in autosummary --- mmengine/model/weight_init.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mmengine/model/weight_init.py b/mmengine/model/weight_init.py index 44c871616d..a2e0b9a7a5 100644 --- a/mmengine/model/weight_init.py +++ b/mmengine/model/weight_init.py @@ -198,7 +198,9 @@ def _get_init_info(self): @WEIGHT_INITIALIZERS.register_module(name='Xavier') class XavierInit(BaseInit): r"""Initialize module parameters with values according to the method - described in `Understanding the difficulty of training deep feedforward + described in the paper below. + + `Understanding the difficulty of training deep feedforward neural networks - Glorot, X. & Bengio, Y. (2010). `_ @@ -381,7 +383,9 @@ def _get_init_info(self): @WEIGHT_INITIALIZERS.register_module(name='Kaiming') class KaimingInit(BaseInit): r"""Initialize module parameters with the values according to the method - described in `Delving deep into rectifiers: Surpassing human-level + described in the paper below. + + `Delving deep into rectifiers: Surpassing human-level performance on ImageNet classification - He, K. et al. (2015). `_ From 727694042e6222aca9705087b30169a12e55a454 Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Wed, 8 Feb 2023 14:37:15 +0800 Subject: [PATCH 11/15] resolve remaining warnings in en docs --- docs/en/design/hook.md | 2 +- docs/en/design/runner.md | 2 +- docs/en/migration/param_scheduler.md | 2 +- docs/en/tutorials/hook.md | 4 ++++ 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/en/design/hook.md b/docs/en/design/hook.md index 854e444d8a..9a278baaa8 100644 --- a/docs/en/design/hook.md +++ b/docs/en/design/hook.md @@ -201,4 +201,4 @@ There are 22 mount points in the [Base Hook](mmengine.hooks.Hook). - before_save_checkpoint - after_load_checkpoint -Further readings: [Hook tutorial](../tutorials/hook.md) and [Hook API documentations](mmengine.hooks) +Further readings: [Hook tutorial](../tutorials/hook.md) and [Hook API documentations](../api/hooks) diff --git a/docs/en/design/runner.md b/docs/en/design/runner.md index b5fb0be69b..0985c0026a 100644 --- a/docs/en/design/runner.md +++ b/docs/en/design/runner.md @@ -162,7 +162,7 @@ custom_hooks = [dict(type='CustomValHook')] ## Customize Runner Moreover, you can write your own runner by subclassing `Runner` if the built-in `Runner` is not feasible. -The method is similar to writing other modules: write your subclass inherited from `Runner`, overrides some functions, register it to [RUNNERS](mmengine.registry.RUNNERS) and access it by assigning `runner_type` in your config file. +The method is similar to writing other modules: write your subclass inherited from `Runner`, overrides some functions, register it to `mmengine.registry.RUNNERS` and access it by assigning `runner_type` in your config file. ```python from mmengine.registry import RUNNERS diff --git a/docs/en/migration/param_scheduler.md b/docs/en/migration/param_scheduler.md index 1b3051af33..7f50e57532 100644 --- a/docs/en/migration/param_scheduler.md +++ b/docs/en/migration/param_scheduler.md @@ -564,4 +564,4 @@ param_scheduler = [
-You may also want to read [parameter scheduler tutorial](../tutorials/param_scheduler.md) or [parameter scheduler API documentations](mmengine.optim.scheduler). +You may also want to read [parameter scheduler tutorial](../tutorials/param_scheduler.md) or [parameter scheduler API documentations](../api/optim). diff --git a/docs/en/tutorials/hook.md b/docs/en/tutorials/hook.md index d17286ba86..bec68a9378 100644 --- a/docs/en/tutorials/hook.md +++ b/docs/en/tutorials/hook.md @@ -58,6 +58,10 @@ runner = Runner(default_hooks=default_hooks, custom_hooks=custom_hooks, ...) runner.train() ``` +### LoggerHook + +[LoggerHook](mmengine.hooks.LoggerHook) collects logs from different components of `Runner` and write them to terminal, JSON file, tensorboard and wandb, etc. + ### CheckpointHook [CheckpointHook](mmengine.hooks.CheckpointHook) saves the checkpoints at a given interval. In the case of distributed training, only the master process will save the checkpoints. The main features of `CheckpointHook` is as follows. From 7bc5155e32475b7ab69b87c77936ff74c8568598 Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Wed, 8 Feb 2023 16:32:49 +0800 Subject: [PATCH 12/15] resolve heading warnings in zh_cn docs --- docs/zh_cn/advanced_tutorials/data_element.md | 6 +-- docs/zh_cn/conf.py | 1 - docs/zh_cn/get_started/installation.md | 18 ++++----- docs/zh_cn/get_started/introduction.md | 10 ++--- docs/zh_cn/notes/code_style.md | 38 +++++++++---------- docs/zh_cn/notes/contributing.md | 28 +++++++------- docs/zh_cn/switch_language.md | 4 +- 7 files changed, 52 insertions(+), 53 deletions(-) diff --git a/docs/zh_cn/advanced_tutorials/data_element.md b/docs/zh_cn/advanced_tutorials/data_element.md index 6796c24b89..bb54d3ae60 100644 --- a/docs/zh_cn/advanced_tutorials/data_element.md +++ b/docs/zh_cn/advanced_tutorials/data_element.md @@ -728,7 +728,7 @@ print(InstanceData.cat([instance_data, instance_data])) - 对 `PixelData` 中 data 所存储的数据进行了尺寸的校验 - 支持对 data 部分的数据对实例进行空间维度的索引和切片。 -### 数据校验 +## 数据校验 `PixelData` 会对传入到 data 的数据进行维度与长宽的校验。 @@ -1004,7 +1004,7 @@ AssertionError: tensor([[0.4370, 0.1661, 0.0902, 0.8421], 下面以 MMDetection 为例更具体地说明 OpenMMLab 的算法库将如何迁移使用抽象数据接口,以简化模块和组件接口的。我们假定 MMDetection 和 MMEngine 中实现了 DetDataSample 和 InstanceData。 -#### 1. 组件接口的简化 +### 1. 组件接口的简化 检测器的外部接口可以得到显著的简化和统一。MMDet 2.X 中单阶段检测器和单阶段分割算法的接口如下。在训练过程中,`SingleStageDetector` 需要获取 `img`, `img_metas`, `gt_bboxes`, `gt_labels`, `gt_bboxes_ignore` 作为输入,但是 `SingleStageInstanceSegmentor` 还需要 `gt_masks`,导致 detector 的训练接口不一致,影响了代码的灵活性。 @@ -1054,7 +1054,7 @@ class SingleStageInstanceSegmentor(BaseDetector): ``` -#### 2. 模块接口的简化 +### 2. 模块接口的简化 MMDet 2.X 中 `HungarianAssigner` 和 `MaskHungarianAssigner` 分别用于在训练过程中将检测框和实例掩码和标注的实例进行匹配。他们内部的匹配逻辑实现是一样的,只是接口和损失函数的计算不同。 但是,接口的不同使得 `HungarianAssigner` 中的代码无法被复用,`MaskHungarianAssigner` 中重写了很多冗余的逻辑。 diff --git a/docs/zh_cn/conf.py b/docs/zh_cn/conf.py index 6128280373..dbd2a8223e 100644 --- a/docs/zh_cn/conf.py +++ b/docs/zh_cn/conf.py @@ -49,7 +49,6 @@ 'sphinx.ext.intersphinx', 'sphinx.ext.napoleon', 'sphinx.ext.viewcode', - 'sphinx.ext.autosectionlabel', 'myst_parser', 'sphinx_copybutton', 'sphinx.ext.autodoc.typehints', diff --git a/docs/zh_cn/get_started/installation.md b/docs/zh_cn/get_started/installation.md index 3fbc55f3f0..917a256772 100644 --- a/docs/zh_cn/get_started/installation.md +++ b/docs/zh_cn/get_started/installation.md @@ -1,13 +1,13 @@ -## 安装 +# 安装 -### 环境依赖 +## 环境依赖 - Python 3.7+ - PyTorch 1.6+ - CUDA 9.2+ - GCC 5.4+ -### 准备环境 +## 准备环境 1. 使用 conda 新建虚拟环境,并进入该虚拟环境; @@ -24,9 +24,9 @@ python -c 'import torch;print(torch.__version__)' ``` -### 安装 MMEngine +## 安装 MMEngine -#### 使用 mim 安装 +### 使用 mim 安装 [mim](https://github.com/open-mmlab/mim) 是 OpenMMLab 项目的包管理工具,使用它可以很方便地安装 OpenMMLab 项目。 @@ -35,13 +35,13 @@ pip install -U openmim mim install mmengine ``` -#### 使用 pip 安装 +### 使用 pip 安装 ```bash pip install mmengine ``` -#### 使用 docker 镜像 +### 使用 docker 镜像 1. 构建镜像 @@ -57,7 +57,7 @@ pip install mmengine docker run --gpus all --shm-size=8g -it mmengine ``` -#### 源码安装 +### 源码安装 ```bash # 如果克隆代码仓库的速度过慢,可以从 https://gitee.com/open-mmlab/mmengine.git 克隆 @@ -66,7 +66,7 @@ cd mmengine pip install -e . -v ``` -### 验证安装 +## 验证安装 为了验证是否正确安装了 MMEngine 和所需的环境,我们可以运行以下命令 diff --git a/docs/zh_cn/get_started/introduction.md b/docs/zh_cn/get_started/introduction.md index 8a2542d2e4..bba150462e 100644 --- a/docs/zh_cn/get_started/introduction.md +++ b/docs/zh_cn/get_started/introduction.md @@ -1,4 +1,4 @@ -## 介绍 +# 介绍 MMEngine 是一个基于 PyTorch 实现的,用于训练深度学习模型的基础库,支持在 Linux、Windows、macOS 上运行。它具有如下三个特性: @@ -18,19 +18,19 @@ MMEngine 是一个基于 PyTorch 实现的,用于训练深度学习模型的 - 提供了丰富的组件和策略。 - 使用不同等级的 API 控制训练过程。 -### 架构 +## 架构 ![openmmlab-2 0-arch](https://user-images.githubusercontent.com/40779233/187065730-1e9af236-37dc-4dbd-b448-cce3b72b0109.png) 上图展示了 MMEngine 在 OpenMMLab 2.0 中的层次。MMEngine 实现了 OpenMMLab 算法库的新一代训练架构,为 OpenMMLab 中的 30 多个算法库提供了统一的执行基座。其核心组件包含训练引擎、评测引擎和模块管理等。 -### 模块介绍 +## 模块介绍 模块关系 MMEngine 将训练过程中涉及的组件和它们的关系进行了抽象,如上图所示。不同算法库中的同类型组件具有相同的接口定义。 -#### 核心模块与相关组件 +### 核心模块与相关组件 训练引擎的核心模块是[执行器(Runner)](../tutorials/runner.md)。执行器负责执行训练、测试和推理任务并管理这些过程中所需要的各个组件。在训练、测试、推理任务执行过程中的特定位置,执行器设置了[钩子(Hook)](../tutorials/hook.md)来允许用户拓展、插入和执行自定义逻辑。执行器主要调用如下组件来完成训练和推理过程中的循环: @@ -45,7 +45,7 @@ MMEngine 将训练过程中涉及的组件和它们的关系进行了抽象, 在训练、推理执行过程中,上述各个组件都可以调用日志管理模块和可视化器进行结构化和非结构化日志的存储与展示。[日志管理(Logging Modules)](../advanced_tutorials/logging.md):负责管理执行器运行过程中产生的各种日志信息。其中消息枢纽(MessageHub)负责实现组件与组件、执行器与执行器之间的数据共享,日志处理器(Log Processor)负责对日志信息进行处理,处理后的日志会分别发送给执行器的日志器(Logger)和可视化器(Visualizer)进行日志的管理与展示。[可视化器(Visualizer)](../advanced_tutorials/visualization.md):可视化器负责对模型的特征图、预测结果和训练过程中产生的结构化日志进行可视化,支持 Tensorboard 和 WanDB 等多种可视化后端。 -#### 公共基础模块 +### 公共基础模块 MMEngine 中还实现了各种算法模型执行过程中需要用到的公共基础模块,包括 diff --git a/docs/zh_cn/notes/code_style.md b/docs/zh_cn/notes/code_style.md index 8ddb87c239..1962d16d94 100644 --- a/docs/zh_cn/notes/code_style.md +++ b/docs/zh_cn/notes/code_style.md @@ -1,8 +1,8 @@ -## 代码规范 +# 代码规范 -### 代码规范标准 +## 代码规范标准 -#### PEP 8 —— Python 官方代码规范 +### PEP 8 —— Python 官方代码规范 [Python 官方的代码风格指南](https://www.python.org/dev/peps/pep-0008/),包含了以下几个方面的内容: @@ -46,7 +46,7 @@ hypot2 = x * x + y * y 这一规范是为了指示不同优先级,但 OpenMMLab 的设置中通常没有启用 yapf 的 `ARITHMETIC_PRECEDENCE_INDICATION` 选项,因而格式规范工具不会按照推荐样式格式化,以设置为准。 ::: -#### Google 开源项目风格指南 +### Google 开源项目风格指南 [Google 使用的编程风格指南](https://google.github.io/styleguide/pyguide.html),包括了 Python 相关的章节。相较于 PEP 8,该指南提供了更为详尽的代码指南。该指南包括了语言规范和风格规范两个部分。 @@ -72,13 +72,13 @@ from ...utils import is_str # 最多向上回溯一层,过多的回溯容易 OpenMMLab 项目使用 pre-commit 工具自动格式化代码,详情见[贡献代码](./contributing.md#代码风格)。 -### 命名规范 +## 命名规范 -#### 命名规范的重要性 +### 命名规范的重要性 优秀的命名是良好代码可读的基础。基础的命名规范对各类变量的命名做了要求,使读者可以方便地根据代码名了解变量是一个类 / 局部变量 / 全局变量等。而优秀的命名则需要代码作者对于变量的功能有清晰的认识,以及良好的表达能力,从而使读者根据名称就能了解其含义,甚至帮助了解该段代码的功能。 -#### 基础命名规范 +### 基础命名规范 | 类型 | 公有 | 私有 | | --------------- | ---------------- | ------------------ | @@ -99,7 +99,7 @@ OpenMMLab 项目使用 pre-commit 工具自动格式化代码,详情见[贡献 - 尽量不要使用过于简单的命名,除了约定俗成的循环变量 i,文件变量 f,错误变量 e 等。 - 不会被用到的变量可以命名为 \_,逻辑检查器会将其忽略。 -#### 命名技巧 +### 命名技巧 良好的变量命名需要保证三点: @@ -136,13 +136,13 @@ def __init__(self, in_channels, out_channels): 注意避免非常规或统一约定的缩写,如 nb -> num_blocks,in_nc -> in_channels -### docstring 规范 +## docstring 规范 -#### 为什么要写 docstring +### 为什么要写 docstring docstring 是对一个类、一个函数功能与 API 接口的详细描述,有两个功能,一是帮助其他开发者了解代码功能,方便 debug 和复用代码;二是在 Readthedocs 文档中自动生成相关的 API reference 文档,帮助不了解源代码的社区用户使用相关功能。 -#### 如何写 docstring +### 如何写 docstring 与注释不同,一份规范的 docstring 有着严格的格式要求,以便于 Python 解释器以及 sphinx 进行文档解析,详细的 docstring 约定参见 [PEP 257](https://www.python.org/dev/peps/pep-0257/)。此处以例子的形式介绍各种文档的标准格式,参考格式为 [Google 风格](https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/#comments)。 @@ -372,13 +372,13 @@ docstring 是对一个类、一个函数功能与 API 接口的详细描述, - [Example Google Style Python Docstrings ‒ napoleon 0.7 documentation](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html#example-google) ``` -### 注释规范 +## 注释规范 -#### 为什么要写注释 +### 为什么要写注释 对于一个开源项目,团队合作以及社区之间的合作是必不可少的,因而尤其要重视合理的注释。不写注释的代码,很有可能过几个月自己也难以理解,造成额外的阅读和修改成本。 -#### 如何写注释 +### 如何写注释 最需要写注释的是代码中那些技巧性的部分。如果你在下次代码审查的时候必须解释一下,那么你应该现在就给它写注释。对于复杂的操作,应该在其操作开始前写上若干行注释。对于不是一目了然的代码,应在其行尾添加注释。 —— Google 开源项目风格指南 @@ -414,7 +414,7 @@ if i & (i-1) == 0: # True if i bitwise and i-1 is 0. self._reversed_padding_repeated_twice = _reverse_repeat_tuple(self.padding, 2) ``` -#### 注释示例 +### 注释示例 1. 出自 `mmcv/utils/registry.py`,对于较为复杂的逻辑结构,通过注释,明确了优先级关系。 @@ -447,9 +447,9 @@ self._reversed_padding_repeated_twice = _reverse_repeat_tuple(self.padding, 2) torch.save(checkpoint, file) ``` -### 类型注解 +## 类型注解 -#### 为什么要写类型注解 +### 为什么要写类型注解 类型注解是对函数中变量的类型做限定或提示,为代码的安全性提供保障、增强代码的可读性、避免出现类型相关的错误。 Python 没有对类型做强制限制,类型注解只起到一个提示作用,通常你的 IDE 会解析这些类型注解,然后在你调用相关代码时对类型做提示。另外也有类型注解检查工具,这些工具会根据类型注解,对代码中可能出现的问题进行检查,减少 bug 的出现。 @@ -461,7 +461,7 @@ Python 没有对类型做强制限制,类型注解只起到一个提示作用 4. 难以理解的代码请进行注释 5. 若代码中的类型已经稳定,可以进行注释. 对于一份成熟的代码,多数情况下,即使注释了所有的函数,也不会丧失太多的灵活性. -#### 如何写类型注解 +### 如何写类型注解 1. 函数 / 方法类型注解,通常不对 self 和 cls 注释。 @@ -586,7 +586,7 @@ Python 没有对类型做强制限制,类型注解只起到一个提示作用 更多关于类型注解的写法请参考 [typing](https://docs.python.org/3/library/typing.html)。 -#### 类型注解检查工具 +### 类型注解检查工具 [mypy](https://mypy.readthedocs.io/en/stable/) 是一个 Python 静态类型检查工具。根据你的类型注解,mypy 会检查传参、赋值等操作是否符合类型注解,从而避免可能出现的 bug。 diff --git a/docs/zh_cn/notes/contributing.md b/docs/zh_cn/notes/contributing.md index ef115d770b..a8ddb03bc3 100644 --- a/docs/zh_cn/notes/contributing.md +++ b/docs/zh_cn/notes/contributing.md @@ -1,4 +1,4 @@ -## 贡献代码 +# 贡献代码 欢迎加入 MMEngine 社区,我们致力于打造最前沿的深度学习模型训练的基础库,我们欢迎任何类型的贡献,包括但不限于 @@ -23,11 +23,11 @@ 1. 提交 issue,确认添加文档的必要性。 2. 添加文档,提交拉取请求。 -### 拉取请求工作流 +## 拉取请求工作流 如果你对拉取请求不了解,没关系,接下来的内容将会从零开始,一步一步地指引你如何创建一个拉取请求。如果你想深入了解拉取请求的开发模式,可以参考 github [官方文档](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests) -#### 1. 复刻仓库 +### 1. 复刻仓库 当你第一次提交拉取请求时,先复刻 OpenMMLab 原代码库,点击 GitHub 页面右上角的 **Fork** 按钮,复刻后的代码库将会出现在你的 GitHub 个人主页下。 @@ -58,7 +58,7 @@ upstream git@github.com:open-mmlab/mmengine (push) 这里对 origin 和 upstream 进行一个简单的介绍,当我们使用 git clone 来克隆代码时,会默认创建一个 origin 的 remote,它指向我们克隆的代码库地址,而 upstream 则是我们自己添加的,用来指向原始代码库地址。当然如果你不喜欢他叫 upstream,也可以自己修改,比如叫 open-mmlab。我们通常向 origin 提交代码(即 fork 下来的远程仓库),然后向 upstream 提交一个 pull request。如果提交的代码和最新的代码发生冲突,再从 upstream 拉取最新的代码,和本地分支解决冲突,再提交到 origin。 ``` -#### 2. 配置 pre-commit +### 2. 配置 pre-commit 在本地开发环境中,我们使用 [pre-commit](https://pre-commit.com/#intro) 来检查代码风格,以确保代码风格的统一。在提交代码,需要先安装 pre-commit(需要在 mmengine 目录下执行): @@ -95,7 +95,7 @@ pre-commit run --all-files -c .pre-commit-config-zh-cn.yaml git commit -m "xxx" --no-verify ``` -#### 3. 创建开发分支 +### 3. 创建开发分支 安装完 pre-commit 之后,我们需要基于 master 创建开发分支,建议的分支命名规则为 `username/pr_name`。 @@ -109,7 +109,7 @@ git checkout -b yhc/refactor_contributing_doc git pull upstream master ``` -#### 4. 提交代码并在本地通过单元测试 +### 4. 提交代码并在本地通过单元测试 - MMEngine 引入了 mypy 来做静态类型检查,以增加代码的鲁棒性。因此我们在提交代码时,需要补充 Type Hints。具体规则可以参考[教程](https://zhuanlan.zhihu.com/p/519335398)。 @@ -127,7 +127,7 @@ git pull upstream master - 如果修改/添加了文档,参考[指引](#文档渲染)确认文档渲染正常。 -#### 5. 推送代码到远程 +### 5. 推送代码到远程 代码通过单元测试和 pre-commit 检查后,将代码推送到远程仓库,如果是第一次推送,可以在 `git push` 后加上 `-u` 参数以关联远程分支 @@ -137,7 +137,7 @@ git push -u origin {branch_name} 这样下次就可以直接使用 `git push` 命令推送代码了,而无需指定分支和远程仓库。 -#### 6. 提交拉取请求(PR) +### 6. 提交拉取请求(PR) (1) 在 GitHub 的 Pull request 界面创建拉取请求 @@ -170,7 +170,7 @@ MMEngine 会在不同的平台(Linux、Window、Mac),基于不同版本的 所有 reviewer 同意合入 PR 后,我们会尽快将 PR 合并到主分支。 -#### 7. 解决冲突 +### 7. 解决冲突 随着时间的推移,我们的代码库会不断更新,这时候,如果你的 PR 与主分支存在冲突,你需要解决冲突,解决冲突的方式有两种: @@ -188,9 +188,9 @@ git merge upstream/master 如果你非常善于处理冲突,那么可以使用 rebase 的方式来解决冲突,因为这能够保证你的 commit log 的整洁。如果你不太熟悉 `rebase` 的使用,那么可以使用 `merge` 的方式来解决冲突。 -### 指引 +## 指引 -#### 单元测试 +### 单元测试 在提交修复代码错误或新增特性的拉取请求时,我们应该尽可能的让单元测试覆盖所有提交的代码,计算单元测试覆盖率的方法如下 @@ -200,7 +200,7 @@ python -m coverage html # check file in htmlcov/index.html ``` -#### 文档渲染 +### 文档渲染 在提交修复代码错误或新增特性的拉取请求时,可能会需要修改/新增模块的 docstring。我们需要确认渲染后的文档样式是正确的。 本地生成渲染后的文档的方法如下 @@ -213,7 +213,7 @@ make html # check file in ./docs/zh_cn/_build/html/index.html ``` -### Python 代码风格 +## Python 代码风格 [PEP8](https://www.python.org/dev/peps/pep-0008/) 作为 OpenMMLab 算法库首选的代码规范,我们使用以下工具检查和格式化代码 @@ -233,7 +233,7 @@ pre-commit 具体的安装使用方式见[拉取请求](#2-配置-pre-commit)。 更具体的规范请参考 [OpenMMLab 代码规范](code_style.md)。 -### 拉取请求规范 +## 拉取请求规范 1. 使用 [pre-commit hook](https://pre-commit.com),尽量减少代码风格相关问题 diff --git a/docs/zh_cn/switch_language.md b/docs/zh_cn/switch_language.md index e47b751e33..d41235e480 100644 --- a/docs/zh_cn/switch_language.md +++ b/docs/zh_cn/switch_language.md @@ -1,3 +1,3 @@ -## English +# English -## 简体中文 +# 简体中文 From 2752584c61ee466374d337d3f9aefedee2ad47a4 Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Wed, 8 Feb 2023 17:33:40 +0800 Subject: [PATCH 13/15] resolve remaining warnings in zh_cn docs --- docs/en/tutorials/runner.md | 2 +- docs/zh_cn/advanced_tutorials/basedataset.md | 20 +- docs/zh_cn/advanced_tutorials/data_element.md | 2 +- docs/zh_cn/advanced_tutorials/logging.md | 4 +- .../zh_cn/advanced_tutorials/manager_mixin.md | 2 +- docs/zh_cn/advanced_tutorials/registry.md | 2 +- .../test_time_augmentation.md | 14 +- .../zh_cn/advanced_tutorials/visualization.md | 2 +- docs/zh_cn/design/hook.md | 2 +- docs/zh_cn/design/infer.md | 2 +- docs/zh_cn/design/logging.md | 2 +- docs/zh_cn/design/visualization.md | 32 +- docs/zh_cn/examples/train_a_gan.md | 4 +- docs/zh_cn/get_started/introduction.md | 2 +- docs/zh_cn/migration/model.md | 4 +- docs/zh_cn/migration/param_scheduler.md | 2 +- docs/zh_cn/migration/runner.md | 18 +- docs/zh_cn/notes/code_style.md | 2 +- docs/zh_cn/notes/contributing.md | 6 +- docs/zh_cn/temp.txt | 1614 +++++++++++++++++ docs/zh_cn/tutorials/evaluation.md | 4 +- docs/zh_cn/tutorials/hook.md | 4 +- docs/zh_cn/tutorials/model.md | 2 +- docs/zh_cn/tutorials/optim_wrapper.md | 2 +- docs/zh_cn/tutorials/runner.md | 2 +- 25 files changed, 1682 insertions(+), 70 deletions(-) create mode 100644 docs/zh_cn/temp.txt diff --git a/docs/en/tutorials/runner.md b/docs/en/tutorials/runner.md index 481cf7a889..e1c6e557a9 100644 --- a/docs/en/tutorials/runner.md +++ b/docs/en/tutorials/runner.md @@ -352,7 +352,7 @@ When using config files, you typically don't need to manually register every mod ``` ```{note} -When using config files, the implementations of your custom modules may be stored in separate files and thus not registered properly, which will lead to errors in the build process. You may find solutions in [Registry tutorial](../advanced_tutorials/registry.md) by searching for `custom_imports`. +When using config files, the implementations of your custom modules may be stored in separate files and thus not registered properly, which will lead to errors in the build process. You may find solutions in [Config tutorial](../advanced_tutorials/config.md#import-the-custom-module) by searching for `custom_imports`. ``` ```{warning} diff --git a/docs/zh_cn/advanced_tutorials/basedataset.md b/docs/zh_cn/advanced_tutorials/basedataset.md index 2fd9b80340..1e0698265d 100644 --- a/docs/zh_cn/advanced_tutorials/basedataset.md +++ b/docs/zh_cn/advanced_tutorials/basedataset.md @@ -19,24 +19,20 @@ OpenMMLab 2.0 数据集格式规范规定,标注文件必须为 `json` 或 `ya ```json { - 'metainfo': + "metainfo": { - 'classes': ('cat', 'dog'), - ... + "classes": ["cat", "dog"] }, - 'data_list': + "data_list": [ { - 'img_path': "xxx/xxx_0.jpg", - 'img_label': 0, - ... + "img_path": "xxx/xxx_0.jpg", + "img_label": 0 }, { - 'img_path': "xxx/xxx_1.jpg", - 'img_label': 1, - ... - }, - ... + "img_path": "xxx/xxx_1.jpg", + "img_label": 1 + } ] } ``` diff --git a/docs/zh_cn/advanced_tutorials/data_element.md b/docs/zh_cn/advanced_tutorials/data_element.md index bb54d3ae60..3ac289d23e 100644 --- a/docs/zh_cn/advanced_tutorials/data_element.md +++ b/docs/zh_cn/advanced_tutorials/data_element.md @@ -844,7 +844,7 @@ tensor([0, 1, 0, 0, 0, 0, 0, 0, 0, 0]) is convert to tensor([1]) ## 数据样本(DataSample) -数据样本作为不同模块最外层的接口,提供了 xxxDataSample 用于单任务中各模块之间统一格式的传递,同时为了各个模块从统一字段获取或写入信息,数据样本中的命名以及类型要进行约束和统一,保证各模块接口的统一性。 OpenMMLab 中各个算法库的命名规范可以参考 [`OpenMMLab` 中的命名规范](命名规范.md)。 +数据样本作为不同模块最外层的接口,提供了 xxxDataSample 用于单任务中各模块之间统一格式的传递,同时为了各个模块从统一字段获取或写入信息,数据样本中的命名以及类型要进行约束和统一,保证各模块接口的统一性。 OpenMMLab 中各个算法库的命名规范可以参考 [`OpenMMLab` 中的命名规范](TODO)。 ### 下游库使用 diff --git a/docs/zh_cn/advanced_tutorials/logging.md b/docs/zh_cn/advanced_tutorials/logging.md index f999dca603..451ba04e9e 100644 --- a/docs/zh_cn/advanced_tutorials/logging.md +++ b/docs/zh_cn/advanced_tutorials/logging.md @@ -4,7 +4,7 @@ ## 灵活的日志统计方式 -我们可以通过在构建执行器时候配置[日志处理器](mmengine.logging.LogProcessor),来灵活地选择日志统计方式。如果不为执行器配置日志处理器,则会按照日志处理器的默认参数构建实例,效果等价于: +我们可以通过在构建执行器时候配置[日志处理器](mmengine.runner.LogProcessor),来灵活地选择日志统计方式。如果不为执行器配置日志处理器,则会按照日志处理器的默认参数构建实例,效果等价于: ```python log_processor = dict(window_size=10, by_epoch=True, custom_cfg=None, num_digits=4) @@ -187,7 +187,7 @@ runner.train() 08/21 03:17:26 - mmengine - INFO - Epoch(train) [1][20/25] lr: 1.0000e-02 eta: 0:00:00 time: 0.0024 data_time: 0.0010 loss1: 0.5464 loss2: 0.7251 loss: 1.2715 loss1_local_max: 2.8872 loss1_global_max: 2.8872 ``` -更多配置规则见[日志处理器文档](mmengine.logging.LogProcessor) +更多配置规则见[日志处理器文档](mmengine.runner.LogProcessor) ## 自定义统计内容 diff --git a/docs/zh_cn/advanced_tutorials/manager_mixin.md b/docs/zh_cn/advanced_tutorials/manager_mixin.md index b90f70eaf2..4395d84ab9 100644 --- a/docs/zh_cn/advanced_tutorials/manager_mixin.md +++ b/docs/zh_cn/advanced_tutorials/manager_mixin.md @@ -1,6 +1,6 @@ # 全局管理器(ManagerMixin) -Runner 在训练过程中,难免会使用全局变量来共享信息,例如我们会在 model 中获取全局的 [logger](mmengine.logging.MMLogger) 来打印初始化信息;在 model 中获取全局的 [Visualizer](./visualization.md) 来可视化预测结果、特征图;在 [Registry](../tutorials/registry.md) 中获取全局的 [DefaultScope](mmengine.registry.DefaultScope) 来确定注册域。为了管理这些功能相似的模块,MMEngine 设计了管理器 [ManagerMix](mmengine.utils.ManagerMixin) 来统一全局变量的创建和获取方式。 +Runner 在训练过程中,难免会使用全局变量来共享信息,例如我们会在 model 中获取全局的 [logger](mmengine.logging.MMLogger) 来打印初始化信息;在 model 中获取全局的 [Visualizer](./visualization.md) 来可视化预测结果、特征图;在 [Registry](../advanced_tutorials/registry.md) 中获取全局的 [DefaultScope](mmengine.registry.DefaultScope) 来确定注册域。为了管理这些功能相似的模块,MMEngine 设计了管理器 [ManagerMix](mmengine.utils.ManagerMixin) 来统一全局变量的创建和获取方式。 ![ManagerMixin](https://user-images.githubusercontent.com/57566630/163429552-3c901fc3-9cc1-4b71-82b6-d051f452a538.png) diff --git a/docs/zh_cn/advanced_tutorials/registry.md b/docs/zh_cn/advanced_tutorials/registry.md index 2be9d6e527..4cd42ddcdd 100644 --- a/docs/zh_cn/advanced_tutorials/registry.md +++ b/docs/zh_cn/advanced_tutorials/registry.md @@ -81,7 +81,7 @@ print(ACTIVATION.module_dict) 2. 手动导入文件。常用于用户在算法库之内或之外实现新的模块。 -3. 在配置中使用 ``custom_imports`` 字段。 详情请参考[导入自定义Python模块](config.md#import-the-custom-module)。 +3. 在配置中使用 ``custom_imports`` 字段。 详情请参考[导入自定义Python模块](config.md#导入自定义-python-模块)。 ``` 模块成功注册后,我们可以通过配置文件使用这个激活模块。 diff --git a/docs/zh_cn/advanced_tutorials/test_time_augmentation.md b/docs/zh_cn/advanced_tutorials/test_time_augmentation.md index 039c49719a..dab9f6b870 100644 --- a/docs/zh_cn/advanced_tutorials/test_time_augmentation.md +++ b/docs/zh_cn/advanced_tutorials/test_time_augmentation.md @@ -100,18 +100,20 @@ cfg.test_dataloader.dataset.pipeline = cfg.tta_pipeline ```python image1 = dict( inputs=[data_1_1, data_1_2], - data_sample=[data_sample1_1, data_sample1_2]) -) + data_sample=[data_sample1_1, data_sample1_2] +) image2 = dict( inputs=[data_2_1, data_2_2], - data_sample=[data_sample2_1, data_sample2_2]) -) + data_sample=[data_sample2_1, data_sample2_2] +) + image3 = dict( inputs=[data_3_1, data_3_2], - data_sample=[data_sample3_1, data_sample3_2]) -) + data_sample=[data_sample3_1, data_sample3_2] +) + ``` 其中 `data_{i}_{j}` 为增强后的数据,`data_sample_{i}_{j}` 为增强后数据的标签信息。 diff --git a/docs/zh_cn/advanced_tutorials/visualization.md b/docs/zh_cn/advanced_tutorials/visualization.md index 47e7ae7f6a..ecc8dbf19e 100644 --- a/docs/zh_cn/advanced_tutorials/visualization.md +++ b/docs/zh_cn/advanced_tutorials/visualization.md @@ -99,7 +99,7 @@ def draw_featmap( # 多通道展开为多张图时候布局 arrangement: Tuple[int, int] = (5, 2), # 可以指定 resize_shape 参数来缩放特征图 - resize_shape:Optional[tuple] = None, + resize_shape: Optional[tuple] = None, # 图片和特征图绘制的叠加比例 alpha: float = 0.5, ) -> np.ndarray: diff --git a/docs/zh_cn/design/hook.md b/docs/zh_cn/design/hook.md index 7da694ae50..98756b37da 100644 --- a/docs/zh_cn/design/hook.md +++ b/docs/zh_cn/design/hook.md @@ -201,4 +201,4 @@ def main(): - before_save_checkpoint - after_load_checkpoint -你可能还想阅读[钩子的用法](../tutorials/hook.md)或者[钩子的 API 文档](mmengine.hooks)。 +你可能还想阅读[钩子的用法](../tutorials/hook.md)或者[钩子的 API 文档](../api/hooks)。 diff --git a/docs/zh_cn/design/infer.md b/docs/zh_cn/design/infer.md index d1d6645e53..edd83e0199 100644 --- a/docs/zh_cn/design/infer.md +++ b/docs/zh_cn/design/infer.md @@ -234,7 +234,7 @@ OpenMMLab 系列算法仓库必须将 Inferencer 注册到下游仓库的注册 入参: -- inputs:输入数据,通常为图片路径、或者图片数据组成的列表。`inputs` 中的每个元素也可以是其他类型的数据,只需要保证数据能够被 [\_init_pipeline](#initpipeline) 返回的 `pipeline` 处理即可。当 `inputs` 只含一个推理数据时,它可以不是一个 `list`,`__call__` 会在内部将 `inputs` 包装成列表,以便于后续处理 +- inputs:输入数据,通常为图片路径、或者图片数据组成的列表。`inputs` 中的每个元素也可以是其他类型的数据,只需要保证数据能够被 [\_init_pipeline](#_init_pipeline) 返回的 `pipeline` 处理即可。当 `inputs` 只含一个推理数据时,它可以不是一个 `list`,`__call__` 会在内部将 `inputs` 包装成列表,以便于后续处理 - return_datasample:是否将 datasample 转换成 `dict` 返回 - batch_size:推理的 batch size,会被进一步传给 `preprocess` 函数 - 其他参数:分发给 `preprocess`、`forward`、`visualize`、`postprocess` 函数的额外参数 diff --git a/docs/zh_cn/design/logging.md b/docs/zh_cn/design/logging.md index fbaa5074b2..f47dcf98b0 100644 --- a/docs/zh_cn/design/logging.md +++ b/docs/zh_cn/design/logging.md @@ -10,7 +10,7 @@ ![image](https://user-images.githubusercontent.com/57566630/163441489-47999f3a-3259-44ab-949c-77a8a599faa5.png) -训练过程中的产生的损失、学习率等数据由历史缓冲区管理和封装,汇总后交给消息枢纽维护。日志处理器将消息枢纽中的数据进行格式化,最后通过[记录器钩子(LoggerHook)](mmengine.hook.LoggerHook) 展示到各种可视化后端。**一般情况下用户无需感知数据处理流程,可以直接通过配置日志处理器来选择日志的统计方式**。在介绍 MMEngine 的日志系统的设计之前,可以先阅读[记录日志教程](../tutorials/logging.md) 了解日志系统的基本用法。 +训练过程中的产生的损失、学习率等数据由历史缓冲区管理和封装,汇总后交给消息枢纽维护。日志处理器将消息枢纽中的数据进行格式化,最后通过[记录器钩子(LoggerHook)](mmengine.hooks.LoggerHook) 展示到各种可视化后端。**一般情况下用户无需感知数据处理流程,可以直接通过配置日志处理器来选择日志的统计方式**。在介绍 MMEngine 的日志系统的设计之前,可以先阅读[记录日志教程](../advanced_tutorials/logging.md) 了解日志系统的基本用法。 ## 历史缓冲区(HistoryBuffer) diff --git a/docs/zh_cn/design/visualization.md b/docs/zh_cn/design/visualization.md index 72ea232e44..e219110b97 100644 --- a/docs/zh_cn/design/visualization.md +++ b/docs/zh_cn/design/visualization.md @@ -29,22 +29,22 @@ - [draw_bboxes](mmengine.visualization.Visualizer.draw_bboxes) 绘制单个或多个边界框 - [draw_points](mmengine.visualization.Visualizer.draw_points) 绘制单个或多个点 - [draw_texts](mmengine.visualization.Visualizer.draw_texts) 绘制单个或多个文本框 -- [draw_lines](mmengine.visualization.Visualizer.lines) 绘制单个或多个线段 +- [draw_lines](mmengine.visualization.Visualizer.draw_lines) 绘制单个或多个线段 - [draw_circles](mmengine.visualization.Visualizer.draw_circles) 绘制单个或多个圆 - [draw_polygons](mmengine.visualization.Visualizer.draw_polygons) 绘制单个或多个多边形 -- [draw_binary_masks](mmengine.visualization.Visualizer.draw_binary_mask) 绘制单个或多个二值掩码 +- [draw_binary_masks](mmengine.visualization.Visualizer.draw_binary_masks) 绘制单个或多个二值掩码 - [draw_featmap](mmengine.visualization.Visualizer.draw_featmap) 绘制特征图,静态方法 上述接口除了 `draw_featmap` 外都可以链式调用,因为该方法调用后可能会导致图片尺寸发生改变。为了避免给用户带来困扰, `draw_featmap` 被设置为静态方法。 **(2) 存储相关接口** -- [add_config](mmengine.visualization.writer.BaseWriter.add_config) 写配置到特定存储后端 -- [add_graph](mmengine.visualization.writer.BaseWriter.add_graph) 写模型图到特定存储后端 -- [add_image](mmengine.visualization.writer.BaseWriter.add_image) 写图片到特定存储后端 -- [add_scalar](mmengine.visualization.writer.BaseWriter.add_scalar) 写标量到特定存储后端 -- [add_scalars](mmengine.visualization.writer.BaseWriter.add_scalars) 一次性写多个标量到特定存储后端 -- [add_datasample](mmengine.visualization.writer.BaseWriter.add_datasample) 各个下游库绘制 datasample 数据的抽象接口 +- [add_config](mmengine.visualization.Visualizer.add_config) 写配置到特定存储后端 +- [add_graph](mmengine.visualization.Visualizer.add_graph) 写模型图到特定存储后端 +- [add_image](mmengine.visualization.Visualizer.add_image) 写图片到特定存储后端 +- [add_scalar](mmengine.visualization.Visualizer.add_scalar) 写标量到特定存储后端 +- [add_scalars](mmengine.visualization.Visualizer.add_scalars) 一次性写多个标量到特定存储后端 +- [add_datasample](mmengine.visualization.Visualizer.add_datasample) 各个下游库绘制 datasample 数据的抽象接口 以 add 前缀开头的接口表示存储接口。datasample 是 OpenMMLab 2.0 架构中设计的各个下游库统一的抽象数据接口,而 `add_datasample` 接口可以直接处理该数据格式,例如可视化预测结果、可视化 Dataset 或者 DataLoader 输出、可视化中间预测结果等等都可以直接调用下游库重写的 `add_datasample` 接口。 所有下游库都必须要继承 Visualizer 并实现 `add_datasample` 接口。以 MMDetection 为例,应该继承并通过该接口实现目标检测中所有预置任务的可视化功能,例如目标检测、实例分割、全景分割任务结果的绘制和存储。 @@ -57,20 +57,20 @@ - [get_backend](mmengine.visualization.Visualizer.get_backend) 通过 name 获取特定存储后端 - [close](mmengine.visualization.Visualizer.close) 关闭所有已经打开的资源,包括 VisBackend -关于其用法,可以参考 [可视化器用户教程](../tutorials/visualization.md)。 +关于其用法,可以参考 [可视化器用户教程](../advanced_tutorials/visualization.md)。 ## 3 可视化存储后端 VisBackend 在绘制后可以将绘制后的数据存储到多个可视化存储后端中。为了统一接口调用,MMEngine 提供了统一的抽象类 `BaseVisBackend`,和一些常用的 VisBackend 如 `LocalVisBackend`、`WandbVisBackend` 和 `TensorboardVisBackend`。 BaseVisBackend 定义了对外调用的接口规范,主要接口和属性如下: -- [add_config](mmengine.visualization.vis_backend.BaseVisBackend.add_config) 写配置到特定存储后端 -- [add_graph](mmengine.visualization.vis_backend.BaseVisBackend.add_graph) 写模型图到特定后端 -- [add_image](mmengine.visualization.vis_backend.BaseVisBackend.add_image) 写图片到特定后端 -- [add_scalar](mmengine.visualization.vis_backend.BaseVisBackend.add_scalar) 写标量到特定后端 -- [add_scalars](mmengine.visualization.vis_backend.BaseVisBackend.add_scalars) 一次性写多个标量到特定后端 -- [close](mmengine.visualization.vis_backend.BaseVisBackend.close) 关闭已经打开的资源 -- [experiment](mmengine.visualization.vis_backend.BaseVisBackend.experiment) 写后端对象,例如 WandB 对象和 Tensorboard 对象 +- [add_config](mmengine.visualization.BaseVisBackend.add_config) 写配置到特定存储后端 +- [add_graph](mmengine.visualization.BaseVisBackend.add_graph) 写模型图到特定后端 +- [add_image](mmengine.visualization.BaseVisBackend.add_image) 写图片到特定后端 +- [add_scalar](mmengine.visualization.BaseVisBackend.add_scalar) 写标量到特定后端 +- [add_scalars](mmengine.visualization.BaseVisBackend.add_scalars) 一次性写多个标量到特定后端 +- [close](mmengine.visualization.BaseVisBackend.close) 关闭已经打开的资源 +- [experiment](mmengine.visualization.BaseVisBackend.experiment) 写后端对象,例如 WandB 对象和 Tensorboard 对象 `BaseVisBackend` 定义了 5 个常见的写数据接口,考虑到某些写后端功能非常强大,例如 WandB,其具备写表格,写视频等等功能,针对这类需求用户可以直接获取 `experiment` 对象,然后调用写后端对象本身的 API 即可。而 `LocalVisBackend`、`WandbVisBackend` 和 `TensorboardVisBackend` 等都是继承自 `BaseVisBackend`,并根据自身特性实现了对应的存储功能。用户也可以继承 `BaseVisBackend` 从而扩展存储后端,实现自定义存储需求。 关于其用法,可以参考 [存储后端用户教程](../advanced_tutorials//visualization.md)。 diff --git a/docs/zh_cn/examples/train_a_gan.md b/docs/zh_cn/examples/train_a_gan.md index 6e2ffd1812..9b19331a55 100644 --- a/docs/zh_cn/examples/train_a_gan.md +++ b/docs/zh_cn/examples/train_a_gan.md @@ -16,7 +16,7 @@ ### 构建数据集 -接下来, 我们为 MNIST 数据集构建一个数据集类 `MNISTDataset`, 继承自数据集基类 [BaseDataset](mmengine.dataset.BaseDataset), 并且重载数据集基类的 `load_data_list` 函数, 保证返回值为 `list[dict]`,其中每个 `dict` 代表一个数据样本。更多关于 MMEngine 中数据集的用法,可以参考[数据集教程](../tutorials/basedataset.md)。 +接下来, 我们为 MNIST 数据集构建一个数据集类 `MNISTDataset`, 继承自数据集基类 [BaseDataset](mmengine.dataset.BaseDataset), 并且重载数据集基类的 `load_data_list` 函数, 保证返回值为 `list[dict]`,其中每个 `dict` 代表一个数据样本。更多关于 MMEngine 中数据集的用法,可以参考[数据集教程](../advanced_tutorials/basedataset.md)。 ```python import numpy as np @@ -261,7 +261,7 @@ model = GAN(generator, discriminator, 100, data_preprocessor) ## 构建优化器 MMEngine 使用 [OptimWrapper](mmengine.optim.OptimWrapper) 来封装优化器,对于多个优化器的情况,使用 [OptimWrapperDict](mmengine.optim.OptimWrapperDict) 对 OptimWrapper 再进行一次封装。 -关于优化器的更多信息,请参考[优化器教程](../tutorials/optimizer.md). +关于优化器的更多信息,请参考[优化器教程](../tutorials/optim_wrapper.md). ```python from mmengine.optim import OptimWrapper, OptimWrapperDict diff --git a/docs/zh_cn/get_started/introduction.md b/docs/zh_cn/get_started/introduction.md index bba150462e..e39581515c 100644 --- a/docs/zh_cn/get_started/introduction.md +++ b/docs/zh_cn/get_started/introduction.md @@ -55,4 +55,4 @@ MMEngine 中还实现了各种算法模型执行过程中需要用到的公共 - [分布式通信原语(Distributed Communication Primitives)](../advanced_tutorials/distributed.md):负责在程序分布式运行过程中不同进程间的通信。这套接口屏蔽了分布式和非分布式环境的区别,同时也自动处理了数据的设备和通信后端。 - [其他工具(Utils)](../advanced_tutorials/manager_mixin.md):还有一些工具性的模块,如 ManagerMixin,它实现了一种全局变量的创建和获取方式,执行器内很多全局可见对象的基类就是 ManagerMixin。 -用户可以进一步阅读[教程](<>)来了解这些模块的高级用法,也可以参考[设计文档](<>) 了解它们的设计思路与细节。 +用户可以进一步阅读[教程](../tutorials/runner.md)来了解这些模块的高级用法,也可以参考[设计文档](../design/hook.md) 了解它们的设计思路与细节。 diff --git a/docs/zh_cn/migration/model.md b/docs/zh_cn/migration/model.md index dd7f3f2db8..2972403555 100644 --- a/docs/zh_cn/migration/model.md +++ b/docs/zh_cn/migration/model.md @@ -214,7 +214,7 @@ class MMEngineToyModel(BaseModel): -关于等效代码中的[数据处理器(data_preprocessor)](mmengine.model.BaseDataPreprocessor) 和[优化器封装(optim_wrapper)](mmengine.optim.OptimWrapper) 的说明,详见[模型教程](../tutorials/model.md#数据处理器(DataPreprocessor))和[优化器封装教程](../tutorials/optim_wrapper.md)。 +关于等效代码中的[数据处理器(data_preprocessor)](mmengine.model.BaseDataPreprocessor) 和[优化器封装(optim_wrapper)](mmengine.optim.OptimWrapper) 的说明,详见[模型教程](../tutorials/model.md#数据预处理器datapreprocessor)和[优化器封装教程](../tutorials/optim_wrapper.md)。 模型具体差异如下: @@ -312,7 +312,7 @@ class MMEngineToyModel(BaseModel): -二者的区别主要在于优化器的使用方式。此外,`train_step` 接口返回值的差异和[上一节](参数更新流程统一的深度学习任务)提到的一致。 +二者的区别主要在于优化器的使用方式。此外,`train_step` 接口返回值的差异和[上一节](#常用的参数更新流程)提到的一致。 ## 验证/测试流程的迁移 diff --git a/docs/zh_cn/migration/param_scheduler.md b/docs/zh_cn/migration/param_scheduler.md index fe26fff90d..5c1ba0ce4a 100644 --- a/docs/zh_cn/migration/param_scheduler.md +++ b/docs/zh_cn/migration/param_scheduler.md @@ -560,4 +560,4 @@ param_scheduler = [ -你可能还想阅读[参数调度器的教程](../tutorials/param_scheduler.md)或者[参数调度器的 API 文档](mmengine.optim.scheduler)。 +你可能还想阅读[参数调度器的教程](../tutorials/param_scheduler.md)或者[参数调度器的 API 文档](../api/optim)。 diff --git a/docs/zh_cn/migration/runner.md b/docs/zh_cn/migration/runner.md index b4056c4ff2..098bc9db94 100644 --- a/docs/zh_cn/migration/runner.md +++ b/docs/zh_cn/migration/runner.md @@ -4,7 +4,7 @@ 随着支持的深度学习任务越来越多,用户的需求不断增加,我们对 MMCV 已有的执行器(Runner)的灵活性和通用性有了更高的要求。 因此,MMEngine 在 MMCV 的基础上,实现了一个更加通用灵活的执行器以支持更多复杂的模型训练流程。 -MMEngine 中的执行器扩大了作用域,也承担了更多的功能;我们抽象出了[训练循环控制器(EpochBasedTrainLoop/IterBasedTrainLoop)](mmengine.runner.EpochBasedLoop)、[验证循环控制器(ValLoop)](mmengine.runner.ValLoop)和[测试循环控制器(TestLoop)](mmengine.runner.TestLoop)来方便用户灵活拓展模型的执行流程。 +MMEngine 中的执行器扩大了作用域,也承担了更多的功能;我们抽象出了[训练循环控制器(EpochBasedTrainLoop/IterBasedTrainLoop)](mmengine.runner.EpochBasedTrainLoop)、[验证循环控制器(ValLoop)](mmengine.runner.ValLoop)和[测试循环控制器(TestLoop)](mmengine.runner.TestLoop)来方便用户灵活拓展模型的执行流程。 我们将首先介绍算法库的执行入口该如何从 MMCV 迁移到 MMEngine, 以最大程度地简化和统一执行入口的代码。 然后我们将详细介绍在 MMCV 和 MMEngine 中构造执行器及其内部组件进行训练的差异。 @@ -695,7 +695,7 @@ set_random_seed(seed, deterministic=args.deterministic) **MMEngine 设计随机种子** -配置执行器的 `randomness` 参数,配置规则详见[执行器 api 文档](mmengine.runner.Runner.set_randomnes1s) +配置执行器的 `randomness` 参数,配置规则详见[执行器 api 文档](mmengine.runner.Runner.set_randomness) **OpenMMLab 系列算法库配置变更** @@ -902,7 +902,7 @@ test_dataloader = val_dataloader ### 准备模型 -详见[迁移 MMCV 模型至 MMEngine](./migrate_model_from_mmcv.md) +详见[迁移 MMCV 模型至 MMEngine](../migration/model.md) ```python import torch.nn as nn @@ -1043,7 +1043,7 @@ optim_wrapper = dict( -```{note}: +```{note} 对于检测、分类一类的上层任务(High level)MMCV 需要配置 `optim_config` 来构建优化器钩子,而 MMEngine 不需要。 ``` @@ -1095,19 +1095,19 @@ MMEngine 执行器将 MMCV 常用的训练钩子配置成默认钩子: - [RuntimeInfoHook](mmengine.hooks.RuntimeInfoHook) - [IterTimerHook](mmengine.hooks.IterTimerHook) - [DistSamplerSeedHook](mmengine.hooks.DistSamplerSeedHook) -- [LoggerHook](mmedge.hooks.LoggerHook) +- [LoggerHook](mmengine.hooks.LoggerHook) - [CheckpointHook](mmengine.hooks.CheckpointHook) - [ParamSchedulerHook](mmengine.hooks.ParamSchedulerHook) 对比上例中 MMCV 配置的训练钩子: - `LrUpdaterHook` 对应 MMEngine 中的 `ParamSchedulerHook`,二者对应关系详见[迁移 `scheduler` 文档](./param_scheduler.md) -- MMEngine 在模型的 [train_step](mmengine.BaseModel.train_step) 时更新参数,因此不需要配置优化器钩子(`OptimizerHook`) +- MMEngine 在模型的 [train_step](mmengine.model.BaseModel.train_step) 时更新参数,因此不需要配置优化器钩子(`OptimizerHook`) - MMEngine 自带 `CheckPointHook`,可以使用默认配置 - MMEngine 自带 `LoggerHook`,可以使用默认配置 因此我们只需要配置执行器[优化器参数调整策略(param_scheduler)](../tutorials/param_scheduler.md),就能达到和 MMCV 示例一样的效果。 -MMEngine 也支持注册自定义钩子,具体教程详见[执行器教程](../tutorials/runner.md#通过配置文件使用执行器) 和[迁移 `hook` 文档](./migrate_hook_from_mmcv.md)。 +MMEngine 也支持注册自定义钩子,具体教程详见[钩子教程](../tutorials/hook.md#自定义钩子) 和[迁移 `hook` 文档](../migration/hook.md)。 @@ -1191,7 +1191,7 @@ param_scheduler = dict(type='MultiStepLR', milestones=[2, 3], gamma=0.1) ### 准备验证模块 -MMCV 借助 `EvalHook` 实现验证流程,受限于篇幅,这里不做进一步展开。MMEngine 通过[验证循环控制器(ValLoop)](../tutorials/runner.md#自定义执行流程) 和[评测器(Evaluator)](../tutorials/evaluation.md)实现执行流程,如果我们想基于自定义的评价指标完成验证流程,则需要定义一个 `Metric`,并将其注册至 `METRICS` 注册器: +MMCV 借助 `EvalHook` 实现验证流程,受限于篇幅,这里不做进一步展开。MMEngine 通过[验证循环控制器(ValLoop)](mmengine.runner.ValLoop) 和[评测器(Evaluator)](../tutorials/evaluation.md)实现执行流程,如果我们想基于自定义的评价指标完成验证流程,则需要定义一个 `Metric`,并将其注册至 `METRICS` 注册器: ```python import torch @@ -1213,7 +1213,7 @@ class ToyAccuracyMetric(BaseMetric): return dict(Accuracy=acc / num_sample) ``` -实现自定义 `Metric` 后,我们还需在执行器的构造参数中配置评测器和[验证循环控制器](../tutorials/runner.md#自定义执行流程),本教程中示例配置如下: +实现自定义 `Metric` 后,我们还需在执行器的构造参数中配置评测器和[验证循环控制器](mmengine.runner.ValLoop),本教程中示例配置如下: ```python val_evaluator = dict(type='ToyAccuracyMetric') diff --git a/docs/zh_cn/notes/code_style.md b/docs/zh_cn/notes/code_style.md index 1962d16d94..b294cde3c7 100644 --- a/docs/zh_cn/notes/code_style.md +++ b/docs/zh_cn/notes/code_style.md @@ -70,7 +70,7 @@ from mmcv.cnn.bricks import Conv2d, build_norm_layer, DropPath, MaxPool2d, \ from ...utils import is_str # 最多向上回溯一层,过多的回溯容易导致结构混乱 ``` -OpenMMLab 项目使用 pre-commit 工具自动格式化代码,详情见[贡献代码](./contributing.md#代码风格)。 +OpenMMLab 项目使用 pre-commit 工具自动格式化代码,详情见[贡献代码](./contributing.md#python-代码风格)。 ## 命名规范 diff --git a/docs/zh_cn/notes/contributing.md b/docs/zh_cn/notes/contributing.md index a8ddb03bc3..f79a5fe93c 100644 --- a/docs/zh_cn/notes/contributing.md +++ b/docs/zh_cn/notes/contributing.md @@ -164,7 +164,7 @@ git push -u origin {branch_name} MMEngine 会在不同的平台(Linux、Window、Mac),基于不同版本的 Python、PyTorch、CUDA 对提交的代码进行单元测试,以保证代码的正确性,如果有任何一个没有通过,我们可点击上图中的 `Details` 来查看具体的测试信息,以便于我们修改代码。 -(3) 如果 PR 通过了 CI,那么就可以等待其他开发者的 review,并根据 reviewer 的意见,修改代码,并重复 [4](#4-提交代码并本地通过单元测试)-[5](#5-推送代码到远程) 步骤,直到 reviewer 同意合入 PR。 +(3) 如果 PR 通过了 CI,那么就可以等待其他开发者的 review,并根据 reviewer 的意见,修改代码,并重复 [4](#4-提交代码并在本地通过单元测试)-[5](#5-推送代码到远程) 步骤,直到 reviewer 同意合入 PR。 @@ -224,10 +224,10 @@ make html - [mdformat](https://github.com/executablebooks/mdformat): 检查 markdown 文件的工具 - [docformatter](https://github.com/myint/docformatter): 格式化 docstring 的工具 -yapf 和 isort 的配置可以在 [setup.cfg](./setup.cfg) 找到 +yapf 和 isort 的配置可以在 [setup.cfg](../../../setup.cfg) 找到 通过配置 [pre-commit hook](https://pre-commit.com/) ,我们可以在提交代码时自动检查和格式化 `flake8`、`yapf`、`isort`、`trailing whitespaces`、`markdown files`,修复 `end-of-files`、`double-quoted-strings`、`python-encoding-pragma`、`mixed-line-ending`,调整 `requirments.txt` 的包顺序。 -pre-commit 钩子的配置可以在 [.pre-commit-config](./.pre-commit-config.yaml) 找到。 +pre-commit 钩子的配置可以在 [.pre-commit-config](../../../.pre-commit-config.yaml) 找到。 pre-commit 具体的安装使用方式见[拉取请求](#2-配置-pre-commit)。 diff --git a/docs/zh_cn/temp.txt b/docs/zh_cn/temp.txt new file mode 100644 index 0000000000..530bdf6e8e --- /dev/null +++ b/docs/zh_cn/temp.txt @@ -0,0 +1,1614 @@ +py:attribute + mmengine.fileio.FileClient.client api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.client + mmengine.fileio.LmdbBackend.db_path api/generated/mmengine.fileio.LmdbBackend.html#mmengine.fileio.LmdbBackend.db_path + mmengine.fileio.MemcachedBackend.client_cfg api/generated/mmengine.fileio.MemcachedBackend.html#mmengine.fileio.MemcachedBackend.client_cfg + mmengine.fileio.MemcachedBackend.server_list_cfg api/generated/mmengine.fileio.MemcachedBackend.html#mmengine.fileio.MemcachedBackend.server_list_cfg + mmengine.fileio.MemcachedBackend.sys_path api/generated/mmengine.fileio.MemcachedBackend.html#mmengine.fileio.MemcachedBackend.sys_path + mmengine.model.BaseModel.data_preprocessor api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.data_preprocessor + mmengine.model.BaseModel.init_cfg api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.init_cfg +py:class + mmengine.config.Config api/generated/mmengine.config.Config.html#mmengine.config.Config + mmengine.config.ConfigDict api/generated/mmengine.config.ConfigDict.html#mmengine.config.ConfigDict + mmengine.config.DictAction api/generated/mmengine.config.DictAction.html#mmengine.config.DictAction + mmengine.config.config.Config api/generated/mmengine.config.Config.html#mmengine.config.Config + mmengine.config.config.ConfigDict api/generated/mmengine.config.ConfigDict.html#mmengine.config.ConfigDict + mmengine.config.config.DictAction api/generated/mmengine.config.DictAction.html#mmengine.config.DictAction + mmengine.dataset.BaseDataset api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset + mmengine.dataset.ClassBalancedDataset api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset + mmengine.dataset.Compose api/generated/mmengine.dataset.Compose.html#mmengine.dataset.Compose + mmengine.dataset.ConcatDataset api/generated/mmengine.dataset.ConcatDataset.html#mmengine.dataset.ConcatDataset + mmengine.dataset.DefaultSampler api/generated/mmengine.dataset.DefaultSampler.html#mmengine.dataset.DefaultSampler + mmengine.dataset.InfiniteSampler api/generated/mmengine.dataset.InfiniteSampler.html#mmengine.dataset.InfiniteSampler + mmengine.dataset.RepeatDataset api/generated/mmengine.dataset.RepeatDataset.html#mmengine.dataset.RepeatDataset + mmengine.dataset.base_dataset.BaseDataset api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset + mmengine.dataset.base_dataset.Compose api/generated/mmengine.dataset.Compose.html#mmengine.dataset.Compose + mmengine.dataset.dataset_wrapper.ClassBalancedDataset api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset + mmengine.dataset.dataset_wrapper.ConcatDataset api/generated/mmengine.dataset.ConcatDataset.html#mmengine.dataset.ConcatDataset + mmengine.dataset.dataset_wrapper.RepeatDataset api/generated/mmengine.dataset.RepeatDataset.html#mmengine.dataset.RepeatDataset + mmengine.dataset.sampler.DefaultSampler api/generated/mmengine.dataset.DefaultSampler.html#mmengine.dataset.DefaultSampler + mmengine.dataset.sampler.InfiniteSampler api/generated/mmengine.dataset.InfiniteSampler.html#mmengine.dataset.InfiniteSampler + mmengine.evaluator.BaseMetric api/generated/mmengine.evaluator.BaseMetric.html#mmengine.evaluator.BaseMetric + mmengine.evaluator.DumpResults api/generated/mmengine.evaluator.DumpResults.html#mmengine.evaluator.DumpResults + mmengine.evaluator.Evaluator api/generated/mmengine.evaluator.Evaluator.html#mmengine.evaluator.Evaluator + mmengine.evaluator.evaluator.Evaluator api/generated/mmengine.evaluator.Evaluator.html#mmengine.evaluator.Evaluator + mmengine.evaluator.metric.BaseMetric api/generated/mmengine.evaluator.BaseMetric.html#mmengine.evaluator.BaseMetric + mmengine.evaluator.metric.DumpResults api/generated/mmengine.evaluator.DumpResults.html#mmengine.evaluator.DumpResults + mmengine.fileio.BaseFileHandler api/generated/mmengine.fileio.BaseFileHandler.html#mmengine.fileio.BaseFileHandler + mmengine.fileio.BaseStorageBackend api/generated/mmengine.fileio.BaseStorageBackend.html#mmengine.fileio.BaseStorageBackend + mmengine.fileio.FileClient api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient + mmengine.fileio.HTTPBackend api/generated/mmengine.fileio.HTTPBackend.html#mmengine.fileio.HTTPBackend + mmengine.fileio.HardDiskBackend api/generated/mmengine.fileio.HardDiskBackend.html#mmengine.fileio.HardDiskBackend + mmengine.fileio.JsonHandler api/generated/mmengine.fileio.JsonHandler.html#mmengine.fileio.JsonHandler + mmengine.fileio.LmdbBackend api/generated/mmengine.fileio.LmdbBackend.html#mmengine.fileio.LmdbBackend + mmengine.fileio.LocalBackend api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend + mmengine.fileio.MemcachedBackend api/generated/mmengine.fileio.MemcachedBackend.html#mmengine.fileio.MemcachedBackend + mmengine.fileio.PetrelBackend api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend + mmengine.fileio.PickleHandler api/generated/mmengine.fileio.PickleHandler.html#mmengine.fileio.PickleHandler + mmengine.fileio.YamlHandler api/generated/mmengine.fileio.YamlHandler.html#mmengine.fileio.YamlHandler + mmengine.fileio.backends.base.BaseStorageBackend api/generated/mmengine.fileio.BaseStorageBackend.html#mmengine.fileio.BaseStorageBackend + mmengine.fileio.backends.http_backend.HTTPBackend api/generated/mmengine.fileio.HTTPBackend.html#mmengine.fileio.HTTPBackend + mmengine.fileio.backends.lmdb_backend.LmdbBackend api/generated/mmengine.fileio.LmdbBackend.html#mmengine.fileio.LmdbBackend + mmengine.fileio.backends.local_backend.LocalBackend api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend + mmengine.fileio.backends.memcached_backend.MemcachedBackend api/generated/mmengine.fileio.MemcachedBackend.html#mmengine.fileio.MemcachedBackend + mmengine.fileio.backends.petrel_backend.PetrelBackend api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend + mmengine.fileio.file_client.FileClient api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient + mmengine.fileio.file_client.HardDiskBackend api/generated/mmengine.fileio.HardDiskBackend.html#mmengine.fileio.HardDiskBackend + mmengine.fileio.handlers.base.BaseFileHandler api/generated/mmengine.fileio.BaseFileHandler.html#mmengine.fileio.BaseFileHandler + mmengine.fileio.handlers.json_handler.JsonHandler api/generated/mmengine.fileio.JsonHandler.html#mmengine.fileio.JsonHandler + mmengine.fileio.handlers.pickle_handler.PickleHandler api/generated/mmengine.fileio.PickleHandler.html#mmengine.fileio.PickleHandler + mmengine.fileio.handlers.yaml_handler.YamlHandler api/generated/mmengine.fileio.YamlHandler.html#mmengine.fileio.YamlHandler + mmengine.hooks.CheckpointHook api/generated/mmengine.hooks.CheckpointHook.html#mmengine.hooks.CheckpointHook + mmengine.hooks.DistSamplerSeedHook api/generated/mmengine.hooks.DistSamplerSeedHook.html#mmengine.hooks.DistSamplerSeedHook + mmengine.hooks.EMAHook api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook + mmengine.hooks.EmptyCacheHook api/generated/mmengine.hooks.EmptyCacheHook.html#mmengine.hooks.EmptyCacheHook + mmengine.hooks.Hook api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook + mmengine.hooks.IterTimerHook api/generated/mmengine.hooks.IterTimerHook.html#mmengine.hooks.IterTimerHook + mmengine.hooks.LoggerHook api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook + mmengine.hooks.NaiveVisualizationHook api/generated/mmengine.hooks.NaiveVisualizationHook.html#mmengine.hooks.NaiveVisualizationHook + mmengine.hooks.ParamSchedulerHook api/generated/mmengine.hooks.ParamSchedulerHook.html#mmengine.hooks.ParamSchedulerHook + mmengine.hooks.PrepareTTAHook api/generated/mmengine.hooks.PrepareTTAHook.html#mmengine.hooks.PrepareTTAHook + mmengine.hooks.ProfilerHook api/generated/mmengine.hooks.ProfilerHook.html#mmengine.hooks.ProfilerHook + mmengine.hooks.RuntimeInfoHook api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook + mmengine.hooks.SyncBuffersHook api/generated/mmengine.hooks.SyncBuffersHook.html#mmengine.hooks.SyncBuffersHook + mmengine.hooks.checkpoint_hook.CheckpointHook api/generated/mmengine.hooks.CheckpointHook.html#mmengine.hooks.CheckpointHook + mmengine.hooks.ema_hook.EMAHook api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook + mmengine.hooks.empty_cache_hook.EmptyCacheHook api/generated/mmengine.hooks.EmptyCacheHook.html#mmengine.hooks.EmptyCacheHook + mmengine.hooks.hook.Hook api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook + mmengine.hooks.iter_timer_hook.IterTimerHook api/generated/mmengine.hooks.IterTimerHook.html#mmengine.hooks.IterTimerHook + mmengine.hooks.logger_hook.LoggerHook api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook + mmengine.hooks.naive_visualization_hook.NaiveVisualizationHook api/generated/mmengine.hooks.NaiveVisualizationHook.html#mmengine.hooks.NaiveVisualizationHook + mmengine.hooks.param_scheduler_hook.ParamSchedulerHook api/generated/mmengine.hooks.ParamSchedulerHook.html#mmengine.hooks.ParamSchedulerHook + mmengine.hooks.profiler_hook.ProfilerHook api/generated/mmengine.hooks.ProfilerHook.html#mmengine.hooks.ProfilerHook + mmengine.hooks.runtime_info_hook.RuntimeInfoHook api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook + mmengine.hooks.sampler_seed_hook.DistSamplerSeedHook api/generated/mmengine.hooks.DistSamplerSeedHook.html#mmengine.hooks.DistSamplerSeedHook + mmengine.hooks.sync_buffer_hook.SyncBuffersHook api/generated/mmengine.hooks.SyncBuffersHook.html#mmengine.hooks.SyncBuffersHook + mmengine.hooks.test_time_aug_hook.PrepareTTAHook api/generated/mmengine.hooks.PrepareTTAHook.html#mmengine.hooks.PrepareTTAHook + mmengine.infer.BaseInferencer api/generated/mmengine.infer.BaseInferencer.html#mmengine.infer.BaseInferencer + mmengine.infer.infer.BaseInferencer api/generated/mmengine.infer.BaseInferencer.html#mmengine.infer.BaseInferencer + mmengine.logging.HistoryBuffer api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer + mmengine.logging.MMLogger api/generated/mmengine.logging.MMLogger.html#mmengine.logging.MMLogger + mmengine.logging.MessageHub api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub + mmengine.logging.history_buffer.HistoryBuffer api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer + mmengine.logging.logger.MMLogger api/generated/mmengine.logging.MMLogger.html#mmengine.logging.MMLogger + mmengine.logging.message_hub.MessageHub api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub + mmengine.model.BaseAveragedModel api/generated/mmengine.model.BaseAveragedModel.html#mmengine.model.BaseAveragedModel + mmengine.model.BaseDataPreprocessor api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor + mmengine.model.BaseInit api/generated/mmengine.model.BaseInit.html#mmengine.model.BaseInit + mmengine.model.BaseModel api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel + mmengine.model.BaseModule api/generated/mmengine.model.BaseModule.html#mmengine.model.BaseModule + mmengine.model.BaseTTAModel api/generated/mmengine.model.BaseTTAModel.html#mmengine.model.BaseTTAModel + mmengine.model.Caffe2XavierInit api/generated/mmengine.model.Caffe2XavierInit.html#mmengine.model.Caffe2XavierInit + mmengine.model.ConstantInit api/generated/mmengine.model.ConstantInit.html#mmengine.model.ConstantInit + mmengine.model.ExponentialMovingAverage api/generated/mmengine.model.ExponentialMovingAverage.html#mmengine.model.ExponentialMovingAverage + mmengine.model.ImgDataPreprocessor api/generated/mmengine.model.ImgDataPreprocessor.html#mmengine.model.ImgDataPreprocessor + mmengine.model.KaimingInit api/generated/mmengine.model.KaimingInit.html#mmengine.model.KaimingInit + mmengine.model.MMDistributedDataParallel api/generated/mmengine.model.MMDistributedDataParallel.html#mmengine.model.MMDistributedDataParallel + mmengine.model.MMFullyShardedDataParallel api/generated/mmengine.model.MMFullyShardedDataParallel.html#mmengine.model.MMFullyShardedDataParallel + mmengine.model.MMSeparateDistributedDataParallel api/generated/mmengine.model.MMSeparateDistributedDataParallel.html#mmengine.model.MMSeparateDistributedDataParallel + mmengine.model.ModuleDict api/generated/mmengine.model.ModuleDict.html#mmengine.model.ModuleDict + mmengine.model.ModuleList api/generated/mmengine.model.ModuleList.html#mmengine.model.ModuleList + mmengine.model.MomentumAnnealingEMA api/generated/mmengine.model.MomentumAnnealingEMA.html#mmengine.model.MomentumAnnealingEMA + mmengine.model.NormalInit api/generated/mmengine.model.NormalInit.html#mmengine.model.NormalInit + mmengine.model.PretrainedInit api/generated/mmengine.model.PretrainedInit.html#mmengine.model.PretrainedInit + mmengine.model.Sequential api/generated/mmengine.model.Sequential.html#mmengine.model.Sequential + mmengine.model.StochasticWeightAverage api/generated/mmengine.model.StochasticWeightAverage.html#mmengine.model.StochasticWeightAverage + mmengine.model.TruncNormalInit api/generated/mmengine.model.TruncNormalInit.html#mmengine.model.TruncNormalInit + mmengine.model.UniformInit api/generated/mmengine.model.UniformInit.html#mmengine.model.UniformInit + mmengine.model.XavierInit api/generated/mmengine.model.XavierInit.html#mmengine.model.XavierInit + mmengine.model.averaged_model.BaseAveragedModel api/generated/mmengine.model.BaseAveragedModel.html#mmengine.model.BaseAveragedModel + mmengine.model.averaged_model.ExponentialMovingAverage api/generated/mmengine.model.ExponentialMovingAverage.html#mmengine.model.ExponentialMovingAverage + mmengine.model.averaged_model.MomentumAnnealingEMA api/generated/mmengine.model.MomentumAnnealingEMA.html#mmengine.model.MomentumAnnealingEMA + mmengine.model.averaged_model.StochasticWeightAverage api/generated/mmengine.model.StochasticWeightAverage.html#mmengine.model.StochasticWeightAverage + mmengine.model.base_model.base_model.BaseModel api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel + mmengine.model.base_model.data_preprocessor.BaseDataPreprocessor api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor + mmengine.model.base_model.data_preprocessor.ImgDataPreprocessor api/generated/mmengine.model.ImgDataPreprocessor.html#mmengine.model.ImgDataPreprocessor + mmengine.model.base_module.BaseModule api/generated/mmengine.model.BaseModule.html#mmengine.model.BaseModule + mmengine.model.base_module.ModuleDict api/generated/mmengine.model.ModuleDict.html#mmengine.model.ModuleDict + mmengine.model.base_module.ModuleList api/generated/mmengine.model.ModuleList.html#mmengine.model.ModuleList + mmengine.model.base_module.Sequential api/generated/mmengine.model.Sequential.html#mmengine.model.Sequential + mmengine.model.is_model_wrapper api/generated/mmengine.model.is_model_wrapper.html#mmengine.model.is_model_wrapper + mmengine.model.test_time_aug.BaseTTAModel api/generated/mmengine.model.BaseTTAModel.html#mmengine.model.BaseTTAModel + mmengine.model.weight_init.BaseInit api/generated/mmengine.model.BaseInit.html#mmengine.model.BaseInit + mmengine.model.weight_init.Caffe2XavierInit api/generated/mmengine.model.Caffe2XavierInit.html#mmengine.model.Caffe2XavierInit + mmengine.model.weight_init.ConstantInit api/generated/mmengine.model.ConstantInit.html#mmengine.model.ConstantInit + mmengine.model.weight_init.KaimingInit api/generated/mmengine.model.KaimingInit.html#mmengine.model.KaimingInit + mmengine.model.weight_init.NormalInit api/generated/mmengine.model.NormalInit.html#mmengine.model.NormalInit + mmengine.model.weight_init.PretrainedInit api/generated/mmengine.model.PretrainedInit.html#mmengine.model.PretrainedInit + mmengine.model.weight_init.TruncNormalInit api/generated/mmengine.model.TruncNormalInit.html#mmengine.model.TruncNormalInit + mmengine.model.weight_init.UniformInit api/generated/mmengine.model.UniformInit.html#mmengine.model.UniformInit + mmengine.model.weight_init.XavierInit api/generated/mmengine.model.XavierInit.html#mmengine.model.XavierInit + mmengine.model.wrappers.distributed.MMDistributedDataParallel api/generated/mmengine.model.MMDistributedDataParallel.html#mmengine.model.MMDistributedDataParallel + mmengine.model.wrappers.fully_sharded_distributed.MMFullyShardedDataParallel api/generated/mmengine.model.MMFullyShardedDataParallel.html#mmengine.model.MMFullyShardedDataParallel + mmengine.model.wrappers.seperate_distributed.MMSeparateDistributedDataParallel api/generated/mmengine.model.MMSeparateDistributedDataParallel.html#mmengine.model.MMSeparateDistributedDataParallel + mmengine.model.wrappers.utils.is_model_wrapper api/generated/mmengine.model.is_model_wrapper.html#mmengine.model.is_model_wrapper + mmengine.optim.AmpOptimWrapper api/generated/mmengine.optim.AmpOptimWrapper.html#mmengine.optim.AmpOptimWrapper + mmengine.optim.ApexOptimWrapper api/generated/mmengine.optim.ApexOptimWrapper.html#mmengine.optim.ApexOptimWrapper + mmengine.optim.ConstantLR api/generated/mmengine.optim.ConstantLR.html#mmengine.optim.ConstantLR + mmengine.optim.ConstantMomentum api/generated/mmengine.optim.ConstantMomentum.html#mmengine.optim.ConstantMomentum + mmengine.optim.ConstantParamScheduler api/generated/mmengine.optim.ConstantParamScheduler.html#mmengine.optim.ConstantParamScheduler + mmengine.optim.CosineAnnealingLR api/generated/mmengine.optim.CosineAnnealingLR.html#mmengine.optim.CosineAnnealingLR + mmengine.optim.CosineAnnealingMomentum api/generated/mmengine.optim.CosineAnnealingMomentum.html#mmengine.optim.CosineAnnealingMomentum + mmengine.optim.CosineAnnealingParamScheduler api/generated/mmengine.optim.CosineAnnealingParamScheduler.html#mmengine.optim.CosineAnnealingParamScheduler + mmengine.optim.DefaultOptimWrapperConstructor api/generated/mmengine.optim.DefaultOptimWrapperConstructor.html#mmengine.optim.DefaultOptimWrapperConstructor + mmengine.optim.ExponentialLR api/generated/mmengine.optim.ExponentialLR.html#mmengine.optim.ExponentialLR + mmengine.optim.ExponentialMomentum api/generated/mmengine.optim.ExponentialMomentum.html#mmengine.optim.ExponentialMomentum + mmengine.optim.ExponentialParamScheduler api/generated/mmengine.optim.ExponentialParamScheduler.html#mmengine.optim.ExponentialParamScheduler + mmengine.optim.LinearLR api/generated/mmengine.optim.LinearLR.html#mmengine.optim.LinearLR + mmengine.optim.LinearMomentum api/generated/mmengine.optim.LinearMomentum.html#mmengine.optim.LinearMomentum + mmengine.optim.LinearParamScheduler api/generated/mmengine.optim.LinearParamScheduler.html#mmengine.optim.LinearParamScheduler + mmengine.optim.MultiStepLR api/generated/mmengine.optim.MultiStepLR.html#mmengine.optim.MultiStepLR + mmengine.optim.MultiStepMomentum api/generated/mmengine.optim.MultiStepMomentum.html#mmengine.optim.MultiStepMomentum + mmengine.optim.MultiStepParamScheduler api/generated/mmengine.optim.MultiStepParamScheduler.html#mmengine.optim.MultiStepParamScheduler + mmengine.optim.OneCycleLR api/generated/mmengine.optim.OneCycleLR.html#mmengine.optim.OneCycleLR + mmengine.optim.OneCycleParamScheduler api/generated/mmengine.optim.OneCycleParamScheduler.html#mmengine.optim.OneCycleParamScheduler + mmengine.optim.OptimWrapper api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper + mmengine.optim.OptimWrapperDict api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict + mmengine.optim.PolyLR api/generated/mmengine.optim.PolyLR.html#mmengine.optim.PolyLR + mmengine.optim.PolyMomentum api/generated/mmengine.optim.PolyMomentum.html#mmengine.optim.PolyMomentum + mmengine.optim.PolyParamScheduler api/generated/mmengine.optim.PolyParamScheduler.html#mmengine.optim.PolyParamScheduler + mmengine.optim.ReduceOnPlateauLR api/generated/mmengine.optim.ReduceOnPlateauLR.html#mmengine.optim.ReduceOnPlateauLR + mmengine.optim.ReduceOnPlateauMomentum api/generated/mmengine.optim.ReduceOnPlateauMomentum.html#mmengine.optim.ReduceOnPlateauMomentum + mmengine.optim.ReduceOnPlateauParamScheduler api/generated/mmengine.optim.ReduceOnPlateauParamScheduler.html#mmengine.optim.ReduceOnPlateauParamScheduler + mmengine.optim.StepLR api/generated/mmengine.optim.StepLR.html#mmengine.optim.StepLR + mmengine.optim.StepMomentum api/generated/mmengine.optim.StepMomentum.html#mmengine.optim.StepMomentum + mmengine.optim.StepParamScheduler api/generated/mmengine.optim.StepParamScheduler.html#mmengine.optim.StepParamScheduler + mmengine.optim.ZeroRedundancyOptimizer api/generated/mmengine.optim.ZeroRedundancyOptimizer.html#mmengine.optim.ZeroRedundancyOptimizer + mmengine.optim._ParamScheduler api/generated/mmengine.optim._ParamScheduler.html#mmengine.optim._ParamScheduler + mmengine.optim.optimizer.amp_optimizer_wrapper.AmpOptimWrapper api/generated/mmengine.optim.AmpOptimWrapper.html#mmengine.optim.AmpOptimWrapper + mmengine.optim.optimizer.apex_optimizer_wrapper.ApexOptimWrapper api/generated/mmengine.optim.ApexOptimWrapper.html#mmengine.optim.ApexOptimWrapper + mmengine.optim.optimizer.default_constructor.DefaultOptimWrapperConstructor api/generated/mmengine.optim.DefaultOptimWrapperConstructor.html#mmengine.optim.DefaultOptimWrapperConstructor + mmengine.optim.optimizer.optimizer_wrapper.OptimWrapper api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper + mmengine.optim.optimizer.optimizer_wrapper_dict.OptimWrapperDict api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict + mmengine.optim.optimizer.zero_optimizer.ZeroRedundancyOptimizer api/generated/mmengine.optim.ZeroRedundancyOptimizer.html#mmengine.optim.ZeroRedundancyOptimizer + mmengine.optim.scheduler.lr_scheduler.ConstantLR api/generated/mmengine.optim.ConstantLR.html#mmengine.optim.ConstantLR + mmengine.optim.scheduler.lr_scheduler.CosineAnnealingLR api/generated/mmengine.optim.CosineAnnealingLR.html#mmengine.optim.CosineAnnealingLR + mmengine.optim.scheduler.lr_scheduler.ExponentialLR api/generated/mmengine.optim.ExponentialLR.html#mmengine.optim.ExponentialLR + mmengine.optim.scheduler.lr_scheduler.LinearLR api/generated/mmengine.optim.LinearLR.html#mmengine.optim.LinearLR + mmengine.optim.scheduler.lr_scheduler.MultiStepLR api/generated/mmengine.optim.MultiStepLR.html#mmengine.optim.MultiStepLR + mmengine.optim.scheduler.lr_scheduler.OneCycleLR api/generated/mmengine.optim.OneCycleLR.html#mmengine.optim.OneCycleLR + mmengine.optim.scheduler.lr_scheduler.PolyLR api/generated/mmengine.optim.PolyLR.html#mmengine.optim.PolyLR + mmengine.optim.scheduler.lr_scheduler.ReduceOnPlateauLR api/generated/mmengine.optim.ReduceOnPlateauLR.html#mmengine.optim.ReduceOnPlateauLR + mmengine.optim.scheduler.lr_scheduler.StepLR api/generated/mmengine.optim.StepLR.html#mmengine.optim.StepLR + mmengine.optim.scheduler.momentum_scheduler.ConstantMomentum api/generated/mmengine.optim.ConstantMomentum.html#mmengine.optim.ConstantMomentum + mmengine.optim.scheduler.momentum_scheduler.CosineAnnealingMomentum api/generated/mmengine.optim.CosineAnnealingMomentum.html#mmengine.optim.CosineAnnealingMomentum + mmengine.optim.scheduler.momentum_scheduler.ExponentialMomentum api/generated/mmengine.optim.ExponentialMomentum.html#mmengine.optim.ExponentialMomentum + mmengine.optim.scheduler.momentum_scheduler.LinearMomentum api/generated/mmengine.optim.LinearMomentum.html#mmengine.optim.LinearMomentum + mmengine.optim.scheduler.momentum_scheduler.MultiStepMomentum api/generated/mmengine.optim.MultiStepMomentum.html#mmengine.optim.MultiStepMomentum + mmengine.optim.scheduler.momentum_scheduler.PolyMomentum api/generated/mmengine.optim.PolyMomentum.html#mmengine.optim.PolyMomentum + mmengine.optim.scheduler.momentum_scheduler.ReduceOnPlateauMomentum api/generated/mmengine.optim.ReduceOnPlateauMomentum.html#mmengine.optim.ReduceOnPlateauMomentum + mmengine.optim.scheduler.momentum_scheduler.StepMomentum api/generated/mmengine.optim.StepMomentum.html#mmengine.optim.StepMomentum + mmengine.optim.scheduler.param_scheduler.ConstantParamScheduler api/generated/mmengine.optim.ConstantParamScheduler.html#mmengine.optim.ConstantParamScheduler + mmengine.optim.scheduler.param_scheduler.CosineAnnealingParamScheduler api/generated/mmengine.optim.CosineAnnealingParamScheduler.html#mmengine.optim.CosineAnnealingParamScheduler + mmengine.optim.scheduler.param_scheduler.ExponentialParamScheduler api/generated/mmengine.optim.ExponentialParamScheduler.html#mmengine.optim.ExponentialParamScheduler + mmengine.optim.scheduler.param_scheduler.LinearParamScheduler api/generated/mmengine.optim.LinearParamScheduler.html#mmengine.optim.LinearParamScheduler + mmengine.optim.scheduler.param_scheduler.MultiStepParamScheduler api/generated/mmengine.optim.MultiStepParamScheduler.html#mmengine.optim.MultiStepParamScheduler + mmengine.optim.scheduler.param_scheduler.OneCycleParamScheduler api/generated/mmengine.optim.OneCycleParamScheduler.html#mmengine.optim.OneCycleParamScheduler + mmengine.optim.scheduler.param_scheduler.PolyParamScheduler api/generated/mmengine.optim.PolyParamScheduler.html#mmengine.optim.PolyParamScheduler + mmengine.optim.scheduler.param_scheduler.ReduceOnPlateauParamScheduler api/generated/mmengine.optim.ReduceOnPlateauParamScheduler.html#mmengine.optim.ReduceOnPlateauParamScheduler + mmengine.optim.scheduler.param_scheduler.StepParamScheduler api/generated/mmengine.optim.StepParamScheduler.html#mmengine.optim.StepParamScheduler + mmengine.optim.scheduler.param_scheduler._ParamScheduler api/generated/mmengine.optim._ParamScheduler.html#mmengine.optim._ParamScheduler + mmengine.registry.DefaultScope api/generated/mmengine.registry.DefaultScope.html#mmengine.registry.DefaultScope + mmengine.registry.Registry api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry + mmengine.registry.default_scope.DefaultScope api/generated/mmengine.registry.DefaultScope.html#mmengine.registry.DefaultScope + mmengine.registry.registry.Registry api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry + mmengine.runner.BaseLoop api/generated/mmengine.runner.BaseLoop.html#mmengine.runner.BaseLoop + mmengine.runner.CheckpointLoader api/generated/mmengine.runner.CheckpointLoader.html#mmengine.runner.CheckpointLoader + mmengine.runner.EpochBasedTrainLoop api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop + mmengine.runner.IterBasedTrainLoop api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop + mmengine.runner.LogProcessor api/generated/mmengine.runner.LogProcessor.html#mmengine.runner.LogProcessor + mmengine.runner.Priority api/generated/mmengine.runner.Priority.html#mmengine.runner.Priority + mmengine.runner.Runner api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner + mmengine.runner.TestLoop api/generated/mmengine.runner.TestLoop.html#mmengine.runner.TestLoop + mmengine.runner.ValLoop api/generated/mmengine.runner.ValLoop.html#mmengine.runner.ValLoop + mmengine.runner.base_loop.BaseLoop api/generated/mmengine.runner.BaseLoop.html#mmengine.runner.BaseLoop + mmengine.runner.checkpoint.CheckpointLoader api/generated/mmengine.runner.CheckpointLoader.html#mmengine.runner.CheckpointLoader + mmengine.runner.log_processor.LogProcessor api/generated/mmengine.runner.LogProcessor.html#mmengine.runner.LogProcessor + mmengine.runner.loops.EpochBasedTrainLoop api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop + mmengine.runner.loops.IterBasedTrainLoop api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop + mmengine.runner.loops.TestLoop api/generated/mmengine.runner.TestLoop.html#mmengine.runner.TestLoop + mmengine.runner.loops.ValLoop api/generated/mmengine.runner.ValLoop.html#mmengine.runner.ValLoop + mmengine.runner.priority.Priority api/generated/mmengine.runner.Priority.html#mmengine.runner.Priority + mmengine.runner.runner.Runner api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner + mmengine.structures.BaseDataElement api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement + mmengine.structures.InstanceData api/generated/mmengine.structures.InstanceData.html#mmengine.structures.InstanceData + mmengine.structures.LabelData api/generated/mmengine.structures.LabelData.html#mmengine.structures.LabelData + mmengine.structures.PixelData api/generated/mmengine.structures.PixelData.html#mmengine.structures.PixelData + mmengine.structures.base_data_element.BaseDataElement api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement + mmengine.structures.instance_data.InstanceData api/generated/mmengine.structures.InstanceData.html#mmengine.structures.InstanceData + mmengine.structures.label_data.LabelData api/generated/mmengine.structures.LabelData.html#mmengine.structures.LabelData + mmengine.structures.pixel_data.PixelData api/generated/mmengine.structures.PixelData.html#mmengine.structures.PixelData + mmengine.utils.ManagerMeta api/generated/mmengine.utils.ManagerMeta.html#mmengine.utils.ManagerMeta + mmengine.utils.ManagerMixin api/generated/mmengine.utils.ManagerMixin.html#mmengine.utils.ManagerMixin + mmengine.utils.ProgressBar api/generated/mmengine.utils.ProgressBar.html#mmengine.utils.ProgressBar + mmengine.utils.Timer api/generated/mmengine.utils.Timer.html#mmengine.utils.Timer + mmengine.utils.TimerError api/generated/mmengine.utils.TimerError.html#mmengine.utils.TimerError + mmengine.utils.dl_utils.TimeCounter api/generated/mmengine.utils.dl_utils.TimeCounter.html#mmengine.utils.dl_utils.TimeCounter + mmengine.utils.dl_utils.time_counter.TimeCounter api/generated/mmengine.utils.dl_utils.TimeCounter.html#mmengine.utils.dl_utils.TimeCounter + mmengine.utils.manager.ManagerMeta api/generated/mmengine.utils.ManagerMeta.html#mmengine.utils.ManagerMeta + mmengine.utils.manager.ManagerMixin api/generated/mmengine.utils.ManagerMixin.html#mmengine.utils.ManagerMixin + mmengine.utils.progressbar.ProgressBar api/generated/mmengine.utils.ProgressBar.html#mmengine.utils.ProgressBar + mmengine.utils.timer.Timer api/generated/mmengine.utils.Timer.html#mmengine.utils.Timer + mmengine.utils.timer.TimerError api/generated/mmengine.utils.TimerError.html#mmengine.utils.TimerError + mmengine.visualization.BaseVisBackend api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend + mmengine.visualization.LocalVisBackend api/generated/mmengine.visualization.LocalVisBackend.html#mmengine.visualization.LocalVisBackend + mmengine.visualization.TensorboardVisBackend api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend + mmengine.visualization.Visualizer api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer + mmengine.visualization.WandbVisBackend api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend + mmengine.visualization.vis_backend.BaseVisBackend api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend + mmengine.visualization.vis_backend.LocalVisBackend api/generated/mmengine.visualization.LocalVisBackend.html#mmengine.visualization.LocalVisBackend + mmengine.visualization.vis_backend.TensorboardVisBackend api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend + mmengine.visualization.vis_backend.WandbVisBackend api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend + mmengine.visualization.visualizer.Visualizer api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer +py:data + mmengine.utils.dl_utils.TORCH_VERSION api/generated/mmengine.utils.dl_utils.TORCH_VERSION.html#mmengine.utils.dl_utils.TORCH_VERSION +py:function + mmengine.dataset.default_collate api/generated/mmengine.dataset.default_collate.html#mmengine.dataset.default_collate + mmengine.dataset.pseudo_collate api/generated/mmengine.dataset.pseudo_collate.html#mmengine.dataset.pseudo_collate + mmengine.dataset.worker_init_fn api/generated/mmengine.dataset.worker_init_fn.html#mmengine.dataset.worker_init_fn + mmengine.device.get_device api/generated/mmengine.device.get_device.html#mmengine.device.get_device + mmengine.device.get_max_cuda_memory api/generated/mmengine.device.get_max_cuda_memory.html#mmengine.device.get_max_cuda_memory + mmengine.device.is_cuda_available api/generated/mmengine.device.is_cuda_available.html#mmengine.device.is_cuda_available + mmengine.device.is_mlu_available api/generated/mmengine.device.is_mlu_available.html#mmengine.device.is_mlu_available + mmengine.device.is_mps_available api/generated/mmengine.device.is_mps_available.html#mmengine.device.is_mps_available + mmengine.device.is_npu_available api/generated/mmengine.device.is_npu_available.html#mmengine.device.is_npu_available + mmengine.dist.all_gather api/generated/mmengine.dist.all_gather.html#mmengine.dist.all_gather + mmengine.dist.all_gather_object api/generated/mmengine.dist.all_gather_object.html#mmengine.dist.all_gather_object + mmengine.dist.all_reduce api/generated/mmengine.dist.all_reduce.html#mmengine.dist.all_reduce + mmengine.dist.all_reduce_dict api/generated/mmengine.dist.all_reduce_dict.html#mmengine.dist.all_reduce_dict + mmengine.dist.all_reduce_params api/generated/mmengine.dist.all_reduce_params.html#mmengine.dist.all_reduce_params + mmengine.dist.barrier api/generated/mmengine.dist.barrier.html#mmengine.dist.barrier + mmengine.dist.broadcast api/generated/mmengine.dist.broadcast.html#mmengine.dist.broadcast + mmengine.dist.broadcast_object_list api/generated/mmengine.dist.broadcast_object_list.html#mmengine.dist.broadcast_object_list + mmengine.dist.cast_data_device api/generated/mmengine.dist.cast_data_device.html#mmengine.dist.cast_data_device + mmengine.dist.collect_results api/generated/mmengine.dist.collect_results.html#mmengine.dist.collect_results + mmengine.dist.collect_results_cpu api/generated/mmengine.dist.collect_results_cpu.html#mmengine.dist.collect_results_cpu + mmengine.dist.collect_results_gpu api/generated/mmengine.dist.collect_results_gpu.html#mmengine.dist.collect_results_gpu + mmengine.dist.gather api/generated/mmengine.dist.gather.html#mmengine.dist.gather + mmengine.dist.gather_object api/generated/mmengine.dist.gather_object.html#mmengine.dist.gather_object + mmengine.dist.get_backend api/generated/mmengine.dist.get_backend.html#mmengine.dist.get_backend + mmengine.dist.get_comm_device api/generated/mmengine.dist.get_comm_device.html#mmengine.dist.get_comm_device + mmengine.dist.get_data_device api/generated/mmengine.dist.get_data_device.html#mmengine.dist.get_data_device + mmengine.dist.get_default_group api/generated/mmengine.dist.get_default_group.html#mmengine.dist.get_default_group + mmengine.dist.get_dist_info api/generated/mmengine.dist.get_dist_info.html#mmengine.dist.get_dist_info + mmengine.dist.get_local_group api/generated/mmengine.dist.get_local_group.html#mmengine.dist.get_local_group + mmengine.dist.get_local_rank api/generated/mmengine.dist.get_local_rank.html#mmengine.dist.get_local_rank + mmengine.dist.get_local_size api/generated/mmengine.dist.get_local_size.html#mmengine.dist.get_local_size + mmengine.dist.get_rank api/generated/mmengine.dist.get_rank.html#mmengine.dist.get_rank + mmengine.dist.get_world_size api/generated/mmengine.dist.get_world_size.html#mmengine.dist.get_world_size + mmengine.dist.init_dist api/generated/mmengine.dist.init_dist.html#mmengine.dist.init_dist + mmengine.dist.init_local_group api/generated/mmengine.dist.init_local_group.html#mmengine.dist.init_local_group + mmengine.dist.is_distributed api/generated/mmengine.dist.is_distributed.html#mmengine.dist.is_distributed + mmengine.dist.is_main_process api/generated/mmengine.dist.is_main_process.html#mmengine.dist.is_main_process + mmengine.dist.master_only api/generated/mmengine.dist.master_only.html#mmengine.dist.master_only + mmengine.dist.sync_random_seed api/generated/mmengine.dist.sync_random_seed.html#mmengine.dist.sync_random_seed + mmengine.evaluator.get_metric_value api/generated/mmengine.evaluator.get_metric_value.html#mmengine.evaluator.get_metric_value + mmengine.fileio.copy_if_symlink_fails api/generated/mmengine.fileio.copy_if_symlink_fails.html#mmengine.fileio.copy_if_symlink_fails + mmengine.fileio.copyfile api/generated/mmengine.fileio.copyfile.html#mmengine.fileio.copyfile + mmengine.fileio.copyfile_from_local api/generated/mmengine.fileio.copyfile_from_local.html#mmengine.fileio.copyfile_from_local + mmengine.fileio.copyfile_to_local api/generated/mmengine.fileio.copyfile_to_local.html#mmengine.fileio.copyfile_to_local + mmengine.fileio.copytree api/generated/mmengine.fileio.copytree.html#mmengine.fileio.copytree + mmengine.fileio.copytree_from_local api/generated/mmengine.fileio.copytree_from_local.html#mmengine.fileio.copytree_from_local + mmengine.fileio.copytree_to_local api/generated/mmengine.fileio.copytree_to_local.html#mmengine.fileio.copytree_to_local + mmengine.fileio.dict_from_file api/generated/mmengine.fileio.dict_from_file.html#mmengine.fileio.dict_from_file + mmengine.fileio.dump api/generated/mmengine.fileio.dump.html#mmengine.fileio.dump + mmengine.fileio.exists api/generated/mmengine.fileio.exists.html#mmengine.fileio.exists + mmengine.fileio.generate_presigned_url api/generated/mmengine.fileio.generate_presigned_url.html#mmengine.fileio.generate_presigned_url + mmengine.fileio.get api/generated/mmengine.fileio.get.html#mmengine.fileio.get + mmengine.fileio.get_file_backend api/generated/mmengine.fileio.get_file_backend.html#mmengine.fileio.get_file_backend + mmengine.fileio.get_local_path api/generated/mmengine.fileio.get_local_path.html#mmengine.fileio.get_local_path + mmengine.fileio.get_text api/generated/mmengine.fileio.get_text.html#mmengine.fileio.get_text + mmengine.fileio.isdir api/generated/mmengine.fileio.isdir.html#mmengine.fileio.isdir + mmengine.fileio.isfile api/generated/mmengine.fileio.isfile.html#mmengine.fileio.isfile + mmengine.fileio.join_path api/generated/mmengine.fileio.join_path.html#mmengine.fileio.join_path + mmengine.fileio.list_dir_or_file api/generated/mmengine.fileio.list_dir_or_file.html#mmengine.fileio.list_dir_or_file + mmengine.fileio.list_from_file api/generated/mmengine.fileio.list_from_file.html#mmengine.fileio.list_from_file + mmengine.fileio.load api/generated/mmengine.fileio.load.html#mmengine.fileio.load + mmengine.fileio.put api/generated/mmengine.fileio.put.html#mmengine.fileio.put + mmengine.fileio.put_text api/generated/mmengine.fileio.put_text.html#mmengine.fileio.put_text + mmengine.fileio.register_backend api/generated/mmengine.fileio.register_backend.html#mmengine.fileio.register_backend + mmengine.fileio.register_handler api/generated/mmengine.fileio.register_handler.html#mmengine.fileio.register_handler + mmengine.fileio.remove api/generated/mmengine.fileio.remove.html#mmengine.fileio.remove + mmengine.fileio.rmtree api/generated/mmengine.fileio.rmtree.html#mmengine.fileio.rmtree + mmengine.hub.get_config api/generated/mmengine.hub.get_config.html#mmengine.hub.get_config + mmengine.hub.get_model api/generated/mmengine.hub.get_model.html#mmengine.hub.get_model + mmengine.logging.print_log api/generated/mmengine.logging.print_log.html#mmengine.logging.print_log + mmengine.model.bias_init_with_prob api/generated/mmengine.model.bias_init_with_prob.html#mmengine.model.bias_init_with_prob + mmengine.model.caffe2_xavier_init api/generated/mmengine.model.caffe2_xavier_init.html#mmengine.model.caffe2_xavier_init + mmengine.model.constant_init api/generated/mmengine.model.constant_init.html#mmengine.model.constant_init + mmengine.model.convert_sync_batchnorm api/generated/mmengine.model.convert_sync_batchnorm.html#mmengine.model.convert_sync_batchnorm + mmengine.model.detect_anomalous_params api/generated/mmengine.model.detect_anomalous_params.html#mmengine.model.detect_anomalous_params + mmengine.model.initialize api/generated/mmengine.model.initialize.html#mmengine.model.initialize + mmengine.model.kaiming_init api/generated/mmengine.model.kaiming_init.html#mmengine.model.kaiming_init + mmengine.model.merge_dict api/generated/mmengine.model.merge_dict.html#mmengine.model.merge_dict + mmengine.model.normal_init api/generated/mmengine.model.normal_init.html#mmengine.model.normal_init + mmengine.model.revert_sync_batchnorm api/generated/mmengine.model.revert_sync_batchnorm.html#mmengine.model.revert_sync_batchnorm + mmengine.model.stack_batch api/generated/mmengine.model.stack_batch.html#mmengine.model.stack_batch + mmengine.model.trunc_normal_init api/generated/mmengine.model.trunc_normal_init.html#mmengine.model.trunc_normal_init + mmengine.model.uniform_init api/generated/mmengine.model.uniform_init.html#mmengine.model.uniform_init + mmengine.model.update_init_info api/generated/mmengine.model.update_init_info.html#mmengine.model.update_init_info + mmengine.model.xavier_init api/generated/mmengine.model.xavier_init.html#mmengine.model.xavier_init + mmengine.optim.build_optim_wrapper api/generated/mmengine.optim.build_optim_wrapper.html#mmengine.optim.build_optim_wrapper + mmengine.registry.build_from_cfg api/generated/mmengine.registry.build_from_cfg.html#mmengine.registry.build_from_cfg + mmengine.registry.build_model_from_cfg api/generated/mmengine.registry.build_model_from_cfg.html#mmengine.registry.build_model_from_cfg + mmengine.registry.build_runner_from_cfg api/generated/mmengine.registry.build_runner_from_cfg.html#mmengine.registry.build_runner_from_cfg + mmengine.registry.build_scheduler_from_cfg api/generated/mmengine.registry.build_scheduler_from_cfg.html#mmengine.registry.build_scheduler_from_cfg + mmengine.registry.count_registered_modules api/generated/mmengine.registry.count_registered_modules.html#mmengine.registry.count_registered_modules + mmengine.registry.init_default_scope api/generated/mmengine.registry.init_default_scope.html#mmengine.registry.init_default_scope + mmengine.registry.traverse_registry_tree api/generated/mmengine.registry.traverse_registry_tree.html#mmengine.registry.traverse_registry_tree + mmengine.runner.autocast api/generated/mmengine.runner.autocast.html#mmengine.runner.autocast + mmengine.runner.find_latest_checkpoint api/generated/mmengine.runner.find_latest_checkpoint.html#mmengine.runner.find_latest_checkpoint + mmengine.runner.get_deprecated_model_names api/generated/mmengine.runner.get_deprecated_model_names.html#mmengine.runner.get_deprecated_model_names + mmengine.runner.get_external_models api/generated/mmengine.runner.get_external_models.html#mmengine.runner.get_external_models + mmengine.runner.get_mmcls_models api/generated/mmengine.runner.get_mmcls_models.html#mmengine.runner.get_mmcls_models + mmengine.runner.get_priority api/generated/mmengine.runner.get_priority.html#mmengine.runner.get_priority + mmengine.runner.get_state_dict api/generated/mmengine.runner.get_state_dict.html#mmengine.runner.get_state_dict + mmengine.runner.get_torchvision_models api/generated/mmengine.runner.get_torchvision_models.html#mmengine.runner.get_torchvision_models + mmengine.runner.load_checkpoint api/generated/mmengine.runner.load_checkpoint.html#mmengine.runner.load_checkpoint + mmengine.runner.load_state_dict api/generated/mmengine.runner.load_state_dict.html#mmengine.runner.load_state_dict + mmengine.runner.save_checkpoint api/generated/mmengine.runner.save_checkpoint.html#mmengine.runner.save_checkpoint + mmengine.runner.weights_to_cpu api/generated/mmengine.runner.weights_to_cpu.html#mmengine.runner.weights_to_cpu + mmengine.utils.call_command api/generated/mmengine.utils.call_command.html#mmengine.utils.call_command + mmengine.utils.check_file_exist api/generated/mmengine.utils.check_file_exist.html#mmengine.utils.check_file_exist + mmengine.utils.check_prerequisites api/generated/mmengine.utils.check_prerequisites.html#mmengine.utils.check_prerequisites + mmengine.utils.check_time api/generated/mmengine.utils.check_time.html#mmengine.utils.check_time + mmengine.utils.concat_list api/generated/mmengine.utils.concat_list.html#mmengine.utils.concat_list + mmengine.utils.deprecated_api_warning api/generated/mmengine.utils.deprecated_api_warning.html#mmengine.utils.deprecated_api_warning + mmengine.utils.deprecated_function api/generated/mmengine.utils.deprecated_function.html#mmengine.utils.deprecated_function + mmengine.utils.digit_version api/generated/mmengine.utils.digit_version.html#mmengine.utils.digit_version + mmengine.utils.dl_utils.collect_env api/generated/mmengine.utils.dl_utils.collect_env.html#mmengine.utils.dl_utils.collect_env + mmengine.utils.dl_utils.has_batch_norm api/generated/mmengine.utils.dl_utils.has_batch_norm.html#mmengine.utils.dl_utils.has_batch_norm + mmengine.utils.dl_utils.is_jit_tracing api/generated/mmengine.utils.dl_utils.is_jit_tracing.html#mmengine.utils.dl_utils.is_jit_tracing + mmengine.utils.dl_utils.is_norm api/generated/mmengine.utils.dl_utils.is_norm.html#mmengine.utils.dl_utils.is_norm + mmengine.utils.dl_utils.load_url api/generated/mmengine.utils.dl_utils.load_url.html#mmengine.utils.dl_utils.load_url + mmengine.utils.dl_utils.mmcv_full_available api/generated/mmengine.utils.dl_utils.mmcv_full_available.html#mmengine.utils.dl_utils.mmcv_full_available + mmengine.utils.dl_utils.set_multi_processing api/generated/mmengine.utils.dl_utils.set_multi_processing.html#mmengine.utils.dl_utils.set_multi_processing + mmengine.utils.dl_utils.tensor2imgs api/generated/mmengine.utils.dl_utils.tensor2imgs.html#mmengine.utils.dl_utils.tensor2imgs + mmengine.utils.dl_utils.torch_meshgrid api/generated/mmengine.utils.dl_utils.torch_meshgrid.html#mmengine.utils.dl_utils.torch_meshgrid + mmengine.utils.fopen api/generated/mmengine.utils.fopen.html#mmengine.utils.fopen + mmengine.utils.get_git_hash api/generated/mmengine.utils.get_git_hash.html#mmengine.utils.get_git_hash + mmengine.utils.get_installed_path api/generated/mmengine.utils.get_installed_path.html#mmengine.utils.get_installed_path + mmengine.utils.has_method api/generated/mmengine.utils.has_method.html#mmengine.utils.has_method + mmengine.utils.import_modules_from_strings api/generated/mmengine.utils.import_modules_from_strings.html#mmengine.utils.import_modules_from_strings + mmengine.utils.install_package api/generated/mmengine.utils.install_package.html#mmengine.utils.install_package + mmengine.utils.is_abs api/generated/mmengine.utils.is_abs.html#mmengine.utils.is_abs + mmengine.utils.is_filepath api/generated/mmengine.utils.is_filepath.html#mmengine.utils.is_filepath + mmengine.utils.is_installed api/generated/mmengine.utils.is_installed.html#mmengine.utils.is_installed + mmengine.utils.is_list_of api/generated/mmengine.utils.is_list_of.html#mmengine.utils.is_list_of + mmengine.utils.is_method_overridden api/generated/mmengine.utils.is_method_overridden.html#mmengine.utils.is_method_overridden + mmengine.utils.is_seq_of api/generated/mmengine.utils.is_seq_of.html#mmengine.utils.is_seq_of + mmengine.utils.is_str api/generated/mmengine.utils.is_str.html#mmengine.utils.is_str + mmengine.utils.is_tuple_of api/generated/mmengine.utils.is_tuple_of.html#mmengine.utils.is_tuple_of + mmengine.utils.iter_cast api/generated/mmengine.utils.iter_cast.html#mmengine.utils.iter_cast + mmengine.utils.list_cast api/generated/mmengine.utils.list_cast.html#mmengine.utils.list_cast + mmengine.utils.mkdir_or_exist api/generated/mmengine.utils.mkdir_or_exist.html#mmengine.utils.mkdir_or_exist + mmengine.utils.requires_executable api/generated/mmengine.utils.requires_executable.html#mmengine.utils.requires_executable + mmengine.utils.requires_package api/generated/mmengine.utils.requires_package.html#mmengine.utils.requires_package + mmengine.utils.scandir api/generated/mmengine.utils.scandir.html#mmengine.utils.scandir + mmengine.utils.slice_list api/generated/mmengine.utils.slice_list.html#mmengine.utils.slice_list + mmengine.utils.symlink api/generated/mmengine.utils.symlink.html#mmengine.utils.symlink + mmengine.utils.to_1tuple api/generated/mmengine.utils.to_1tuple.html#mmengine.utils.to_1tuple + mmengine.utils.to_2tuple api/generated/mmengine.utils.to_2tuple.html#mmengine.utils.to_2tuple + mmengine.utils.to_3tuple api/generated/mmengine.utils.to_3tuple.html#mmengine.utils.to_3tuple + mmengine.utils.to_4tuple api/generated/mmengine.utils.to_4tuple.html#mmengine.utils.to_4tuple + mmengine.utils.to_ntuple api/generated/mmengine.utils.to_ntuple.html#mmengine.utils.to_ntuple + mmengine.utils.track_iter_progress api/generated/mmengine.utils.track_iter_progress.html#mmengine.utils.track_iter_progress + mmengine.utils.track_parallel_progress api/generated/mmengine.utils.track_parallel_progress.html#mmengine.utils.track_parallel_progress + mmengine.utils.track_progress api/generated/mmengine.utils.track_progress.html#mmengine.utils.track_progress + mmengine.utils.tuple_cast api/generated/mmengine.utils.tuple_cast.html#mmengine.utils.tuple_cast +py:method + mmengine.config.Config.auto_argparser api/generated/mmengine.config.Config.html#mmengine.config.Config.auto_argparser + mmengine.config.Config.dump api/generated/mmengine.config.Config.html#mmengine.config.Config.dump + mmengine.config.Config.fromfile api/generated/mmengine.config.Config.html#mmengine.config.Config.fromfile + mmengine.config.Config.fromstring api/generated/mmengine.config.Config.html#mmengine.config.Config.fromstring + mmengine.config.Config.merge_from_dict api/generated/mmengine.config.Config.html#mmengine.config.Config.merge_from_dict + mmengine.dataset.BaseDataset.filter_data api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.filter_data + mmengine.dataset.BaseDataset.full_init api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.full_init + mmengine.dataset.BaseDataset.get_cat_ids api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.get_cat_ids + mmengine.dataset.BaseDataset.get_data_info api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.get_data_info + mmengine.dataset.BaseDataset.get_subset api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.get_subset + mmengine.dataset.BaseDataset.get_subset_ api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.get_subset_ + mmengine.dataset.BaseDataset.load_data_list api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.load_data_list + mmengine.dataset.BaseDataset.parse_data_info api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.parse_data_info + mmengine.dataset.BaseDataset.prepare_data api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.prepare_data + mmengine.dataset.ClassBalancedDataset.full_init api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset.full_init + mmengine.dataset.ClassBalancedDataset.get_cat_ids api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset.get_cat_ids + mmengine.dataset.ClassBalancedDataset.get_data_info api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset.get_data_info + mmengine.dataset.ClassBalancedDataset.get_subset api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset.get_subset + mmengine.dataset.ClassBalancedDataset.get_subset_ api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset.get_subset_ + mmengine.dataset.ConcatDataset.full_init api/generated/mmengine.dataset.ConcatDataset.html#mmengine.dataset.ConcatDataset.full_init + mmengine.dataset.ConcatDataset.get_data_info api/generated/mmengine.dataset.ConcatDataset.html#mmengine.dataset.ConcatDataset.get_data_info + mmengine.dataset.ConcatDataset.get_subset api/generated/mmengine.dataset.ConcatDataset.html#mmengine.dataset.ConcatDataset.get_subset + mmengine.dataset.ConcatDataset.get_subset_ api/generated/mmengine.dataset.ConcatDataset.html#mmengine.dataset.ConcatDataset.get_subset_ + mmengine.dataset.DefaultSampler.set_epoch api/generated/mmengine.dataset.DefaultSampler.html#mmengine.dataset.DefaultSampler.set_epoch + mmengine.dataset.InfiniteSampler.set_epoch api/generated/mmengine.dataset.InfiniteSampler.html#mmengine.dataset.InfiniteSampler.set_epoch + mmengine.dataset.RepeatDataset.full_init api/generated/mmengine.dataset.RepeatDataset.html#mmengine.dataset.RepeatDataset.full_init + mmengine.dataset.RepeatDataset.get_data_info api/generated/mmengine.dataset.RepeatDataset.html#mmengine.dataset.RepeatDataset.get_data_info + mmengine.dataset.RepeatDataset.get_subset api/generated/mmengine.dataset.RepeatDataset.html#mmengine.dataset.RepeatDataset.get_subset + mmengine.dataset.RepeatDataset.get_subset_ api/generated/mmengine.dataset.RepeatDataset.html#mmengine.dataset.RepeatDataset.get_subset_ + mmengine.evaluator.BaseMetric.compute_metrics api/generated/mmengine.evaluator.BaseMetric.html#mmengine.evaluator.BaseMetric.compute_metrics + mmengine.evaluator.BaseMetric.evaluate api/generated/mmengine.evaluator.BaseMetric.html#mmengine.evaluator.BaseMetric.evaluate + mmengine.evaluator.BaseMetric.process api/generated/mmengine.evaluator.BaseMetric.html#mmengine.evaluator.BaseMetric.process + mmengine.evaluator.DumpResults.compute_metrics api/generated/mmengine.evaluator.DumpResults.html#mmengine.evaluator.DumpResults.compute_metrics + mmengine.evaluator.DumpResults.process api/generated/mmengine.evaluator.DumpResults.html#mmengine.evaluator.DumpResults.process + mmengine.evaluator.Evaluator.evaluate api/generated/mmengine.evaluator.Evaluator.html#mmengine.evaluator.Evaluator.evaluate + mmengine.evaluator.Evaluator.offline_evaluate api/generated/mmengine.evaluator.Evaluator.html#mmengine.evaluator.Evaluator.offline_evaluate + mmengine.evaluator.Evaluator.process api/generated/mmengine.evaluator.Evaluator.html#mmengine.evaluator.Evaluator.process + mmengine.fileio.FileClient.exists api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.exists + mmengine.fileio.FileClient.get api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.get + mmengine.fileio.FileClient.get_local_path api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.get_local_path + mmengine.fileio.FileClient.get_text api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.get_text + mmengine.fileio.FileClient.infer_client api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.infer_client + mmengine.fileio.FileClient.isdir api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.isdir + mmengine.fileio.FileClient.isfile api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.isfile + mmengine.fileio.FileClient.join_path api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.join_path + mmengine.fileio.FileClient.list_dir_or_file api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.list_dir_or_file + mmengine.fileio.FileClient.parse_uri_prefix api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.parse_uri_prefix + mmengine.fileio.FileClient.put api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.put + mmengine.fileio.FileClient.put_text api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.put_text + mmengine.fileio.FileClient.register_backend api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.register_backend + mmengine.fileio.FileClient.remove api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.remove + mmengine.fileio.HTTPBackend.get api/generated/mmengine.fileio.HTTPBackend.html#mmengine.fileio.HTTPBackend.get + mmengine.fileio.HTTPBackend.get_local_path api/generated/mmengine.fileio.HTTPBackend.html#mmengine.fileio.HTTPBackend.get_local_path + mmengine.fileio.HTTPBackend.get_text api/generated/mmengine.fileio.HTTPBackend.html#mmengine.fileio.HTTPBackend.get_text + mmengine.fileio.LmdbBackend.get api/generated/mmengine.fileio.LmdbBackend.html#mmengine.fileio.LmdbBackend.get + mmengine.fileio.LocalBackend.copy_if_symlink_fails api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.copy_if_symlink_fails + mmengine.fileio.LocalBackend.copyfile api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.copyfile + mmengine.fileio.LocalBackend.copyfile_from_local api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.copyfile_from_local + mmengine.fileio.LocalBackend.copyfile_to_local api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.copyfile_to_local + mmengine.fileio.LocalBackend.copytree api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.copytree + mmengine.fileio.LocalBackend.copytree_from_local api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.copytree_from_local + mmengine.fileio.LocalBackend.copytree_to_local api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.copytree_to_local + mmengine.fileio.LocalBackend.exists api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.exists + mmengine.fileio.LocalBackend.get api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.get + mmengine.fileio.LocalBackend.get_local_path api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.get_local_path + mmengine.fileio.LocalBackend.get_text api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.get_text + mmengine.fileio.LocalBackend.isdir api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.isdir + mmengine.fileio.LocalBackend.isfile api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.isfile + mmengine.fileio.LocalBackend.join_path api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.join_path + mmengine.fileio.LocalBackend.list_dir_or_file api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.list_dir_or_file + mmengine.fileio.LocalBackend.put api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.put + mmengine.fileio.LocalBackend.put_text api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.put_text + mmengine.fileio.LocalBackend.remove api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.remove + mmengine.fileio.LocalBackend.rmtree api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.rmtree + mmengine.fileio.MemcachedBackend.get api/generated/mmengine.fileio.MemcachedBackend.html#mmengine.fileio.MemcachedBackend.get + mmengine.fileio.PetrelBackend.copy_if_symlink_fails api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.copy_if_symlink_fails + mmengine.fileio.PetrelBackend.copyfile api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.copyfile + mmengine.fileio.PetrelBackend.copyfile_from_local api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.copyfile_from_local + mmengine.fileio.PetrelBackend.copyfile_to_local api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.copyfile_to_local + mmengine.fileio.PetrelBackend.copytree api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.copytree + mmengine.fileio.PetrelBackend.copytree_from_local api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.copytree_from_local + mmengine.fileio.PetrelBackend.copytree_to_local api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.copytree_to_local + mmengine.fileio.PetrelBackend.exists api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.exists + mmengine.fileio.PetrelBackend.generate_presigned_url api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.generate_presigned_url + mmengine.fileio.PetrelBackend.get api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.get + mmengine.fileio.PetrelBackend.get_local_path api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.get_local_path + mmengine.fileio.PetrelBackend.get_text api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.get_text + mmengine.fileio.PetrelBackend.isdir api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.isdir + mmengine.fileio.PetrelBackend.isfile api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.isfile + mmengine.fileio.PetrelBackend.join_path api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.join_path + mmengine.fileio.PetrelBackend.list_dir_or_file api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.list_dir_or_file + mmengine.fileio.PetrelBackend.put api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.put + mmengine.fileio.PetrelBackend.put_text api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.put_text + mmengine.fileio.PetrelBackend.remove api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.remove + mmengine.fileio.PetrelBackend.rmtree api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.rmtree + mmengine.hooks.CheckpointHook.after_train_epoch api/generated/mmengine.hooks.CheckpointHook.html#mmengine.hooks.CheckpointHook.after_train_epoch + mmengine.hooks.CheckpointHook.after_train_iter api/generated/mmengine.hooks.CheckpointHook.html#mmengine.hooks.CheckpointHook.after_train_iter + mmengine.hooks.CheckpointHook.after_val_epoch api/generated/mmengine.hooks.CheckpointHook.html#mmengine.hooks.CheckpointHook.after_val_epoch + mmengine.hooks.CheckpointHook.before_train api/generated/mmengine.hooks.CheckpointHook.html#mmengine.hooks.CheckpointHook.before_train + mmengine.hooks.DistSamplerSeedHook.before_train_epoch api/generated/mmengine.hooks.DistSamplerSeedHook.html#mmengine.hooks.DistSamplerSeedHook.before_train_epoch + mmengine.hooks.EMAHook.after_load_checkpoint api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.after_load_checkpoint + mmengine.hooks.EMAHook.after_test_epoch api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.after_test_epoch + mmengine.hooks.EMAHook.after_train_iter api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.after_train_iter + mmengine.hooks.EMAHook.after_val_epoch api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.after_val_epoch + mmengine.hooks.EMAHook.before_run api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.before_run + mmengine.hooks.EMAHook.before_save_checkpoint api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.before_save_checkpoint + mmengine.hooks.EMAHook.before_test_epoch api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.before_test_epoch + mmengine.hooks.EMAHook.before_train api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.before_train + mmengine.hooks.EMAHook.before_val_epoch api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.before_val_epoch + mmengine.hooks.Hook.after_load_checkpoint api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_load_checkpoint + mmengine.hooks.Hook.after_run api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_run + mmengine.hooks.Hook.after_test api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_test + mmengine.hooks.Hook.after_test_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_test_epoch + mmengine.hooks.Hook.after_test_iter api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_test_iter + mmengine.hooks.Hook.after_train api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_train + mmengine.hooks.Hook.after_train_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_train_epoch + mmengine.hooks.Hook.after_train_iter api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_train_iter + mmengine.hooks.Hook.after_val api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_val + mmengine.hooks.Hook.after_val_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_val_epoch + mmengine.hooks.Hook.after_val_iter api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_val_iter + mmengine.hooks.Hook.before_run api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_run + mmengine.hooks.Hook.before_save_checkpoint api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_save_checkpoint + mmengine.hooks.Hook.before_test api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_test + mmengine.hooks.Hook.before_test_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_test_epoch + mmengine.hooks.Hook.before_test_iter api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_test_iter + mmengine.hooks.Hook.before_train api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_train + mmengine.hooks.Hook.before_train_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_train_epoch + mmengine.hooks.Hook.before_train_iter api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_train_iter + mmengine.hooks.Hook.before_val api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_val + mmengine.hooks.Hook.before_val_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_val_epoch + mmengine.hooks.Hook.before_val_iter api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_val_iter + mmengine.hooks.Hook.end_of_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.end_of_epoch + mmengine.hooks.Hook.every_n_epochs api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.every_n_epochs + mmengine.hooks.Hook.every_n_inner_iters api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.every_n_inner_iters + mmengine.hooks.Hook.every_n_train_iters api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.every_n_train_iters + mmengine.hooks.Hook.is_last_train_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.is_last_train_epoch + mmengine.hooks.Hook.is_last_train_iter api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.is_last_train_iter + mmengine.hooks.IterTimerHook.before_train api/generated/mmengine.hooks.IterTimerHook.html#mmengine.hooks.IterTimerHook.before_train + mmengine.hooks.LoggerHook.after_run api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook.after_run + mmengine.hooks.LoggerHook.after_test_epoch api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook.after_test_epoch + mmengine.hooks.LoggerHook.after_test_iter api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook.after_test_iter + mmengine.hooks.LoggerHook.after_train_iter api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook.after_train_iter + mmengine.hooks.LoggerHook.after_val_epoch api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook.after_val_epoch + mmengine.hooks.LoggerHook.after_val_iter api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook.after_val_iter + mmengine.hooks.LoggerHook.before_run api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook.before_run + mmengine.hooks.NaiveVisualizationHook.after_test_iter api/generated/mmengine.hooks.NaiveVisualizationHook.html#mmengine.hooks.NaiveVisualizationHook.after_test_iter + mmengine.hooks.NaiveVisualizationHook.before_train api/generated/mmengine.hooks.NaiveVisualizationHook.html#mmengine.hooks.NaiveVisualizationHook.before_train + mmengine.hooks.ParamSchedulerHook.after_train_epoch api/generated/mmengine.hooks.ParamSchedulerHook.html#mmengine.hooks.ParamSchedulerHook.after_train_epoch + mmengine.hooks.ParamSchedulerHook.after_train_iter api/generated/mmengine.hooks.ParamSchedulerHook.html#mmengine.hooks.ParamSchedulerHook.after_train_iter + mmengine.hooks.ParamSchedulerHook.after_val_epoch api/generated/mmengine.hooks.ParamSchedulerHook.html#mmengine.hooks.ParamSchedulerHook.after_val_epoch + mmengine.hooks.PrepareTTAHook.before_test api/generated/mmengine.hooks.PrepareTTAHook.html#mmengine.hooks.PrepareTTAHook.before_test + mmengine.hooks.ProfilerHook.after_train_epoch api/generated/mmengine.hooks.ProfilerHook.html#mmengine.hooks.ProfilerHook.after_train_epoch + mmengine.hooks.ProfilerHook.after_train_iter api/generated/mmengine.hooks.ProfilerHook.html#mmengine.hooks.ProfilerHook.after_train_iter + mmengine.hooks.ProfilerHook.before_run api/generated/mmengine.hooks.ProfilerHook.html#mmengine.hooks.ProfilerHook.before_run + mmengine.hooks.RuntimeInfoHook.after_test_epoch api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook.after_test_epoch + mmengine.hooks.RuntimeInfoHook.after_train_iter api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook.after_train_iter + mmengine.hooks.RuntimeInfoHook.after_val_epoch api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook.after_val_epoch + mmengine.hooks.RuntimeInfoHook.before_run api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook.before_run + mmengine.hooks.RuntimeInfoHook.before_train api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook.before_train + mmengine.hooks.RuntimeInfoHook.before_train_epoch api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook.before_train_epoch + mmengine.hooks.RuntimeInfoHook.before_train_iter api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook.before_train_iter + mmengine.hooks.SyncBuffersHook.after_train_epoch api/generated/mmengine.hooks.SyncBuffersHook.html#mmengine.hooks.SyncBuffersHook.after_train_epoch + mmengine.infer.BaseInferencer.forward api/generated/mmengine.infer.BaseInferencer.html#mmengine.infer.BaseInferencer.forward + mmengine.infer.BaseInferencer.list_models api/generated/mmengine.infer.BaseInferencer.html#mmengine.infer.BaseInferencer.list_models + mmengine.infer.BaseInferencer.postprocess api/generated/mmengine.infer.BaseInferencer.html#mmengine.infer.BaseInferencer.postprocess + mmengine.infer.BaseInferencer.preprocess api/generated/mmengine.infer.BaseInferencer.html#mmengine.infer.BaseInferencer.preprocess + mmengine.infer.BaseInferencer.visualize api/generated/mmengine.infer.BaseInferencer.html#mmengine.infer.BaseInferencer.visualize + mmengine.logging.HistoryBuffer.current api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.current + mmengine.logging.HistoryBuffer.max api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.max + mmengine.logging.HistoryBuffer.mean api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.mean + mmengine.logging.HistoryBuffer.min api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.min + mmengine.logging.HistoryBuffer.register_statistics api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.register_statistics + mmengine.logging.HistoryBuffer.statistics api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.statistics + mmengine.logging.HistoryBuffer.update api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.update + mmengine.logging.MMLogger.callHandlers api/generated/mmengine.logging.MMLogger.html#mmengine.logging.MMLogger.callHandlers + mmengine.logging.MMLogger.get_current_instance api/generated/mmengine.logging.MMLogger.html#mmengine.logging.MMLogger.get_current_instance + mmengine.logging.MMLogger.setLevel api/generated/mmengine.logging.MMLogger.html#mmengine.logging.MMLogger.setLevel + mmengine.logging.MessageHub.get_current_instance api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.get_current_instance + mmengine.logging.MessageHub.get_info api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.get_info + mmengine.logging.MessageHub.get_scalar api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.get_scalar + mmengine.logging.MessageHub.load_state_dict api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.load_state_dict + mmengine.logging.MessageHub.state_dict api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.state_dict + mmengine.logging.MessageHub.update_info api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.update_info + mmengine.logging.MessageHub.update_info_dict api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.update_info_dict + mmengine.logging.MessageHub.update_scalar api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.update_scalar + mmengine.logging.MessageHub.update_scalars api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.update_scalars + mmengine.model.BaseAveragedModel.avg_func api/generated/mmengine.model.BaseAveragedModel.html#mmengine.model.BaseAveragedModel.avg_func + mmengine.model.BaseAveragedModel.forward api/generated/mmengine.model.BaseAveragedModel.html#mmengine.model.BaseAveragedModel.forward + mmengine.model.BaseAveragedModel.update_parameters api/generated/mmengine.model.BaseAveragedModel.html#mmengine.model.BaseAveragedModel.update_parameters + mmengine.model.BaseDataPreprocessor.cast_data api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor.cast_data + mmengine.model.BaseDataPreprocessor.cpu api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor.cpu + mmengine.model.BaseDataPreprocessor.cuda api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor.cuda + mmengine.model.BaseDataPreprocessor.forward api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor.forward + mmengine.model.BaseDataPreprocessor.npu api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor.npu + mmengine.model.BaseDataPreprocessor.to api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor.to + mmengine.model.BaseModel.cpu api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.cpu + mmengine.model.BaseModel.cuda api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.cuda + mmengine.model.BaseModel.forward api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.forward + mmengine.model.BaseModel.npu api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.npu + mmengine.model.BaseModel.parse_losses api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.parse_losses + mmengine.model.BaseModel.test_step api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.test_step + mmengine.model.BaseModel.to api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.to + mmengine.model.BaseModel.train_step api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.train_step + mmengine.model.BaseModel.val_step api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.val_step + mmengine.model.BaseModule.init_weights api/generated/mmengine.model.BaseModule.html#mmengine.model.BaseModule.init_weights + mmengine.model.BaseTTAModel.forward api/generated/mmengine.model.BaseTTAModel.html#mmengine.model.BaseTTAModel.forward + mmengine.model.BaseTTAModel.merge_preds api/generated/mmengine.model.BaseTTAModel.html#mmengine.model.BaseTTAModel.merge_preds + mmengine.model.BaseTTAModel.test_step api/generated/mmengine.model.BaseTTAModel.html#mmengine.model.BaseTTAModel.test_step + mmengine.model.ExponentialMovingAverage.avg_func api/generated/mmengine.model.ExponentialMovingAverage.html#mmengine.model.ExponentialMovingAverage.avg_func + mmengine.model.ImgDataPreprocessor.forward api/generated/mmengine.model.ImgDataPreprocessor.html#mmengine.model.ImgDataPreprocessor.forward + mmengine.model.MMDistributedDataParallel.test_step api/generated/mmengine.model.MMDistributedDataParallel.html#mmengine.model.MMDistributedDataParallel.test_step + mmengine.model.MMDistributedDataParallel.train_step api/generated/mmengine.model.MMDistributedDataParallel.html#mmengine.model.MMDistributedDataParallel.train_step + mmengine.model.MMDistributedDataParallel.val_step api/generated/mmengine.model.MMDistributedDataParallel.html#mmengine.model.MMDistributedDataParallel.val_step + mmengine.model.MMFullyShardedDataParallel.test_step api/generated/mmengine.model.MMFullyShardedDataParallel.html#mmengine.model.MMFullyShardedDataParallel.test_step + mmengine.model.MMFullyShardedDataParallel.train_step api/generated/mmengine.model.MMFullyShardedDataParallel.html#mmengine.model.MMFullyShardedDataParallel.train_step + mmengine.model.MMFullyShardedDataParallel.val_step api/generated/mmengine.model.MMFullyShardedDataParallel.html#mmengine.model.MMFullyShardedDataParallel.val_step + mmengine.model.MMSeparateDistributedDataParallel.no_sync api/generated/mmengine.model.MMSeparateDistributedDataParallel.html#mmengine.model.MMSeparateDistributedDataParallel.no_sync + mmengine.model.MMSeparateDistributedDataParallel.test_step api/generated/mmengine.model.MMSeparateDistributedDataParallel.html#mmengine.model.MMSeparateDistributedDataParallel.test_step + mmengine.model.MMSeparateDistributedDataParallel.train api/generated/mmengine.model.MMSeparateDistributedDataParallel.html#mmengine.model.MMSeparateDistributedDataParallel.train + mmengine.model.MMSeparateDistributedDataParallel.train_step api/generated/mmengine.model.MMSeparateDistributedDataParallel.html#mmengine.model.MMSeparateDistributedDataParallel.train_step + mmengine.model.MMSeparateDistributedDataParallel.val_step api/generated/mmengine.model.MMSeparateDistributedDataParallel.html#mmengine.model.MMSeparateDistributedDataParallel.val_step + mmengine.model.MomentumAnnealingEMA.avg_func api/generated/mmengine.model.MomentumAnnealingEMA.html#mmengine.model.MomentumAnnealingEMA.avg_func + mmengine.model.StochasticWeightAverage.avg_func api/generated/mmengine.model.StochasticWeightAverage.html#mmengine.model.StochasticWeightAverage.avg_func + mmengine.optim.AmpOptimWrapper.backward api/generated/mmengine.optim.AmpOptimWrapper.html#mmengine.optim.AmpOptimWrapper.backward + mmengine.optim.AmpOptimWrapper.load_state_dict api/generated/mmengine.optim.AmpOptimWrapper.html#mmengine.optim.AmpOptimWrapper.load_state_dict + mmengine.optim.AmpOptimWrapper.optim_context api/generated/mmengine.optim.AmpOptimWrapper.html#mmengine.optim.AmpOptimWrapper.optim_context + mmengine.optim.AmpOptimWrapper.state_dict api/generated/mmengine.optim.AmpOptimWrapper.html#mmengine.optim.AmpOptimWrapper.state_dict + mmengine.optim.AmpOptimWrapper.step api/generated/mmengine.optim.AmpOptimWrapper.html#mmengine.optim.AmpOptimWrapper.step + mmengine.optim.ApexOptimWrapper.backward api/generated/mmengine.optim.ApexOptimWrapper.html#mmengine.optim.ApexOptimWrapper.backward + mmengine.optim.ApexOptimWrapper.load_state_dict api/generated/mmengine.optim.ApexOptimWrapper.html#mmengine.optim.ApexOptimWrapper.load_state_dict + mmengine.optim.ApexOptimWrapper.optim_context api/generated/mmengine.optim.ApexOptimWrapper.html#mmengine.optim.ApexOptimWrapper.optim_context + mmengine.optim.ApexOptimWrapper.state_dict api/generated/mmengine.optim.ApexOptimWrapper.html#mmengine.optim.ApexOptimWrapper.state_dict + mmengine.optim.ConstantParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.ConstantParamScheduler.html#mmengine.optim.ConstantParamScheduler.build_iter_from_epoch + mmengine.optim.CosineAnnealingParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.CosineAnnealingParamScheduler.html#mmengine.optim.CosineAnnealingParamScheduler.build_iter_from_epoch + mmengine.optim.DefaultOptimWrapperConstructor.add_params api/generated/mmengine.optim.DefaultOptimWrapperConstructor.html#mmengine.optim.DefaultOptimWrapperConstructor.add_params + mmengine.optim.ExponentialParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.ExponentialParamScheduler.html#mmengine.optim.ExponentialParamScheduler.build_iter_from_epoch + mmengine.optim.LinearParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.LinearParamScheduler.html#mmengine.optim.LinearParamScheduler.build_iter_from_epoch + mmengine.optim.MultiStepParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.MultiStepParamScheduler.html#mmengine.optim.MultiStepParamScheduler.build_iter_from_epoch + mmengine.optim.OneCycleParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.OneCycleParamScheduler.html#mmengine.optim.OneCycleParamScheduler.build_iter_from_epoch + mmengine.optim.OptimWrapper.backward api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.backward + mmengine.optim.OptimWrapper.get_lr api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.get_lr + mmengine.optim.OptimWrapper.get_momentum api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.get_momentum + mmengine.optim.OptimWrapper.initialize_count_status api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.initialize_count_status + mmengine.optim.OptimWrapper.load_state_dict api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.load_state_dict + mmengine.optim.OptimWrapper.optim_context api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.optim_context + mmengine.optim.OptimWrapper.scale_loss api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.scale_loss + mmengine.optim.OptimWrapper.should_sync api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.should_sync + mmengine.optim.OptimWrapper.should_update api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.should_update + mmengine.optim.OptimWrapper.state_dict api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.state_dict + mmengine.optim.OptimWrapper.step api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.step + mmengine.optim.OptimWrapper.update_params api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.update_params + mmengine.optim.OptimWrapper.zero_grad api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.zero_grad + mmengine.optim.OptimWrapperDict.backward api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.backward + mmengine.optim.OptimWrapperDict.get_lr api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.get_lr + mmengine.optim.OptimWrapperDict.get_momentum api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.get_momentum + mmengine.optim.OptimWrapperDict.initialize_count_status api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.initialize_count_status + mmengine.optim.OptimWrapperDict.items api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.items + mmengine.optim.OptimWrapperDict.keys api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.keys + mmengine.optim.OptimWrapperDict.load_state_dict api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.load_state_dict + mmengine.optim.OptimWrapperDict.optim_context api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.optim_context + mmengine.optim.OptimWrapperDict.state_dict api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.state_dict + mmengine.optim.OptimWrapperDict.step api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.step + mmengine.optim.OptimWrapperDict.update_params api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.update_params + mmengine.optim.OptimWrapperDict.values api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.values + mmengine.optim.OptimWrapperDict.zero_grad api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.zero_grad + mmengine.optim.PolyParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.PolyParamScheduler.html#mmengine.optim.PolyParamScheduler.build_iter_from_epoch + mmengine.optim.ReduceOnPlateauMomentum.step api/generated/mmengine.optim.ReduceOnPlateauMomentum.html#mmengine.optim.ReduceOnPlateauMomentum.step + mmengine.optim.ReduceOnPlateauParamScheduler.print_value api/generated/mmengine.optim.ReduceOnPlateauParamScheduler.html#mmengine.optim.ReduceOnPlateauParamScheduler.print_value + mmengine.optim.ReduceOnPlateauParamScheduler.step api/generated/mmengine.optim.ReduceOnPlateauParamScheduler.html#mmengine.optim.ReduceOnPlateauParamScheduler.step + mmengine.optim.StepParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.StepParamScheduler.html#mmengine.optim.StepParamScheduler.build_iter_from_epoch + mmengine.optim.ZeroRedundancyOptimizer.state_dict api/generated/mmengine.optim.ZeroRedundancyOptimizer.html#mmengine.optim.ZeroRedundancyOptimizer.state_dict + mmengine.optim._ParamScheduler.get_last_value api/generated/mmengine.optim._ParamScheduler.html#mmengine.optim._ParamScheduler.get_last_value + mmengine.optim._ParamScheduler.load_state_dict api/generated/mmengine.optim._ParamScheduler.html#mmengine.optim._ParamScheduler.load_state_dict + mmengine.optim._ParamScheduler.print_value api/generated/mmengine.optim._ParamScheduler.html#mmengine.optim._ParamScheduler.print_value + mmengine.optim._ParamScheduler.state_dict api/generated/mmengine.optim._ParamScheduler.html#mmengine.optim._ParamScheduler.state_dict + mmengine.optim._ParamScheduler.step api/generated/mmengine.optim._ParamScheduler.html#mmengine.optim._ParamScheduler.step + mmengine.registry.DefaultScope.get_current_instance api/generated/mmengine.registry.DefaultScope.html#mmengine.registry.DefaultScope.get_current_instance + mmengine.registry.DefaultScope.overwrite_default_scope api/generated/mmengine.registry.DefaultScope.html#mmengine.registry.DefaultScope.overwrite_default_scope + mmengine.registry.Registry.build api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry.build + mmengine.registry.Registry.get api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry.get + mmengine.registry.Registry.import_from_location api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry.import_from_location + mmengine.registry.Registry.infer_scope api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry.infer_scope + mmengine.registry.Registry.register_module api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry.register_module + mmengine.registry.Registry.split_scope_key api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry.split_scope_key + mmengine.registry.Registry.switch_scope_and_registry api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry.switch_scope_and_registry + mmengine.runner.BaseLoop.run api/generated/mmengine.runner.BaseLoop.html#mmengine.runner.BaseLoop.run + mmengine.runner.CheckpointLoader.load_checkpoint api/generated/mmengine.runner.CheckpointLoader.html#mmengine.runner.CheckpointLoader.load_checkpoint + mmengine.runner.CheckpointLoader.register_scheme api/generated/mmengine.runner.CheckpointLoader.html#mmengine.runner.CheckpointLoader.register_scheme + mmengine.runner.EpochBasedTrainLoop.run api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop.run + mmengine.runner.EpochBasedTrainLoop.run_epoch api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop.run_epoch + mmengine.runner.EpochBasedTrainLoop.run_iter api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop.run_iter + mmengine.runner.IterBasedTrainLoop.run api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop.run + mmengine.runner.IterBasedTrainLoop.run_iter api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop.run_iter + mmengine.runner.LogProcessor.get_log_after_epoch api/generated/mmengine.runner.LogProcessor.html#mmengine.runner.LogProcessor.get_log_after_epoch + mmengine.runner.LogProcessor.get_log_after_iter api/generated/mmengine.runner.LogProcessor.html#mmengine.runner.LogProcessor.get_log_after_iter + mmengine.runner.Runner.build_dataloader api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_dataloader + mmengine.runner.Runner.build_evaluator api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_evaluator + mmengine.runner.Runner.build_log_processor api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_log_processor + mmengine.runner.Runner.build_logger api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_logger + mmengine.runner.Runner.build_message_hub api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_message_hub + mmengine.runner.Runner.build_model api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_model + mmengine.runner.Runner.build_optim_wrapper api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_optim_wrapper + mmengine.runner.Runner.build_param_scheduler api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_param_scheduler + mmengine.runner.Runner.build_test_loop api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_test_loop + mmengine.runner.Runner.build_train_loop api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_train_loop + mmengine.runner.Runner.build_val_loop api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_val_loop + mmengine.runner.Runner.build_visualizer api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_visualizer + mmengine.runner.Runner.call_hook api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.call_hook + mmengine.runner.Runner.dump_config api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.dump_config + mmengine.runner.Runner.from_cfg api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.from_cfg + mmengine.runner.Runner.load_checkpoint api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.load_checkpoint + mmengine.runner.Runner.load_or_resume api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.load_or_resume + mmengine.runner.Runner.register_custom_hooks api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.register_custom_hooks + mmengine.runner.Runner.register_default_hooks api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.register_default_hooks + mmengine.runner.Runner.register_hook api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.register_hook + mmengine.runner.Runner.register_hooks api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.register_hooks + mmengine.runner.Runner.resume api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.resume + mmengine.runner.Runner.save_checkpoint api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.save_checkpoint + mmengine.runner.Runner.scale_lr api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.scale_lr + mmengine.runner.Runner.set_randomness api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.set_randomness + mmengine.runner.Runner.setup_env api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.setup_env + mmengine.runner.Runner.test api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.test + mmengine.runner.Runner.train api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.train + mmengine.runner.Runner.val api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.val + mmengine.runner.Runner.wrap_model api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.wrap_model + mmengine.runner.TestLoop.run api/generated/mmengine.runner.TestLoop.html#mmengine.runner.TestLoop.run + mmengine.runner.TestLoop.run_iter api/generated/mmengine.runner.TestLoop.html#mmengine.runner.TestLoop.run_iter + mmengine.runner.ValLoop.run api/generated/mmengine.runner.ValLoop.html#mmengine.runner.ValLoop.run + mmengine.runner.ValLoop.run_iter api/generated/mmengine.runner.ValLoop.html#mmengine.runner.ValLoop.run_iter + mmengine.structures.BaseDataElement.all_items api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.all_items + mmengine.structures.BaseDataElement.all_keys api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.all_keys + mmengine.structures.BaseDataElement.all_values api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.all_values + mmengine.structures.BaseDataElement.clone api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.clone + mmengine.structures.BaseDataElement.cpu api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.cpu + mmengine.structures.BaseDataElement.cuda api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.cuda + mmengine.structures.BaseDataElement.detach api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.detach + mmengine.structures.BaseDataElement.get api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.get + mmengine.structures.BaseDataElement.items api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.items + mmengine.structures.BaseDataElement.keys api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.keys + mmengine.structures.BaseDataElement.metainfo_items api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.metainfo_items + mmengine.structures.BaseDataElement.metainfo_keys api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.metainfo_keys + mmengine.structures.BaseDataElement.metainfo_values api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.metainfo_values + mmengine.structures.BaseDataElement.new api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.new + mmengine.structures.BaseDataElement.npu api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.npu + mmengine.structures.BaseDataElement.numpy api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.numpy + mmengine.structures.BaseDataElement.pop api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.pop + mmengine.structures.BaseDataElement.set_data api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.set_data + mmengine.structures.BaseDataElement.set_field api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.set_field + mmengine.structures.BaseDataElement.set_metainfo api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.set_metainfo + mmengine.structures.BaseDataElement.to api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.to + mmengine.structures.BaseDataElement.to_dict api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.to_dict + mmengine.structures.BaseDataElement.to_tensor api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.to_tensor + mmengine.structures.BaseDataElement.update api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.update + mmengine.structures.BaseDataElement.values api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.values + mmengine.structures.InstanceData.cat api/generated/mmengine.structures.InstanceData.html#mmengine.structures.InstanceData.cat + mmengine.structures.LabelData.label_to_onehot api/generated/mmengine.structures.LabelData.html#mmengine.structures.LabelData.label_to_onehot + mmengine.structures.LabelData.onehot_to_label api/generated/mmengine.structures.LabelData.html#mmengine.structures.LabelData.onehot_to_label + mmengine.utils.ManagerMixin.check_instance_created api/generated/mmengine.utils.ManagerMixin.html#mmengine.utils.ManagerMixin.check_instance_created + mmengine.utils.ManagerMixin.get_current_instance api/generated/mmengine.utils.ManagerMixin.html#mmengine.utils.ManagerMixin.get_current_instance + mmengine.utils.ManagerMixin.get_instance api/generated/mmengine.utils.ManagerMixin.html#mmengine.utils.ManagerMixin.get_instance + mmengine.utils.Timer.since_last_check api/generated/mmengine.utils.Timer.html#mmengine.utils.Timer.since_last_check + mmengine.utils.Timer.since_start api/generated/mmengine.utils.Timer.html#mmengine.utils.Timer.since_start + mmengine.utils.Timer.start api/generated/mmengine.utils.Timer.html#mmengine.utils.Timer.start + mmengine.utils.dl_utils.TimeCounter.print_time api/generated/mmengine.utils.dl_utils.TimeCounter.html#mmengine.utils.dl_utils.TimeCounter.print_time + mmengine.visualization.BaseVisBackend.add_config api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend.add_config + mmengine.visualization.BaseVisBackend.add_graph api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend.add_graph + mmengine.visualization.BaseVisBackend.add_image api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend.add_image + mmengine.visualization.BaseVisBackend.add_scalar api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend.add_scalar + mmengine.visualization.BaseVisBackend.add_scalars api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend.add_scalars + mmengine.visualization.BaseVisBackend.close api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend.close + mmengine.visualization.LocalVisBackend.add_config api/generated/mmengine.visualization.LocalVisBackend.html#mmengine.visualization.LocalVisBackend.add_config + mmengine.visualization.LocalVisBackend.add_image api/generated/mmengine.visualization.LocalVisBackend.html#mmengine.visualization.LocalVisBackend.add_image + mmengine.visualization.LocalVisBackend.add_scalar api/generated/mmengine.visualization.LocalVisBackend.html#mmengine.visualization.LocalVisBackend.add_scalar + mmengine.visualization.LocalVisBackend.add_scalars api/generated/mmengine.visualization.LocalVisBackend.html#mmengine.visualization.LocalVisBackend.add_scalars + mmengine.visualization.TensorboardVisBackend.add_config api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend.add_config + mmengine.visualization.TensorboardVisBackend.add_image api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend.add_image + mmengine.visualization.TensorboardVisBackend.add_scalar api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend.add_scalar + mmengine.visualization.TensorboardVisBackend.add_scalars api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend.add_scalars + mmengine.visualization.TensorboardVisBackend.close api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend.close + mmengine.visualization.Visualizer.add_config api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.add_config + mmengine.visualization.Visualizer.add_datasample api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.add_datasample + mmengine.visualization.Visualizer.add_graph api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.add_graph + mmengine.visualization.Visualizer.add_image api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.add_image + mmengine.visualization.Visualizer.add_scalar api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.add_scalar + mmengine.visualization.Visualizer.add_scalars api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.add_scalars + mmengine.visualization.Visualizer.close api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.close + mmengine.visualization.Visualizer.draw_bboxes api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_bboxes + mmengine.visualization.Visualizer.draw_binary_masks api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_binary_masks + mmengine.visualization.Visualizer.draw_circles api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_circles + mmengine.visualization.Visualizer.draw_featmap api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_featmap + mmengine.visualization.Visualizer.draw_lines api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_lines + mmengine.visualization.Visualizer.draw_points api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_points + mmengine.visualization.Visualizer.draw_polygons api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_polygons + mmengine.visualization.Visualizer.draw_texts api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_texts + mmengine.visualization.Visualizer.get_backend api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.get_backend + mmengine.visualization.Visualizer.get_image api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.get_image + mmengine.visualization.Visualizer.get_instance api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.get_instance + mmengine.visualization.Visualizer.set_image api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.set_image + mmengine.visualization.Visualizer.show api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.show + mmengine.visualization.WandbVisBackend.add_config api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend.add_config + mmengine.visualization.WandbVisBackend.add_graph api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend.add_graph + mmengine.visualization.WandbVisBackend.add_image api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend.add_image + mmengine.visualization.WandbVisBackend.add_scalar api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend.add_scalar + mmengine.visualization.WandbVisBackend.add_scalars api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend.add_scalars + mmengine.visualization.WandbVisBackend.close api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend.close +py:property + mmengine.config.Config.env_variables api/generated/mmengine.config.Config.html#mmengine.config.Config.env_variables + mmengine.config.Config.filename api/generated/mmengine.config.Config.html#mmengine.config.Config.filename + mmengine.config.Config.pretty_text api/generated/mmengine.config.Config.html#mmengine.config.Config.pretty_text + mmengine.config.Config.text api/generated/mmengine.config.Config.html#mmengine.config.Config.text + mmengine.dataset.BaseDataset.metainfo api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.metainfo + mmengine.dataset.ClassBalancedDataset.metainfo api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset.metainfo + mmengine.dataset.ConcatDataset.metainfo api/generated/mmengine.dataset.ConcatDataset.html#mmengine.dataset.ConcatDataset.metainfo + mmengine.dataset.RepeatDataset.metainfo api/generated/mmengine.dataset.RepeatDataset.html#mmengine.dataset.RepeatDataset.metainfo + mmengine.evaluator.BaseMetric.dataset_meta api/generated/mmengine.evaluator.BaseMetric.html#mmengine.evaluator.BaseMetric.dataset_meta + mmengine.evaluator.Evaluator.dataset_meta api/generated/mmengine.evaluator.Evaluator.html#mmengine.evaluator.Evaluator.dataset_meta + mmengine.logging.HistoryBuffer.data api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.data + mmengine.logging.MessageHub.log_scalars api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.log_scalars + mmengine.logging.MessageHub.runtime_info api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.runtime_info + mmengine.optim.OptimWrapper.defaults api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.defaults + mmengine.optim.OptimWrapper.inner_count api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.inner_count + mmengine.optim.OptimWrapper.param_groups api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.param_groups + mmengine.optim.OptimWrapperDict.param_groups api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.param_groups + mmengine.registry.DefaultScope.scope_name api/generated/mmengine.registry.DefaultScope.html#mmengine.registry.DefaultScope.scope_name + mmengine.runner.EpochBasedTrainLoop.epoch api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop.epoch + mmengine.runner.EpochBasedTrainLoop.iter api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop.iter + mmengine.runner.EpochBasedTrainLoop.max_epochs api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop.max_epochs + mmengine.runner.EpochBasedTrainLoop.max_iters api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop.max_iters + mmengine.runner.IterBasedTrainLoop.epoch api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop.epoch + mmengine.runner.IterBasedTrainLoop.iter api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop.iter + mmengine.runner.IterBasedTrainLoop.max_epochs api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop.max_epochs + mmengine.runner.IterBasedTrainLoop.max_iters api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop.max_iters + mmengine.runner.Runner.deterministic api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.deterministic + mmengine.runner.Runner.distributed api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.distributed + mmengine.runner.Runner.epoch api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.epoch + mmengine.runner.Runner.experiment_name api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.experiment_name + mmengine.runner.Runner.hooks api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.hooks + mmengine.runner.Runner.iter api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.iter + mmengine.runner.Runner.launcher api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.launcher + mmengine.runner.Runner.max_epochs api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.max_epochs + mmengine.runner.Runner.max_iters api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.max_iters + mmengine.runner.Runner.model_name api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.model_name + mmengine.runner.Runner.rank api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.rank + mmengine.runner.Runner.seed api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.seed + mmengine.runner.Runner.test_dataloader api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.test_dataloader + mmengine.runner.Runner.test_evaluator api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.test_evaluator + mmengine.runner.Runner.test_loop api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.test_loop + mmengine.runner.Runner.timestamp api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.timestamp + mmengine.runner.Runner.train_dataloader api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.train_dataloader + mmengine.runner.Runner.train_loop api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.train_loop + mmengine.runner.Runner.val_begin api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.val_begin + mmengine.runner.Runner.val_dataloader api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.val_dataloader + mmengine.runner.Runner.val_evaluator api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.val_evaluator + mmengine.runner.Runner.val_interval api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.val_interval + mmengine.runner.Runner.val_loop api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.val_loop + mmengine.runner.Runner.work_dir api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.work_dir + mmengine.runner.Runner.world_size api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.world_size + mmengine.structures.BaseDataElement.metainfo api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.metainfo + mmengine.structures.PixelData.shape api/generated/mmengine.structures.PixelData.html#mmengine.structures.PixelData.shape + mmengine.utils.ManagerMixin.instance_name api/generated/mmengine.utils.ManagerMixin.html#mmengine.utils.ManagerMixin.instance_name + mmengine.utils.Timer.is_running api/generated/mmengine.utils.Timer.html#mmengine.utils.Timer.is_running + mmengine.visualization.BaseVisBackend.experiment api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend.experiment + mmengine.visualization.LocalVisBackend.experiment api/generated/mmengine.visualization.LocalVisBackend.html#mmengine.visualization.LocalVisBackend.experiment + mmengine.visualization.TensorboardVisBackend.experiment api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend.experiment + mmengine.visualization.Visualizer.dataset_meta api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.dataset_meta + mmengine.visualization.WandbVisBackend.experiment api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend.experiment +std:doc + advanced_tutorials/basedataset 数据集基类(BaseDataset) : advanced_tutorials/basedataset.html + advanced_tutorials/config 配置(Config) : advanced_tutorials/config.html + advanced_tutorials/cross_library 跨库调用模块 : advanced_tutorials/cross_library.html + advanced_tutorials/data_element 抽象数据接口 : advanced_tutorials/data_element.html + advanced_tutorials/data_transform 数据变换 (Data Transform) : advanced_tutorials/data_transform.html + advanced_tutorials/distributed 分布式通信原语 : advanced_tutorials/distributed.html + advanced_tutorials/fileio 文件读写 : advanced_tutorials/fileio.html + advanced_tutorials/initialize 权重初始化 : advanced_tutorials/initialize.html + advanced_tutorials/logging 记录日志 : advanced_tutorials/logging.html + advanced_tutorials/manager_mixin 全局管理器(ManagerMixin) : advanced_tutorials/manager_mixin.html + advanced_tutorials/registry 注册器(Registry) : advanced_tutorials/registry.html + advanced_tutorials/test_time_augmentation 测试时增强(Test time augmentation) : advanced_tutorials/test_time_augmentation.html + advanced_tutorials/visualization 可视化 : advanced_tutorials/visualization.html + api/config mmengine.config : api/config.html + api/dataset mmengine.dataset : api/dataset.html + api/device mmengine.device : api/device.html + api/dist mmengine.dist : api/dist.html + api/evaluator mmengine.evaluator : api/evaluator.html + api/fileio mmengine.fileio : api/fileio.html + api/generated/mmengine.config.Config Config : api/generated/mmengine.config.Config.html + api/generated/mmengine.config.ConfigDict ConfigDict : api/generated/mmengine.config.ConfigDict.html + api/generated/mmengine.config.DictAction DictAction : api/generated/mmengine.config.DictAction.html + api/generated/mmengine.dataset.BaseDataset BaseDataset : api/generated/mmengine.dataset.BaseDataset.html + api/generated/mmengine.dataset.ClassBalancedDataset ClassBalancedDataset : api/generated/mmengine.dataset.ClassBalancedDataset.html + api/generated/mmengine.dataset.Compose Compose : api/generated/mmengine.dataset.Compose.html + api/generated/mmengine.dataset.ConcatDataset ConcatDataset : api/generated/mmengine.dataset.ConcatDataset.html + api/generated/mmengine.dataset.DefaultSampler DefaultSampler : api/generated/mmengine.dataset.DefaultSampler.html + api/generated/mmengine.dataset.InfiniteSampler InfiniteSampler : api/generated/mmengine.dataset.InfiniteSampler.html + api/generated/mmengine.dataset.RepeatDataset RepeatDataset : api/generated/mmengine.dataset.RepeatDataset.html + api/generated/mmengine.dataset.default_collate mmengine.dataset.default_collate : api/generated/mmengine.dataset.default_collate.html + api/generated/mmengine.dataset.pseudo_collate mmengine.dataset.pseudo_collate : api/generated/mmengine.dataset.pseudo_collate.html + api/generated/mmengine.dataset.worker_init_fn mmengine.dataset.worker_init_fn : api/generated/mmengine.dataset.worker_init_fn.html + api/generated/mmengine.device.get_device mmengine.device.get_device : api/generated/mmengine.device.get_device.html + api/generated/mmengine.device.get_max_cuda_memory mmengine.device.get_max_cuda_memory : api/generated/mmengine.device.get_max_cuda_memory.html + api/generated/mmengine.device.is_cuda_available mmengine.device.is_cuda_available : api/generated/mmengine.device.is_cuda_available.html + api/generated/mmengine.device.is_mlu_available mmengine.device.is_mlu_available : api/generated/mmengine.device.is_mlu_available.html + api/generated/mmengine.device.is_mps_available mmengine.device.is_mps_available : api/generated/mmengine.device.is_mps_available.html + api/generated/mmengine.device.is_npu_available mmengine.device.is_npu_available : api/generated/mmengine.device.is_npu_available.html + api/generated/mmengine.dist.all_gather mmengine.dist.all_gather : api/generated/mmengine.dist.all_gather.html + api/generated/mmengine.dist.all_gather_object mmengine.dist.all_gather_object : api/generated/mmengine.dist.all_gather_object.html + api/generated/mmengine.dist.all_reduce mmengine.dist.all_reduce : api/generated/mmengine.dist.all_reduce.html + api/generated/mmengine.dist.all_reduce_dict mmengine.dist.all_reduce_dict : api/generated/mmengine.dist.all_reduce_dict.html + api/generated/mmengine.dist.all_reduce_params mmengine.dist.all_reduce_params : api/generated/mmengine.dist.all_reduce_params.html + api/generated/mmengine.dist.barrier mmengine.dist.barrier : api/generated/mmengine.dist.barrier.html + api/generated/mmengine.dist.broadcast mmengine.dist.broadcast : api/generated/mmengine.dist.broadcast.html + api/generated/mmengine.dist.broadcast_object_list mmengine.dist.broadcast_object_list : api/generated/mmengine.dist.broadcast_object_list.html + api/generated/mmengine.dist.cast_data_device mmengine.dist.cast_data_device : api/generated/mmengine.dist.cast_data_device.html + api/generated/mmengine.dist.collect_results mmengine.dist.collect_results : api/generated/mmengine.dist.collect_results.html + api/generated/mmengine.dist.collect_results_cpu mmengine.dist.collect_results_cpu : api/generated/mmengine.dist.collect_results_cpu.html + api/generated/mmengine.dist.collect_results_gpu mmengine.dist.collect_results_gpu : api/generated/mmengine.dist.collect_results_gpu.html + api/generated/mmengine.dist.gather mmengine.dist.gather : api/generated/mmengine.dist.gather.html + api/generated/mmengine.dist.gather_object mmengine.dist.gather_object : api/generated/mmengine.dist.gather_object.html + api/generated/mmengine.dist.get_backend mmengine.dist.get_backend : api/generated/mmengine.dist.get_backend.html + api/generated/mmengine.dist.get_comm_device mmengine.dist.get_comm_device : api/generated/mmengine.dist.get_comm_device.html + api/generated/mmengine.dist.get_data_device mmengine.dist.get_data_device : api/generated/mmengine.dist.get_data_device.html + api/generated/mmengine.dist.get_default_group mmengine.dist.get_default_group : api/generated/mmengine.dist.get_default_group.html + api/generated/mmengine.dist.get_dist_info mmengine.dist.get_dist_info : api/generated/mmengine.dist.get_dist_info.html + api/generated/mmengine.dist.get_local_group mmengine.dist.get_local_group : api/generated/mmengine.dist.get_local_group.html + api/generated/mmengine.dist.get_local_rank mmengine.dist.get_local_rank : api/generated/mmengine.dist.get_local_rank.html + api/generated/mmengine.dist.get_local_size mmengine.dist.get_local_size : api/generated/mmengine.dist.get_local_size.html + api/generated/mmengine.dist.get_rank mmengine.dist.get_rank : api/generated/mmengine.dist.get_rank.html + api/generated/mmengine.dist.get_world_size mmengine.dist.get_world_size : api/generated/mmengine.dist.get_world_size.html + api/generated/mmengine.dist.init_dist mmengine.dist.init_dist : api/generated/mmengine.dist.init_dist.html + api/generated/mmengine.dist.init_local_group mmengine.dist.init_local_group : api/generated/mmengine.dist.init_local_group.html + api/generated/mmengine.dist.is_distributed mmengine.dist.is_distributed : api/generated/mmengine.dist.is_distributed.html + api/generated/mmengine.dist.is_main_process mmengine.dist.is_main_process : api/generated/mmengine.dist.is_main_process.html + api/generated/mmengine.dist.master_only mmengine.dist.master_only : api/generated/mmengine.dist.master_only.html + api/generated/mmengine.dist.sync_random_seed mmengine.dist.sync_random_seed : api/generated/mmengine.dist.sync_random_seed.html + api/generated/mmengine.evaluator.BaseMetric BaseMetric : api/generated/mmengine.evaluator.BaseMetric.html + api/generated/mmengine.evaluator.DumpResults DumpResults : api/generated/mmengine.evaluator.DumpResults.html + api/generated/mmengine.evaluator.Evaluator Evaluator : api/generated/mmengine.evaluator.Evaluator.html + api/generated/mmengine.evaluator.get_metric_value mmengine.evaluator.get_metric_value : api/generated/mmengine.evaluator.get_metric_value.html + api/generated/mmengine.fileio.BaseFileHandler BaseFileHandler : api/generated/mmengine.fileio.BaseFileHandler.html + api/generated/mmengine.fileio.BaseStorageBackend BaseStorageBackend : api/generated/mmengine.fileio.BaseStorageBackend.html + api/generated/mmengine.fileio.FileClient FileClient : api/generated/mmengine.fileio.FileClient.html + api/generated/mmengine.fileio.HTTPBackend HTTPBackend : api/generated/mmengine.fileio.HTTPBackend.html + api/generated/mmengine.fileio.HardDiskBackend HardDiskBackend : api/generated/mmengine.fileio.HardDiskBackend.html + api/generated/mmengine.fileio.JsonHandler JsonHandler : api/generated/mmengine.fileio.JsonHandler.html + api/generated/mmengine.fileio.LmdbBackend LmdbBackend : api/generated/mmengine.fileio.LmdbBackend.html + api/generated/mmengine.fileio.LocalBackend LocalBackend : api/generated/mmengine.fileio.LocalBackend.html + api/generated/mmengine.fileio.MemcachedBackend MemcachedBackend : api/generated/mmengine.fileio.MemcachedBackend.html + api/generated/mmengine.fileio.PetrelBackend PetrelBackend : api/generated/mmengine.fileio.PetrelBackend.html + api/generated/mmengine.fileio.PickleHandler PickleHandler : api/generated/mmengine.fileio.PickleHandler.html + api/generated/mmengine.fileio.YamlHandler YamlHandler : api/generated/mmengine.fileio.YamlHandler.html + api/generated/mmengine.fileio.copy_if_symlink_fails mmengine.fileio.copy_if_symlink_fails : api/generated/mmengine.fileio.copy_if_symlink_fails.html + api/generated/mmengine.fileio.copyfile mmengine.fileio.copyfile : api/generated/mmengine.fileio.copyfile.html + api/generated/mmengine.fileio.copyfile_from_local mmengine.fileio.copyfile_from_local : api/generated/mmengine.fileio.copyfile_from_local.html + api/generated/mmengine.fileio.copyfile_to_local mmengine.fileio.copyfile_to_local : api/generated/mmengine.fileio.copyfile_to_local.html + api/generated/mmengine.fileio.copytree mmengine.fileio.copytree : api/generated/mmengine.fileio.copytree.html + api/generated/mmengine.fileio.copytree_from_local mmengine.fileio.copytree_from_local : api/generated/mmengine.fileio.copytree_from_local.html + api/generated/mmengine.fileio.copytree_to_local mmengine.fileio.copytree_to_local : api/generated/mmengine.fileio.copytree_to_local.html + api/generated/mmengine.fileio.dict_from_file mmengine.fileio.dict_from_file : api/generated/mmengine.fileio.dict_from_file.html + api/generated/mmengine.fileio.dump mmengine.fileio.dump : api/generated/mmengine.fileio.dump.html + api/generated/mmengine.fileio.exists mmengine.fileio.exists : api/generated/mmengine.fileio.exists.html + api/generated/mmengine.fileio.generate_presigned_url mmengine.fileio.generate_presigned_url : api/generated/mmengine.fileio.generate_presigned_url.html + api/generated/mmengine.fileio.get mmengine.fileio.get : api/generated/mmengine.fileio.get.html + api/generated/mmengine.fileio.get_file_backend mmengine.fileio.get_file_backend : api/generated/mmengine.fileio.get_file_backend.html + api/generated/mmengine.fileio.get_local_path mmengine.fileio.get_local_path : api/generated/mmengine.fileio.get_local_path.html + api/generated/mmengine.fileio.get_text mmengine.fileio.get_text : api/generated/mmengine.fileio.get_text.html + api/generated/mmengine.fileio.isdir mmengine.fileio.isdir : api/generated/mmengine.fileio.isdir.html + api/generated/mmengine.fileio.isfile mmengine.fileio.isfile : api/generated/mmengine.fileio.isfile.html + api/generated/mmengine.fileio.join_path mmengine.fileio.join_path : api/generated/mmengine.fileio.join_path.html + api/generated/mmengine.fileio.list_dir_or_file mmengine.fileio.list_dir_or_file : api/generated/mmengine.fileio.list_dir_or_file.html + api/generated/mmengine.fileio.list_from_file mmengine.fileio.list_from_file : api/generated/mmengine.fileio.list_from_file.html + api/generated/mmengine.fileio.load mmengine.fileio.load : api/generated/mmengine.fileio.load.html + api/generated/mmengine.fileio.put mmengine.fileio.put : api/generated/mmengine.fileio.put.html + api/generated/mmengine.fileio.put_text mmengine.fileio.put_text : api/generated/mmengine.fileio.put_text.html + api/generated/mmengine.fileio.register_backend mmengine.fileio.register_backend : api/generated/mmengine.fileio.register_backend.html + api/generated/mmengine.fileio.register_handler mmengine.fileio.register_handler : api/generated/mmengine.fileio.register_handler.html + api/generated/mmengine.fileio.remove mmengine.fileio.remove : api/generated/mmengine.fileio.remove.html + api/generated/mmengine.fileio.rmtree mmengine.fileio.rmtree : api/generated/mmengine.fileio.rmtree.html + api/generated/mmengine.hooks.CheckpointHook CheckpointHook : api/generated/mmengine.hooks.CheckpointHook.html + api/generated/mmengine.hooks.DistSamplerSeedHook DistSamplerSeedHook : api/generated/mmengine.hooks.DistSamplerSeedHook.html + api/generated/mmengine.hooks.EMAHook EMAHook : api/generated/mmengine.hooks.EMAHook.html + api/generated/mmengine.hooks.EmptyCacheHook EmptyCacheHook : api/generated/mmengine.hooks.EmptyCacheHook.html + api/generated/mmengine.hooks.Hook Hook : api/generated/mmengine.hooks.Hook.html + api/generated/mmengine.hooks.IterTimerHook IterTimerHook : api/generated/mmengine.hooks.IterTimerHook.html + api/generated/mmengine.hooks.LoggerHook LoggerHook : api/generated/mmengine.hooks.LoggerHook.html + api/generated/mmengine.hooks.NaiveVisualizationHook NaiveVisualizationHook : api/generated/mmengine.hooks.NaiveVisualizationHook.html + api/generated/mmengine.hooks.ParamSchedulerHook ParamSchedulerHook : api/generated/mmengine.hooks.ParamSchedulerHook.html + api/generated/mmengine.hooks.PrepareTTAHook PrepareTTAHook : api/generated/mmengine.hooks.PrepareTTAHook.html + api/generated/mmengine.hooks.ProfilerHook ProfilerHook : api/generated/mmengine.hooks.ProfilerHook.html + api/generated/mmengine.hooks.RuntimeInfoHook RuntimeInfoHook : api/generated/mmengine.hooks.RuntimeInfoHook.html + api/generated/mmengine.hooks.SyncBuffersHook SyncBuffersHook : api/generated/mmengine.hooks.SyncBuffersHook.html + api/generated/mmengine.hub.get_config mmengine.hub.get_config : api/generated/mmengine.hub.get_config.html + api/generated/mmengine.hub.get_model mmengine.hub.get_model : api/generated/mmengine.hub.get_model.html + api/generated/mmengine.infer.BaseInferencer BaseInferencer : api/generated/mmengine.infer.BaseInferencer.html + api/generated/mmengine.logging.HistoryBuffer HistoryBuffer : api/generated/mmengine.logging.HistoryBuffer.html + api/generated/mmengine.logging.MMLogger MMLogger : api/generated/mmengine.logging.MMLogger.html + api/generated/mmengine.logging.MessageHub MessageHub : api/generated/mmengine.logging.MessageHub.html + api/generated/mmengine.logging.print_log mmengine.logging.print_log : api/generated/mmengine.logging.print_log.html + api/generated/mmengine.model.BaseAveragedModel BaseAveragedModel : api/generated/mmengine.model.BaseAveragedModel.html + api/generated/mmengine.model.BaseDataPreprocessor BaseDataPreprocessor : api/generated/mmengine.model.BaseDataPreprocessor.html + api/generated/mmengine.model.BaseInit BaseInit : api/generated/mmengine.model.BaseInit.html + api/generated/mmengine.model.BaseModel BaseModel : api/generated/mmengine.model.BaseModel.html + api/generated/mmengine.model.BaseModule BaseModule : api/generated/mmengine.model.BaseModule.html + api/generated/mmengine.model.BaseTTAModel BaseTTAModel : api/generated/mmengine.model.BaseTTAModel.html + api/generated/mmengine.model.Caffe2XavierInit Caffe2XavierInit : api/generated/mmengine.model.Caffe2XavierInit.html + api/generated/mmengine.model.ConstantInit ConstantInit : api/generated/mmengine.model.ConstantInit.html + api/generated/mmengine.model.ExponentialMovingAverage ExponentialMovingAverage : api/generated/mmengine.model.ExponentialMovingAverage.html + api/generated/mmengine.model.ImgDataPreprocessor ImgDataPreprocessor : api/generated/mmengine.model.ImgDataPreprocessor.html + api/generated/mmengine.model.KaimingInit KaimingInit : api/generated/mmengine.model.KaimingInit.html + api/generated/mmengine.model.MMDistributedDataParallel MMDistributedDataParallel : api/generated/mmengine.model.MMDistributedDataParallel.html + api/generated/mmengine.model.MMFullyShardedDataParallel MMFullyShardedDataParallel : api/generated/mmengine.model.MMFullyShardedDataParallel.html + api/generated/mmengine.model.MMSeparateDistributedDataParallel MMSeparateDistributedDataParallel : api/generated/mmengine.model.MMSeparateDistributedDataParallel.html + api/generated/mmengine.model.ModuleDict ModuleDict : api/generated/mmengine.model.ModuleDict.html + api/generated/mmengine.model.ModuleList ModuleList : api/generated/mmengine.model.ModuleList.html + api/generated/mmengine.model.MomentumAnnealingEMA MomentumAnnealingEMA : api/generated/mmengine.model.MomentumAnnealingEMA.html + api/generated/mmengine.model.NormalInit NormalInit : api/generated/mmengine.model.NormalInit.html + api/generated/mmengine.model.PretrainedInit PretrainedInit : api/generated/mmengine.model.PretrainedInit.html + api/generated/mmengine.model.Sequential Sequential : api/generated/mmengine.model.Sequential.html + api/generated/mmengine.model.StochasticWeightAverage StochasticWeightAverage : api/generated/mmengine.model.StochasticWeightAverage.html + api/generated/mmengine.model.TruncNormalInit TruncNormalInit : api/generated/mmengine.model.TruncNormalInit.html + api/generated/mmengine.model.UniformInit UniformInit : api/generated/mmengine.model.UniformInit.html + api/generated/mmengine.model.XavierInit XavierInit : api/generated/mmengine.model.XavierInit.html + api/generated/mmengine.model.bias_init_with_prob mmengine.model.bias_init_with_prob : api/generated/mmengine.model.bias_init_with_prob.html + api/generated/mmengine.model.caffe2_xavier_init mmengine.model.caffe2_xavier_init : api/generated/mmengine.model.caffe2_xavier_init.html + api/generated/mmengine.model.constant_init mmengine.model.constant_init : api/generated/mmengine.model.constant_init.html + api/generated/mmengine.model.convert_sync_batchnorm mmengine.model.convert_sync_batchnorm : api/generated/mmengine.model.convert_sync_batchnorm.html + api/generated/mmengine.model.detect_anomalous_params mmengine.model.detect_anomalous_params : api/generated/mmengine.model.detect_anomalous_params.html + api/generated/mmengine.model.initialize mmengine.model.initialize : api/generated/mmengine.model.initialize.html + api/generated/mmengine.model.is_model_wrapper is_model_wrapper : api/generated/mmengine.model.is_model_wrapper.html + api/generated/mmengine.model.kaiming_init mmengine.model.kaiming_init : api/generated/mmengine.model.kaiming_init.html + api/generated/mmengine.model.merge_dict mmengine.model.merge_dict : api/generated/mmengine.model.merge_dict.html + api/generated/mmengine.model.normal_init mmengine.model.normal_init : api/generated/mmengine.model.normal_init.html + api/generated/mmengine.model.revert_sync_batchnorm mmengine.model.revert_sync_batchnorm : api/generated/mmengine.model.revert_sync_batchnorm.html + api/generated/mmengine.model.stack_batch mmengine.model.stack_batch : api/generated/mmengine.model.stack_batch.html + api/generated/mmengine.model.trunc_normal_init mmengine.model.trunc_normal_init : api/generated/mmengine.model.trunc_normal_init.html + api/generated/mmengine.model.uniform_init mmengine.model.uniform_init : api/generated/mmengine.model.uniform_init.html + api/generated/mmengine.model.update_init_info mmengine.model.update_init_info : api/generated/mmengine.model.update_init_info.html + api/generated/mmengine.model.xavier_init mmengine.model.xavier_init : api/generated/mmengine.model.xavier_init.html + api/generated/mmengine.optim.AmpOptimWrapper AmpOptimWrapper : api/generated/mmengine.optim.AmpOptimWrapper.html + api/generated/mmengine.optim.ApexOptimWrapper ApexOptimWrapper : api/generated/mmengine.optim.ApexOptimWrapper.html + api/generated/mmengine.optim.ConstantLR ConstantLR : api/generated/mmengine.optim.ConstantLR.html + api/generated/mmengine.optim.ConstantMomentum ConstantMomentum : api/generated/mmengine.optim.ConstantMomentum.html + api/generated/mmengine.optim.ConstantParamScheduler ConstantParamScheduler : api/generated/mmengine.optim.ConstantParamScheduler.html + api/generated/mmengine.optim.CosineAnnealingLR CosineAnnealingLR : api/generated/mmengine.optim.CosineAnnealingLR.html + api/generated/mmengine.optim.CosineAnnealingMomentum CosineAnnealingMomentum : api/generated/mmengine.optim.CosineAnnealingMomentum.html + api/generated/mmengine.optim.CosineAnnealingParamScheduler CosineAnnealingParamScheduler : api/generated/mmengine.optim.CosineAnnealingParamScheduler.html + api/generated/mmengine.optim.DefaultOptimWrapperConstructor DefaultOptimWrapperConstructor : api/generated/mmengine.optim.DefaultOptimWrapperConstructor.html + api/generated/mmengine.optim.ExponentialLR ExponentialLR : api/generated/mmengine.optim.ExponentialLR.html + api/generated/mmengine.optim.ExponentialMomentum ExponentialMomentum : api/generated/mmengine.optim.ExponentialMomentum.html + api/generated/mmengine.optim.ExponentialParamScheduler ExponentialParamScheduler : api/generated/mmengine.optim.ExponentialParamScheduler.html + api/generated/mmengine.optim.LinearLR LinearLR : api/generated/mmengine.optim.LinearLR.html + api/generated/mmengine.optim.LinearMomentum LinearMomentum : api/generated/mmengine.optim.LinearMomentum.html + api/generated/mmengine.optim.LinearParamScheduler LinearParamScheduler : api/generated/mmengine.optim.LinearParamScheduler.html + api/generated/mmengine.optim.MultiStepLR MultiStepLR : api/generated/mmengine.optim.MultiStepLR.html + api/generated/mmengine.optim.MultiStepMomentum MultiStepMomentum : api/generated/mmengine.optim.MultiStepMomentum.html + api/generated/mmengine.optim.MultiStepParamScheduler MultiStepParamScheduler : api/generated/mmengine.optim.MultiStepParamScheduler.html + api/generated/mmengine.optim.OneCycleLR OneCycleLR : api/generated/mmengine.optim.OneCycleLR.html + api/generated/mmengine.optim.OneCycleParamScheduler OneCycleParamScheduler : api/generated/mmengine.optim.OneCycleParamScheduler.html + api/generated/mmengine.optim.OptimWrapper OptimWrapper : api/generated/mmengine.optim.OptimWrapper.html + api/generated/mmengine.optim.OptimWrapperDict OptimWrapperDict : api/generated/mmengine.optim.OptimWrapperDict.html + api/generated/mmengine.optim.PolyLR PolyLR : api/generated/mmengine.optim.PolyLR.html + api/generated/mmengine.optim.PolyMomentum PolyMomentum : api/generated/mmengine.optim.PolyMomentum.html + api/generated/mmengine.optim.PolyParamScheduler PolyParamScheduler : api/generated/mmengine.optim.PolyParamScheduler.html + api/generated/mmengine.optim.ReduceOnPlateauLR ReduceOnPlateauLR : api/generated/mmengine.optim.ReduceOnPlateauLR.html + api/generated/mmengine.optim.ReduceOnPlateauMomentum ReduceOnPlateauMomentum : api/generated/mmengine.optim.ReduceOnPlateauMomentum.html + api/generated/mmengine.optim.ReduceOnPlateauParamScheduler ReduceOnPlateauParamScheduler : api/generated/mmengine.optim.ReduceOnPlateauParamScheduler.html + api/generated/mmengine.optim.StepLR StepLR : api/generated/mmengine.optim.StepLR.html + api/generated/mmengine.optim.StepMomentum StepMomentum : api/generated/mmengine.optim.StepMomentum.html + api/generated/mmengine.optim.StepParamScheduler StepParamScheduler : api/generated/mmengine.optim.StepParamScheduler.html + api/generated/mmengine.optim.ZeroRedundancyOptimizer ZeroRedundancyOptimizer : api/generated/mmengine.optim.ZeroRedundancyOptimizer.html + api/generated/mmengine.optim._ParamScheduler _ParamScheduler : api/generated/mmengine.optim._ParamScheduler.html + api/generated/mmengine.optim.build_optim_wrapper mmengine.optim.build_optim_wrapper : api/generated/mmengine.optim.build_optim_wrapper.html + api/generated/mmengine.registry.DefaultScope DefaultScope : api/generated/mmengine.registry.DefaultScope.html + api/generated/mmengine.registry.Registry Registry : api/generated/mmengine.registry.Registry.html + api/generated/mmengine.registry.build_from_cfg mmengine.registry.build_from_cfg : api/generated/mmengine.registry.build_from_cfg.html + api/generated/mmengine.registry.build_model_from_cfg mmengine.registry.build_model_from_cfg : api/generated/mmengine.registry.build_model_from_cfg.html + api/generated/mmengine.registry.build_runner_from_cfg mmengine.registry.build_runner_from_cfg : api/generated/mmengine.registry.build_runner_from_cfg.html + api/generated/mmengine.registry.build_scheduler_from_cfg mmengine.registry.build_scheduler_from_cfg: api/generated/mmengine.registry.build_scheduler_from_cfg.html + api/generated/mmengine.registry.count_registered_modules mmengine.registry.count_registered_modules: api/generated/mmengine.registry.count_registered_modules.html + api/generated/mmengine.registry.init_default_scope mmengine.registry.init_default_scope : api/generated/mmengine.registry.init_default_scope.html + api/generated/mmengine.registry.traverse_registry_tree mmengine.registry.traverse_registry_tree: api/generated/mmengine.registry.traverse_registry_tree.html + api/generated/mmengine.runner.BaseLoop BaseLoop : api/generated/mmengine.runner.BaseLoop.html + api/generated/mmengine.runner.CheckpointLoader CheckpointLoader : api/generated/mmengine.runner.CheckpointLoader.html + api/generated/mmengine.runner.EpochBasedTrainLoop EpochBasedTrainLoop : api/generated/mmengine.runner.EpochBasedTrainLoop.html + api/generated/mmengine.runner.IterBasedTrainLoop IterBasedTrainLoop : api/generated/mmengine.runner.IterBasedTrainLoop.html + api/generated/mmengine.runner.LogProcessor LogProcessor : api/generated/mmengine.runner.LogProcessor.html + api/generated/mmengine.runner.Priority Priority : api/generated/mmengine.runner.Priority.html + api/generated/mmengine.runner.Runner Runner : api/generated/mmengine.runner.Runner.html + api/generated/mmengine.runner.TestLoop TestLoop : api/generated/mmengine.runner.TestLoop.html + api/generated/mmengine.runner.ValLoop ValLoop : api/generated/mmengine.runner.ValLoop.html + api/generated/mmengine.runner.autocast mmengine.runner.autocast : api/generated/mmengine.runner.autocast.html + api/generated/mmengine.runner.find_latest_checkpoint mmengine.runner.find_latest_checkpoint : api/generated/mmengine.runner.find_latest_checkpoint.html + api/generated/mmengine.runner.get_deprecated_model_names mmengine.runner.get_deprecated_model_names: api/generated/mmengine.runner.get_deprecated_model_names.html + api/generated/mmengine.runner.get_external_models mmengine.runner.get_external_models : api/generated/mmengine.runner.get_external_models.html + api/generated/mmengine.runner.get_mmcls_models mmengine.runner.get_mmcls_models : api/generated/mmengine.runner.get_mmcls_models.html + api/generated/mmengine.runner.get_priority mmengine.runner.get_priority : api/generated/mmengine.runner.get_priority.html + api/generated/mmengine.runner.get_state_dict mmengine.runner.get_state_dict : api/generated/mmengine.runner.get_state_dict.html + api/generated/mmengine.runner.get_torchvision_models mmengine.runner.get_torchvision_models : api/generated/mmengine.runner.get_torchvision_models.html + api/generated/mmengine.runner.load_checkpoint mmengine.runner.load_checkpoint : api/generated/mmengine.runner.load_checkpoint.html + api/generated/mmengine.runner.load_state_dict mmengine.runner.load_state_dict : api/generated/mmengine.runner.load_state_dict.html + api/generated/mmengine.runner.save_checkpoint mmengine.runner.save_checkpoint : api/generated/mmengine.runner.save_checkpoint.html + api/generated/mmengine.runner.weights_to_cpu mmengine.runner.weights_to_cpu : api/generated/mmengine.runner.weights_to_cpu.html + api/generated/mmengine.structures.BaseDataElement BaseDataElement : api/generated/mmengine.structures.BaseDataElement.html + api/generated/mmengine.structures.InstanceData InstanceData : api/generated/mmengine.structures.InstanceData.html + api/generated/mmengine.structures.LabelData LabelData : api/generated/mmengine.structures.LabelData.html + api/generated/mmengine.structures.PixelData PixelData : api/generated/mmengine.structures.PixelData.html + api/generated/mmengine.utils.ManagerMeta ManagerMeta : api/generated/mmengine.utils.ManagerMeta.html + api/generated/mmengine.utils.ManagerMixin ManagerMixin : api/generated/mmengine.utils.ManagerMixin.html + api/generated/mmengine.utils.ProgressBar ProgressBar : api/generated/mmengine.utils.ProgressBar.html + api/generated/mmengine.utils.Timer Timer : api/generated/mmengine.utils.Timer.html + api/generated/mmengine.utils.TimerError TimerError : api/generated/mmengine.utils.TimerError.html + api/generated/mmengine.utils.call_command mmengine.utils.call_command : api/generated/mmengine.utils.call_command.html + api/generated/mmengine.utils.check_file_exist mmengine.utils.check_file_exist : api/generated/mmengine.utils.check_file_exist.html + api/generated/mmengine.utils.check_prerequisites mmengine.utils.check_prerequisites : api/generated/mmengine.utils.check_prerequisites.html + api/generated/mmengine.utils.check_time mmengine.utils.check_time : api/generated/mmengine.utils.check_time.html + api/generated/mmengine.utils.concat_list mmengine.utils.concat_list : api/generated/mmengine.utils.concat_list.html + api/generated/mmengine.utils.deprecated_api_warning mmengine.utils.deprecated_api_warning : api/generated/mmengine.utils.deprecated_api_warning.html + api/generated/mmengine.utils.deprecated_function mmengine.utils.deprecated_function : api/generated/mmengine.utils.deprecated_function.html + api/generated/mmengine.utils.digit_version mmengine.utils.digit_version : api/generated/mmengine.utils.digit_version.html + api/generated/mmengine.utils.dl_utils.TORCH_VERSION mmengine.utils.dl_utils.TORCH_VERSION : api/generated/mmengine.utils.dl_utils.TORCH_VERSION.html + api/generated/mmengine.utils.dl_utils.TimeCounter TimeCounter : api/generated/mmengine.utils.dl_utils.TimeCounter.html + api/generated/mmengine.utils.dl_utils.collect_env mmengine.utils.dl_utils.collect_env : api/generated/mmengine.utils.dl_utils.collect_env.html + api/generated/mmengine.utils.dl_utils.has_batch_norm mmengine.utils.dl_utils.has_batch_norm : api/generated/mmengine.utils.dl_utils.has_batch_norm.html + api/generated/mmengine.utils.dl_utils.is_jit_tracing mmengine.utils.dl_utils.is_jit_tracing : api/generated/mmengine.utils.dl_utils.is_jit_tracing.html + api/generated/mmengine.utils.dl_utils.is_norm mmengine.utils.dl_utils.is_norm : api/generated/mmengine.utils.dl_utils.is_norm.html + api/generated/mmengine.utils.dl_utils.load_url mmengine.utils.dl_utils.load_url : api/generated/mmengine.utils.dl_utils.load_url.html + api/generated/mmengine.utils.dl_utils.mmcv_full_available mmengine.utils.dl_utils.mmcv_full_available: api/generated/mmengine.utils.dl_utils.mmcv_full_available.html + api/generated/mmengine.utils.dl_utils.set_multi_processing mmengine.utils.dl_utils.set_multi_processing: api/generated/mmengine.utils.dl_utils.set_multi_processing.html + api/generated/mmengine.utils.dl_utils.tensor2imgs mmengine.utils.dl_utils.tensor2imgs : api/generated/mmengine.utils.dl_utils.tensor2imgs.html + api/generated/mmengine.utils.dl_utils.torch_meshgrid mmengine.utils.dl_utils.torch_meshgrid : api/generated/mmengine.utils.dl_utils.torch_meshgrid.html + api/generated/mmengine.utils.fopen mmengine.utils.fopen : api/generated/mmengine.utils.fopen.html + api/generated/mmengine.utils.get_git_hash mmengine.utils.get_git_hash : api/generated/mmengine.utils.get_git_hash.html + api/generated/mmengine.utils.get_installed_path mmengine.utils.get_installed_path : api/generated/mmengine.utils.get_installed_path.html + api/generated/mmengine.utils.has_method mmengine.utils.has_method : api/generated/mmengine.utils.has_method.html + api/generated/mmengine.utils.import_modules_from_strings mmengine.utils.import_modules_from_strings: api/generated/mmengine.utils.import_modules_from_strings.html + api/generated/mmengine.utils.install_package mmengine.utils.install_package : api/generated/mmengine.utils.install_package.html + api/generated/mmengine.utils.is_abs mmengine.utils.is_abs : api/generated/mmengine.utils.is_abs.html + api/generated/mmengine.utils.is_filepath mmengine.utils.is_filepath : api/generated/mmengine.utils.is_filepath.html + api/generated/mmengine.utils.is_installed mmengine.utils.is_installed : api/generated/mmengine.utils.is_installed.html + api/generated/mmengine.utils.is_list_of mmengine.utils.is_list_of : api/generated/mmengine.utils.is_list_of.html + api/generated/mmengine.utils.is_method_overridden mmengine.utils.is_method_overridden : api/generated/mmengine.utils.is_method_overridden.html + api/generated/mmengine.utils.is_seq_of mmengine.utils.is_seq_of : api/generated/mmengine.utils.is_seq_of.html + api/generated/mmengine.utils.is_str mmengine.utils.is_str : api/generated/mmengine.utils.is_str.html + api/generated/mmengine.utils.is_tuple_of mmengine.utils.is_tuple_of : api/generated/mmengine.utils.is_tuple_of.html + api/generated/mmengine.utils.iter_cast mmengine.utils.iter_cast : api/generated/mmengine.utils.iter_cast.html + api/generated/mmengine.utils.list_cast mmengine.utils.list_cast : api/generated/mmengine.utils.list_cast.html + api/generated/mmengine.utils.mkdir_or_exist mmengine.utils.mkdir_or_exist : api/generated/mmengine.utils.mkdir_or_exist.html + api/generated/mmengine.utils.requires_executable mmengine.utils.requires_executable : api/generated/mmengine.utils.requires_executable.html + api/generated/mmengine.utils.requires_package mmengine.utils.requires_package : api/generated/mmengine.utils.requires_package.html + api/generated/mmengine.utils.scandir mmengine.utils.scandir : api/generated/mmengine.utils.scandir.html + api/generated/mmengine.utils.slice_list mmengine.utils.slice_list : api/generated/mmengine.utils.slice_list.html + api/generated/mmengine.utils.symlink mmengine.utils.symlink : api/generated/mmengine.utils.symlink.html + api/generated/mmengine.utils.to_1tuple mmengine.utils.to_1tuple : api/generated/mmengine.utils.to_1tuple.html + api/generated/mmengine.utils.to_2tuple mmengine.utils.to_2tuple : api/generated/mmengine.utils.to_2tuple.html + api/generated/mmengine.utils.to_3tuple mmengine.utils.to_3tuple : api/generated/mmengine.utils.to_3tuple.html + api/generated/mmengine.utils.to_4tuple mmengine.utils.to_4tuple : api/generated/mmengine.utils.to_4tuple.html + api/generated/mmengine.utils.to_ntuple mmengine.utils.to_ntuple : api/generated/mmengine.utils.to_ntuple.html + api/generated/mmengine.utils.track_iter_progress mmengine.utils.track_iter_progress : api/generated/mmengine.utils.track_iter_progress.html + api/generated/mmengine.utils.track_parallel_progress mmengine.utils.track_parallel_progress : api/generated/mmengine.utils.track_parallel_progress.html + api/generated/mmengine.utils.track_progress mmengine.utils.track_progress : api/generated/mmengine.utils.track_progress.html + api/generated/mmengine.utils.tuple_cast mmengine.utils.tuple_cast : api/generated/mmengine.utils.tuple_cast.html + api/generated/mmengine.visualization.BaseVisBackend BaseVisBackend : api/generated/mmengine.visualization.BaseVisBackend.html + api/generated/mmengine.visualization.LocalVisBackend LocalVisBackend : api/generated/mmengine.visualization.LocalVisBackend.html + api/generated/mmengine.visualization.TensorboardVisBackend TensorboardVisBackend : api/generated/mmengine.visualization.TensorboardVisBackend.html + api/generated/mmengine.visualization.Visualizer Visualizer : api/generated/mmengine.visualization.Visualizer.html + api/generated/mmengine.visualization.WandbVisBackend WandbVisBackend : api/generated/mmengine.visualization.WandbVisBackend.html + api/hooks mmengine.hooks : api/hooks.html + api/hub mmengine.hub : api/hub.html + api/infer mmengine.infer : api/infer.html + api/logging mmengine.logging : api/logging.html + api/model mmengine.model : api/model.html + api/optim mmengine.optim : api/optim.html + api/registry mmengine.registry : api/registry.html + api/runner mmengine.runner : api/runner.html + api/structures mmengine.structures : api/structures.html + api/utils mmengine.utils : api/utils.html + api/utils.dl_utils mmengine.utils.dl_utils : api/utils.dl_utils.html + api/visualization mmengine.visualization : api/visualization.html + common_usage/resume_training 恢复训练 : common_usage/resume_training.html + common_usage/save_gpu_memory 节省显存 : common_usage/save_gpu_memory.html + common_usage/speed_up_training 加速训练 : common_usage/speed_up_training.html + design/evaluation 模型精度评测 : design/evaluation.html + design/hook 钩子 : design/hook.html + design/infer 推理接口 : design/infer.html + design/logging 日志系统 : design/logging.html + design/runner 执行器 : design/runner.html + design/visualization 可视化 : design/visualization.html + examples/train_a_gan 训练生成对抗网络 : examples/train_a_gan.html + get_started/15_minutes 15 分钟上手 MMEngine : get_started/15_minutes.html + get_started/installation 安装 : get_started/installation.html + get_started/introduction 介绍 : get_started/introduction.html + index 欢迎来到 MMEngine 的中文文档! : index.html + migration/hook 迁移 MMCV 钩子到 MMEngine : migration/hook.html + migration/model 迁移 MMCV 模型到 MMEngine : migration/model.html + migration/param_scheduler 迁移 MMCV 参数调度器到 MMEngine : migration/param_scheduler.html + migration/runner 迁移 MMCV 执行器到 MMEngine : migration/runner.html + migration/transform 数据变换类的迁移 : migration/transform.html + notes/changelog Changelog of v0.x : notes/changelog.html + notes/code_style 代码规范 : notes/code_style.html + notes/contributing 贡献代码 : notes/contributing.html + switch_language English : switch_language.html + tutorials/dataset 数据集(Dataset)与数据加载器(DataLoader) : tutorials/dataset.html + tutorials/evaluation 模型精度评测(Evaluation) : tutorials/evaluation.html + tutorials/hook 钩子(Hook) : tutorials/hook.html + tutorials/model 模型(Model) : tutorials/model.html + tutorials/optim_wrapper 优化器封装(OptimWrapper) : tutorials/optim_wrapper.html + tutorials/param_scheduler 优化器参数调整策略(Parameter Scheduler) : tutorials/param_scheduler.html + tutorials/runner 执行器(Runner) : tutorials/runner.html +std:label + advanced_tutorials/basedataset.md#classbalanceddataset ClassBalancedDataset : advanced_tutorials/basedataset.html#classbalanceddataset + advanced_tutorials/basedataset.md#concatdataset ConcatDataset : advanced_tutorials/basedataset.html#concatdataset + advanced_tutorials/basedataset.md#repeatdataset RepeatDataset : advanced_tutorials/basedataset.html#repeatdataset + advanced_tutorials/basedataset.md#使用数据集基类自定义数据集类 使用数据集基类自定义数据集类 : advanced_tutorials/basedataset.html#id5 + advanced_tutorials/basedataset.md#使用自定义数据集类 使用自定义数据集类 : advanced_tutorials/basedataset.html#id6 + advanced_tutorials/basedataset.md#基本介绍 基本介绍 : advanced_tutorials/basedataset.html#id1 + advanced_tutorials/basedataset.md#对于不满足-openmmlab-20-数据集格式规范的标注文件 对于不满足 OpenMMLab 2.0 数据集格式规范的标注文件 : advanced_tutorials/basedataset.html#id8 + advanced_tutorials/basedataset.md#对于满足-openmmlab-20-数据集格式规范的标注文件 对于满足 OpenMMLab 2.0 数据集格式规范的标注文件 : advanced_tutorials/basedataset.html#openmmlab-2-0 + advanced_tutorials/basedataset.md#懒加载lazy-init 懒加载(lazy init) : advanced_tutorials/basedataset.html#lazy-init + advanced_tutorials/basedataset.md#数据标注文件规范 数据标注文件规范 : advanced_tutorials/basedataset.html#id2 + advanced_tutorials/basedataset.md#数据集基类basedataset 数据集基类(BaseDataset) : advanced_tutorials/basedataset.html#basedataset + advanced_tutorials/basedataset.md#数据集基类包装 数据集基类包装 : advanced_tutorials/basedataset.html#id11 + advanced_tutorials/basedataset.md#数据集基类提供的接口 数据集基类提供的接口 : advanced_tutorials/basedataset.html#id4 + advanced_tutorials/basedataset.md#数据集基类的其它特性 数据集基类的其它特性 : advanced_tutorials/basedataset.html#id9 + advanced_tutorials/basedataset.md#数据集基类的初始化流程 数据集基类的初始化流程 : advanced_tutorials/basedataset.html#id3 + advanced_tutorials/basedataset.md#自定义数据集类包装 自定义数据集类包装 : advanced_tutorials/basedataset.html#id12 + advanced_tutorials/basedataset.md#自定义视频的数据集类 自定义视频的数据集类 : advanced_tutorials/basedataset.html#id7 + advanced_tutorials/basedataset.md#节省内存 节省内存 : advanced_tutorials/basedataset.html#id10 + advanced_tutorials/config.md#使用环境变量替换配置 使用环境变量替换配置 : advanced_tutorials/config.html#id11 + advanced_tutorials/config.md#修改继承字段 修改继承字段 : advanced_tutorials/config.html#id5 + advanced_tutorials/config.md#其他进阶用法 其他进阶用法 : advanced_tutorials/config.html#id8 + advanced_tutorials/config.md#删除字典中的-key 删除字典中的 key : advanced_tutorials/config.html#key + advanced_tutorials/config.md#命令行修改配置 命令行修改配置 : advanced_tutorials/config.html#id10 + advanced_tutorials/config.md#导入自定义-python-模块 导入自定义 Python 模块 : advanced_tutorials/config.html#python + advanced_tutorials/config.md#引用被继承文件中的变量 引用被继承文件中的变量 : advanced_tutorials/config.html#id6 + advanced_tutorials/config.md#继承机制概述 继承机制概述 : advanced_tutorials/config.html#id4 + advanced_tutorials/config.md#跨项目继承配置文件 跨项目继承配置文件 : advanced_tutorials/config.html#id12 + advanced_tutorials/config.md#跨项目获取配置文件 跨项目获取配置文件 : advanced_tutorials/config.html#id13 + advanced_tutorials/config.md#配置config 配置(Config) : advanced_tutorials/config.html#config + advanced_tutorials/config.md#配置文件的使用 配置文件的使用 : advanced_tutorials/config.html#id2 + advanced_tutorials/config.md#配置文件的导出 配置文件的导出 : advanced_tutorials/config.html#id7 + advanced_tutorials/config.md#配置文件的继承 配置文件的继承 : advanced_tutorials/config.html#id3 + advanced_tutorials/config.md#配置文件读取 配置文件读取 : advanced_tutorials/config.html#id1 + advanced_tutorials/config.md#预定义字段 预定义字段 : advanced_tutorials/config.html#id9 + advanced_tutorials/cross_library.md#跨库调用-backbone 跨库调用 Backbone: : advanced_tutorials/cross_library.html#backbone + advanced_tutorials/cross_library.md#跨库调用-detector 跨库调用 Detector: : advanced_tutorials/cross_library.html#detector + advanced_tutorials/cross_library.md#跨库调用-transform 跨库调用 Transform: : advanced_tutorials/cross_library.html#transform + advanced_tutorials/cross_library.md#跨库调用模块 跨库调用模块 : advanced_tutorials/cross_library.html#id1 + advanced_tutorials/data_element.md#1-数据元素的创建 1. 数据元素的创建 : advanced_tutorials/data_element.html#id2 + advanced_tutorials/data_element.md#1-组件接口的简化 1. 组件接口的简化 : advanced_tutorials/data_element.html#id16 + advanced_tutorials/data_element.md#2-new-与-clone-函数 2. new 与 clone 函数 : advanced_tutorials/data_element.html#new-clone + advanced_tutorials/data_element.md#2-模块接口的简化 2. 模块接口的简化 : advanced_tutorials/data_element.html#id17 + advanced_tutorials/data_element.md#3-属性的增加与查询 3. 属性的增加与查询 : advanced_tutorials/data_element.html#id3 + advanced_tutorials/data_element.md#4-属性的删改 4. 属性的删改 : advanced_tutorials/data_element.html#id4 + advanced_tutorials/data_element.md#5-类张量操作 5. 类张量操作 : advanced_tutorials/data_element.html#id5 + advanced_tutorials/data_element.md#6-属性的展示 6. 属性的展示 : advanced_tutorials/data_element.html#id6 + advanced_tutorials/data_element.md#instancedata InstanceData : advanced_tutorials/data_element.html#instancedata + advanced_tutorials/data_element.md#labeldata LabelData : advanced_tutorials/data_element.html#labeldata + advanced_tutorials/data_element.md#pixeldata PixelData : advanced_tutorials/data_element.html#pixeldata + advanced_tutorials/data_element.md#下游库使用 下游库使用 : advanced_tutorials/data_element.html#id13 + advanced_tutorials/data_element.md#抽象数据接口 抽象数据接口 : advanced_tutorials/data_element.html#id1 + advanced_tutorials/data_element.md#拼接cat 拼接(cat) : advanced_tutorials/data_element.html#cat + advanced_tutorials/data_element.md#接口的简化 接口的简化 : advanced_tutorials/data_element.html#id15 + advanced_tutorials/data_element.md#数据元素xxxdata 数据元素(xxxData) : advanced_tutorials/data_element.html#xxxdata + advanced_tutorials/data_element.md#数据基类basedataelement 数据基类(BaseDataElement) : advanced_tutorials/data_element.html#basedataelement + advanced_tutorials/data_element.md#数据校验 数据校验 : advanced_tutorials/data_element.html#id7 + advanced_tutorials/data_element.md#数据校验-1 数据校验 : advanced_tutorials/data_element.html#id11 + advanced_tutorials/data_element.md#数据样本datasample 数据样本(DataSample) : advanced_tutorials/data_element.html#datasample + advanced_tutorials/data_element.md#空间维度索引 空间维度索引 : advanced_tutorials/data_element.html#id12 + advanced_tutorials/data_element.md#类型约束 类型约束 : advanced_tutorials/data_element.html#id14 + advanced_tutorials/data_element.md#类字典访问和设置属性 类字典访问和设置属性 : advanced_tutorials/data_element.html#id8 + advanced_tutorials/data_element.md#索引与切片 索引与切片 : advanced_tutorials/data_element.html#id9 + advanced_tutorials/data_element.md#自定义数据结构 自定义数据结构 : advanced_tutorials/data_element.html#id10 + advanced_tutorials/data_transform.md#使用数据变换类 使用数据变换类 : advanced_tutorials/data_transform.html#id1 + advanced_tutorials/data_transform.md#在配置文件中使用 在配置文件中使用 : advanced_tutorials/data_transform.html#id2 + advanced_tutorials/data_transform.md#常用的数据变换类 常用的数据变换类 : advanced_tutorials/data_transform.html#id3 + advanced_tutorials/data_transform.md#数据加载 数据加载 : advanced_tutorials/data_transform.html#id4 + advanced_tutorials/data_transform.md#数据变换-data-transform 数据变换 (Data Transform) : advanced_tutorials/data_transform.html#data-transform + advanced_tutorials/data_transform.md#数据格式化 数据格式化 : advanced_tutorials/data_transform.html#id6 + advanced_tutorials/data_transform.md#数据预处理及增强 数据预处理及增强 : advanced_tutorials/data_transform.html#id5 + advanced_tutorials/data_transform.md#自定义数据变换类 自定义数据变换类 : advanced_tutorials/data_transform.html#id7 + advanced_tutorials/distributed.md#分布式信息获取与控制 分布式信息获取与控制 : advanced_tutorials/distributed.html#id3 + advanced_tutorials/distributed.md#分布式初始化 分布式初始化 : advanced_tutorials/distributed.html#id2 + advanced_tutorials/distributed.md#分布式通信函数 分布式通信函数 : advanced_tutorials/distributed.html#id4 + advanced_tutorials/distributed.md#分布式通信原语 分布式通信原语 : advanced_tutorials/distributed.html#id1 + advanced_tutorials/fileio.md#从其他存储后端读取 从其他存储后端读取 : advanced_tutorials/fileio.html#id7 + advanced_tutorials/fileio.md#从其它文件存储后端读写文件 从其它文件存储后端读写文件 : advanced_tutorials/fileio.html#id4 + advanced_tutorials/fileio.md#从硬盘中读写文件 从硬盘中读写文件 : advanced_tutorials/fileio.html#id3 + advanced_tutorials/fileio.md#从硬盘读取 从硬盘读取 : advanced_tutorials/fileio.html#id6 + advanced_tutorials/fileio.md#文件读写 文件读写 : advanced_tutorials/fileio.html#id1 + advanced_tutorials/fileio.md#读取和保存数据 读取和保存数据 : advanced_tutorials/fileio.html#id2 + advanced_tutorials/fileio.md#读取和保存权重文件 读取和保存权重文件 : advanced_tutorials/fileio.html#id8 + advanced_tutorials/fileio.md#读取文件并返回列表或字典 读取文件并返回列表或字典 : advanced_tutorials/fileio.html#id5 + advanced_tutorials/initialize.md#使用预训练权重初始化 使用预训练权重初始化 : advanced_tutorials/initialize.html#id3 + advanced_tutorials/initialize.md#函数式初始化 函数式初始化 : advanced_tutorials/initialize.html#id8 + advanced_tutorials/initialize.md#小结 小结 : advanced_tutorials/initialize.html#id7 + advanced_tutorials/initialize.md#常用的初始化方式 常用的初始化方式 : advanced_tutorials/initialize.html#id4 + advanced_tutorials/initialize.md#更细粒度的初始化 更细粒度的初始化 : advanced_tutorials/initialize.html#id5 + advanced_tutorials/initialize.md#权重初始化 权重初始化 : advanced_tutorials/initialize.html#id1 + advanced_tutorials/initialize.md#自定义的初始化方式 自定义的初始化方式 : advanced_tutorials/initialize.html#id6 + advanced_tutorials/initialize.md#配置式初始化 配置式初始化 : advanced_tutorials/initialize.html#id2 + advanced_tutorials/logging.md#灵活的日志统计方式 灵活的日志统计方式 : advanced_tutorials/logging.html#id2 + advanced_tutorials/logging.md#自定义统计内容 自定义统计内容 : advanced_tutorials/logging.html#id3 + advanced_tutorials/logging.md#记录日志 记录日志 : advanced_tutorials/logging.html#id1 + advanced_tutorials/logging.md#输出调试日志 输出调试日志 : advanced_tutorials/logging.html#id4 + advanced_tutorials/manager_mixin.md#使用方法 使用方法 : advanced_tutorials/manager_mixin.html#id2 + advanced_tutorials/manager_mixin.md#全局管理器managermixin 全局管理器(ManagerMixin) : advanced_tutorials/manager_mixin.html#managermixin + advanced_tutorials/manager_mixin.md#接口介绍 接口介绍 : advanced_tutorials/manager_mixin.html#id1 + advanced_tutorials/registry.md#什么是注册器 什么是注册器 : advanced_tutorials/registry.html#id1 + advanced_tutorials/registry.md#入门用法 入门用法 : advanced_tutorials/registry.html#id2 + advanced_tutorials/registry.md#注册器registry 注册器(Registry) : advanced_tutorials/registry.html#registry + advanced_tutorials/registry.md#调用兄弟节点的模块 调用兄弟节点的模块 : advanced_tutorials/registry.html#id5 + advanced_tutorials/registry.md#调用父节点的模块 调用父节点的模块 : advanced_tutorials/registry.html#id4 + advanced_tutorials/registry.md#进阶用法 进阶用法 : advanced_tutorials/registry.html#id3 + advanced_tutorials/test_time_augmentation.md#basettamodel-和各组件的关系 BaseTTAModel 和各组件的关系 : advanced_tutorials/test_time_augmentation.html#basettamodel + advanced_tutorials/test_time_augmentation.md#准备-tta-数据增强 准备 TTA 数据增强 : advanced_tutorials/test_time_augmentation.html#tta + advanced_tutorials/test_time_augmentation.md#定义-tta-模型融合策略 定义 TTA 模型融合策略 : advanced_tutorials/test_time_augmentation.html#id2 + advanced_tutorials/test_time_augmentation.md#快速上手 快速上手 : advanced_tutorials/test_time_augmentation.html#id1 + advanced_tutorials/test_time_augmentation.md#改写测试脚本 改写测试脚本 : advanced_tutorials/test_time_augmentation.html#id3 + advanced_tutorials/test_time_augmentation.md#数据流 数据流 : advanced_tutorials/test_time_augmentation.html#id5 + advanced_tutorials/test_time_augmentation.md#测试时增强test-time-augmentation 测试时增强(Test time augmentation) : advanced_tutorials/test_time_augmentation.html#test-time-augmentation + advanced_tutorials/test_time_augmentation.md#进阶使用 进阶使用 : advanced_tutorials/test_time_augmentation.html#id4 + advanced_tutorials/visualization.md#任意点位进行可视化 任意点位进行可视化 : advanced_tutorials/visualization.html#id6 + advanced_tutorials/visualization.md#可视化 可视化 : advanced_tutorials/visualization.html#id1 + advanced_tutorials/visualization.md#基础存储接口 基础存储接口 : advanced_tutorials/visualization.html#id4 + advanced_tutorials/visualization.md#基础绘制接口 基础绘制接口 : advanced_tutorials/visualization.html#id2 + advanced_tutorials/visualization.md#多后端存储 多后端存储 : advanced_tutorials/visualization.html#id5 + advanced_tutorials/visualization.md#扩展存储后端和可视化器 扩展存储后端和可视化器 : advanced_tutorials/visualization.html#id7 + advanced_tutorials/visualization.md#特征图绘制 特征图绘制 : advanced_tutorials/visualization.html#id3 + common_usage/resume_training.md#恢复训练 恢复训练 : common_usage/resume_training.html#id1 + common_usage/resume_training.md#指定-checkpoint-路径 指定 checkpoint 路径 : common_usage/resume_training.html#checkpoint + common_usage/resume_training.md#自动恢复训练 自动恢复训练 : common_usage/resume_training.html#id2 + common_usage/save_gpu_memory.md#大模型训练 大模型训练 : common_usage/save_gpu_memory.html#id3 + common_usage/save_gpu_memory.md#梯度累加 梯度累加 : common_usage/save_gpu_memory.html#id2 + common_usage/save_gpu_memory.md#节省显存 节省显存 : common_usage/save_gpu_memory.html#id1 + common_usage/speed_up_training.md#分布式训练 分布式训练 : common_usage/speed_up_training.html#id2 + common_usage/speed_up_training.md#加速训练 加速训练 : common_usage/speed_up_training.html#id1 + common_usage/speed_up_training.md#混合精度训练 混合精度训练 : common_usage/speed_up_training.html#id3 + design/evaluation.md#增加自定义评测指标 增加自定义评测指标 : design/evaluation.html#id4 + design/evaluation.md#模型精度评测 模型精度评测 : design/evaluation.html#id1 + design/evaluation.md#模型精度评测流程 模型精度评测流程 : design/evaluation.html#id3 + design/evaluation.md#评测指标与评测器 评测指标与评测器 : design/evaluation.html#id2 + design/evaluation.md#评测指标基类-basemetric 评测指标基类 BaseMetric : design/evaluation.html#basemetric + design/hook.md#mmengine-中钩子的设计 MMEngine 中钩子的设计 : design/hook.html#mmengine + design/hook.md#钩子 钩子 : design/hook.html#id1 + design/hook.md#钩子示例 钩子示例 : design/hook.html#id2 + design/infer.md#__call__ __call__() : design/infer.html#call + design/infer.md#__init__ __init__() : design/infer.html#init + design/infer.md#_init_collate _init_collate() : design/infer.html#init-collate + design/infer.md#_init_pipeline _init_pipeline() : design/infer.html#init-pipeline + design/infer.md#_init_visualizer _init_visualizer() : design/infer.html#init-visualizer + design/infer.md#forward forward() : design/infer.html#forward + design/infer.md#postprocess postprocess() : design/infer.html#postprocess + design/infer.md#preprocess preprocess() : design/infer.html#preprocess + design/infer.md#visualize visualize() : design/infer.html#visualize + design/infer.md#使用样例 使用样例 : design/infer.html#id2 + design/infer.md#定义推理器 定义推理器 : design/infer.html#id3 + design/infer.md#执行推理 执行推理 : design/infer.html#id5 + design/infer.md#推理接口 推理接口 : design/infer.html#id1 + design/infer.md#推理接口开发规范 推理接口开发规范 : design/infer.html#id6 + design/infer.md#构建推理器 构建推理器 : design/infer.html#id4 + design/logging.md#mmlogger MMLogger : design/logging.html#mmlogger + design/logging.md#使用样例 使用样例 : design/logging.html#id8 + design/logging.md#分布式训练时导出日志 分布式训练时导出日志 : design/logging.html#id17 + design/logging.md#创建-mmlogger 创建 MMLogger : design/logging.html#id15 + design/logging.md#历史缓冲区historybuffer 历史缓冲区(HistoryBuffer) : design/logging.html#historybuffer + design/logging.md#历史缓冲区初始化 历史缓冲区初始化 : design/logging.html#id3 + design/logging.md#基本统计方法 基本统计方法 : design/logging.html#id5 + design/logging.md#导出日志 导出日志 : design/logging.html#id16 + design/logging.md#日志处理器logprocessor 日志处理器(LogProcessor) : design/logging.html#logprocessor + design/logging.md#日志系统 日志系统 : design/logging.html#id1 + design/logging.md#更新历史缓冲区 更新历史缓冲区 : design/logging.html#id4 + design/logging.md#更新获取训练日志 更新/获取训练日志 : design/logging.html#id9 + design/logging.md#更新获取运行时信息 更新/获取运行时信息 : design/logging.html#id10 + design/logging.md#最简配置 最简配置 : design/logging.html#id13 + design/logging.md#概述 概述 : design/logging.html#id2 + design/logging.md#注册统计方法 注册统计方法 : design/logging.html#id7 + design/logging.md#消息枢纽messagehub 消息枢纽(MessageHub) : design/logging.html#messagehub + design/logging.md#消息枢纽的跨组件通讯 消息枢纽的跨组件通讯 : design/logging.html#id11 + design/logging.md#添加自定义日志 添加自定义日志 : design/logging.html#id12 + design/logging.md#统计方法的统一入口 统计方法的统一入口 : design/logging.html#id6 + design/logging.md#自定义的统计方式 自定义的统计方式 : design/logging.html#id14 + design/runner.md#循环控制器 循环控制器 : design/runner.html#id2 + design/runner.md#执行器 执行器 : design/runner.html#id1 + design/runner.md#自定义执行器 自定义执行器 : design/runner.html#id3 + design/visualization.md#1-总体设计 1 总体设计 : design/visualization.html#id2 + design/visualization.md#2-可视化器-visualizer 2 可视化器 Visualizer : design/visualization.html#visualizer + design/visualization.md#3-可视化存储后端-visbackend 3 可视化存储后端 VisBackend : design/visualization.html#visbackend + design/visualization.md#可视化 可视化 : design/visualization.html#id1 + examples/train_a_gan.md#使用执行器进行训练 使用执行器进行训练 : examples/train_a_gan.html#id7 + examples/train_a_gan.md#构建一个生成对抗网络模型 构建一个生成对抗网络模型 : examples/train_a_gan.html#id5 + examples/train_a_gan.md#构建优化器 构建优化器 : examples/train_a_gan.html#id6 + examples/train_a_gan.md#构建数据加载器 构建数据加载器 : examples/train_a_gan.html#id2 + examples/train_a_gan.md#构建数据集 构建数据集 : examples/train_a_gan.html#id3 + examples/train_a_gan.md#构建生成器网络和判别器网络 构建生成器网络和判别器网络 : examples/train_a_gan.html#id4 + examples/train_a_gan.md#训练生成对抗网络 训练生成对抗网络 : examples/train_a_gan.html#id1 + genindex 索引 : genindex.html + get_started/15_minutes.md#15-分钟上手-mmengine 15 分钟上手 MMEngine : get_started/15_minutes.html#mmengine + get_started/15_minutes.md#构建执行器并执行任务 构建执行器并执行任务 : get_started/15_minutes.html#id4 + get_started/15_minutes.md#构建数据集和数据加载器 构建数据集和数据加载器 : get_started/15_minutes.html#id2 + get_started/15_minutes.md#构建模型 构建模型 : get_started/15_minutes.html#id1 + get_started/15_minutes.md#构建评测指标 构建评测指标 : get_started/15_minutes.html#id3 + get_started/installation.md#使用-docker-镜像 使用 docker 镜像 : get_started/installation.html#docker + get_started/installation.md#使用-mim-安装 使用 mim 安装 : get_started/installation.html#mim + get_started/installation.md#使用-pip-安装 使用 pip 安装 : get_started/installation.html#pip + get_started/installation.md#准备环境 准备环境 : get_started/installation.html#id3 + get_started/installation.md#安装 安装 : get_started/installation.html#id1 + get_started/installation.md#安装-mmengine 安装 MMEngine : get_started/installation.html#mmengine + get_started/installation.md#源码安装 源码安装 : get_started/installation.html#id4 + get_started/installation.md#环境依赖 环境依赖 : get_started/installation.html#id2 + get_started/installation.md#验证安装 验证安装 : get_started/installation.html#id5 + get_started/introduction.md#介绍 介绍 : get_started/introduction.html#id1 + get_started/introduction.md#公共基础模块 公共基础模块 : get_started/introduction.html#id5 + get_started/introduction.md#架构 架构 : get_started/introduction.html#id2 + get_started/introduction.md#核心模块与相关组件 核心模块与相关组件 : get_started/introduction.html#id4 + get_started/introduction.md#模块介绍 模块介绍 : get_started/introduction.html#id3 + migration/hook.md#功能差异 功能差异 : migration/hook.html#id2 + migration/hook.md#实现差异 实现差异 : migration/hook.html#id5 + migration/hook.md#点位差异 点位差异 : migration/hook.html#id3 + migration/hook.md#用法差异 用法差异 : migration/hook.html#id4 + migration/hook.md#简介 简介 : migration/hook.html#id1 + migration/hook.md#迁移-mmcv-钩子到-mmengine 迁移 MMCV 钩子到 MMEngine : migration/hook.html#mmcv-mmengine + migration/model.md#优化流程的迁移 优化流程的迁移 : migration/model.html#id2 + migration/model.md#常用的参数更新流程 常用的参数更新流程 : migration/model.html#id3 + migration/model.md#简介 简介 : migration/model.html#id1 + migration/model.md#自定义的参数更新流程 自定义的参数更新流程 : migration/model.html#id4 + migration/model.md#迁移-mmcv-模型到-mmengine 迁移 MMCV 模型到 MMEngine : migration/model.html#mmcv-mmengine + migration/model.md#迁移分布式训练 迁移分布式训练 : migration/model.html#id6 + migration/model.md#验证测试流程的迁移 验证/测试流程的迁移 : migration/model.html#id5 + migration/param_scheduler.md#cosineannealing-学习率cosineannealinglrupdaterhook迁移 CosineAnnealing 学习率(CosineAnnealingLrUpdaterHook)迁移: migration/param_scheduler.html#cosineannealing-cosineannealinglrupdaterhook + migration/param_scheduler.md#cosinerestart-学习率cosinerestartlrupdaterhook迁移 CosineRestart 学习率(CosineRestartLrUpdaterHook)迁移: migration/param_scheduler.html#cosinerestart-cosinerestartlrupdaterhook + migration/param_scheduler.md#exp-学习率explrupdaterhook迁移 exp 学习率(ExpLrUpdaterHook)迁移 : migration/param_scheduler.html#exp-explrupdaterhook + migration/param_scheduler.md#fixed-学习率fixedlrupdaterhook迁移 fixed 学习率(FixedLrUpdaterHook)迁移 : migration/param_scheduler.html#fixed-fixedlrupdaterhook + migration/param_scheduler.md#flatcosineannealing-学习率flatcosineannealinglrupdaterhook迁移 FlatCosineAnnealing 学习率(FlatCosineAnnealingLrUpdaterHook)迁移: migration/param_scheduler.html#flatcosineannealing-flatcosineannealinglrupdaterhook + migration/param_scheduler.md#linearannealing-学习率linearannealinglrupdaterhook迁移 LinearAnnealing 学习率(LinearAnnealingLrUpdaterHook)迁移: migration/param_scheduler.html#linearannealing-linearannealinglrupdaterhook + migration/param_scheduler.md#onecycle-学习率onecyclelrupdaterhook迁移 OneCycle 学习率(OneCycleLrUpdaterHook)迁移 : migration/param_scheduler.html#onecycle-onecyclelrupdaterhook + migration/param_scheduler.md#poly-学习率polylrupdaterhook迁移 poly 学习率(PolyLrUpdaterHook)迁移 : migration/param_scheduler.html#poly-polylrupdaterhook + migration/param_scheduler.md#step-学习率steplrupdaterhook迁移 step 学习率(StepLrUpdaterHook)迁移 : migration/param_scheduler.html#step-steplrupdaterhook + migration/param_scheduler.md#动量调度器momentumupdater迁移 动量调度器(MomentumUpdater)迁移 : migration/param_scheduler.html#momentumupdater + migration/param_scheduler.md#参数更新频率相关配置迁移 参数更新频率相关配置迁移 : migration/param_scheduler.html#id1 + migration/param_scheduler.md#学习率调度器lrupdater迁移 学习率调度器(LrUpdater)迁移 : migration/param_scheduler.html#lrupdater + migration/param_scheduler.md#学习率预热warmup迁移 学习率预热(Warmup)迁移 : migration/param_scheduler.html#warmup + migration/param_scheduler.md#常数预热constant 常数预热(constant) : migration/param_scheduler.html#constant + migration/param_scheduler.md#指数预热exp 指数预热(exp) : migration/param_scheduler.html#exp + migration/param_scheduler.md#线性预热linear 线性预热(linear) : migration/param_scheduler.html#linear + migration/param_scheduler.md#迁移-mmcv-参数调度器到-mmengine 迁移 MMCV 参数调度器到 MMEngine : migration/param_scheduler.html#mmcv-mmengine + migration/runner.md#准备logger 准备logger : migration/runner.html#logger + migration/runner.md#准备优化器 准备优化器 : migration/runner.html#id9 + migration/runner.md#准备数据 准备数据 : migration/runner.html#id7 + migration/runner.md#准备模型 准备模型 : migration/runner.html#id8 + migration/runner.md#准备训练钩子 准备训练钩子 : migration/runner.html#id10 + migration/runner.md#准备验证模块 准备验证模块 : migration/runner.html#id11 + migration/runner.md#初始化训练环境 初始化训练环境 : migration/runner.html#id6 + migration/runner.md#启动脚本的迁移 启动脚本的迁移 : migration/runner.html#id4 + migration/runner.md#执行入口 执行入口 : migration/runner.html#id2 + migration/runner.md#执行器加载检查点 执行器加载检查点 : migration/runner.html#id13 + migration/runner.md#执行器测试流程 执行器测试流程 : migration/runner.html#id15 + migration/runner.md#执行器训练流程 执行器训练流程 : migration/runner.html#id14 + migration/runner.md#构建执行器 构建执行器 : migration/runner.html#id12 + migration/runner.md#简介 简介 : migration/runner.html#id1 + migration/runner.md#设置随机种子 设置随机种子 : migration/runner.html#id5 + migration/runner.md#迁移-mmcv-执行器到-mmengine 迁移 MMCV 执行器到 MMEngine : migration/runner.html#mmcv-mmengine + migration/runner.md#迁移执行器runner 迁移执行器(Runner) : migration/runner.html#runner + migration/runner.md#迁移自定义执行流程 迁移自定义执行流程 : migration/runner.html#id16 + migration/runner.md#配置文件的迁移 配置文件的迁移 : migration/runner.html#id3 + migration/transform.md#功能差异 功能差异 : migration/transform.html#id3 + migration/transform.md#实现差异 实现差异 : migration/transform.html#id4 + migration/transform.md#数据变换类的迁移 数据变换类的迁移 : migration/transform.html#id1 + migration/transform.md#简介 简介 : migration/transform.html#id2 + modindex 模块索引 : py-modindex.html + notes/changelog.md#bug-fixes Bug Fixes : notes/changelog.html#bug-fixes + notes/changelog.md#bug-fixes-1 Bug Fixes : notes/changelog.html#id3 + notes/changelog.md#bug-fixes-2 Bug Fixes : notes/changelog.html#id7 + notes/changelog.md#bug-fixes-3 Bug Fixes : notes/changelog.html#id11 + notes/changelog.md#bug-fixes-4 Bug Fixes : notes/changelog.html#id15 + notes/changelog.md#bug-fixes-5 Bug Fixes : notes/changelog.html#id18 + notes/changelog.md#changelog-of-v0x Changelog of v0.x : notes/changelog.html#changelog-of-v0-x + notes/changelog.md#contributors Contributors : notes/changelog.html#contributors + notes/changelog.md#contributors-1 Contributors : notes/changelog.html#id5 + notes/changelog.md#docs Docs : notes/changelog.html#docs + notes/changelog.md#docs-1 Docs : notes/changelog.html#id4 + notes/changelog.md#docs-2 Docs : notes/changelog.html#id8 + notes/changelog.md#docs-3 Docs : notes/changelog.html#id12 + notes/changelog.md#docs-4 Docs : notes/changelog.html#id14 + notes/changelog.md#docs-5 Docs : notes/changelog.html#id17 + notes/changelog.md#highlights Highlights : notes/changelog.html#highlights + notes/changelog.md#highlights-1 Highlights : notes/changelog.html#id1 + notes/changelog.md#highlights-2 Highlights : notes/changelog.html#id9 + notes/changelog.md#new-contributors New Contributors : notes/changelog.html#new-contributors + notes/changelog.md#new-contributors-1 New Contributors : notes/changelog.html#id19 + notes/changelog.md#new-features--enhancements New Features & Enhancements : notes/changelog.html#new-features-enhancements + notes/changelog.md#new-features--enhancements-1 New Features & Enhancements : notes/changelog.html#id2 + notes/changelog.md#new-features--enhancements-2 New Features & Enhancements : notes/changelog.html#id6 + notes/changelog.md#new-features--enhancements-3 New Features & Enhancements : notes/changelog.html#id10 + notes/changelog.md#new-features--enhancements-4 New Features & Enhancements : notes/changelog.html#id13 + notes/changelog.md#new-features--enhancements-5 New Features & Enhancements : notes/changelog.html#id16 + notes/changelog.md#v020-11102022 v0.2.0 (11/10/2022) : notes/changelog.html#v0-2-0-11-10-2022 + notes/changelog.md#v030-11022022 v0.3.0 (11/02/2022) : notes/changelog.html#v0-3-0-11-02-2022 + notes/changelog.md#v031-11092022 v0.3.1 (11/09/2022) : notes/changelog.html#v0-3-1-11-09-2022 + notes/changelog.md#v032-11242022 v0.3.2 (11/24/2022) : notes/changelog.html#v0-3-2-11-24-2022 + notes/changelog.md#v040-12282022 v0.4.0 (12/28/2022) : notes/changelog.html#v0-4-0-12-28-2022 + notes/changelog.md#v050-01202023 v0.5.0 (01/20/2023) : notes/changelog.html#v0-5-0-01-20-2023 + notes/code_style.md#docstring-规范 docstring 规范 : notes/code_style.html#docstring + notes/code_style.md#google-开源项目风格指南 Google 开源项目风格指南 : notes/code_style.html#google + notes/code_style.md#pep-8--python-官方代码规范 PEP 8 —— Python 官方代码规范 : notes/code_style.html#pep-8-python + notes/code_style.md#为什么要写-docstring 为什么要写 docstring : notes/code_style.html#id7 + notes/code_style.md#为什么要写注释 为什么要写注释 : notes/code_style.html#id10 + notes/code_style.md#为什么要写类型注解 为什么要写类型注解 : notes/code_style.html#id14 + notes/code_style.md#代码规范 代码规范 : notes/code_style.html#id1 + notes/code_style.md#代码规范标准 代码规范标准 : notes/code_style.html#id2 + notes/code_style.md#命名技巧 命名技巧 : notes/code_style.html#id6 + notes/code_style.md#命名规范 命名规范 : notes/code_style.html#id3 + notes/code_style.md#命名规范的重要性 命名规范的重要性 : notes/code_style.html#id4 + notes/code_style.md#基础命名规范 基础命名规范 : notes/code_style.html#id5 + notes/code_style.md#如何写-docstring 如何写 docstring : notes/code_style.html#id8 + notes/code_style.md#如何写注释 如何写注释 : notes/code_style.html#id11 + notes/code_style.md#如何写类型注解 如何写类型注解 : notes/code_style.html#id15 + notes/code_style.md#注释示例 注释示例 : notes/code_style.html#id12 + notes/code_style.md#注释规范 注释规范 : notes/code_style.html#id9 + notes/code_style.md#类型注解 类型注解 : notes/code_style.html#id13 + notes/code_style.md#类型注解检查工具 类型注解检查工具 : notes/code_style.html#id16 + notes/contributing.md#1-复刻仓库 1. 复刻仓库 : notes/contributing.html#id3 + notes/contributing.md#2-配置-pre-commit 2. 配置 pre-commit : notes/contributing.html#pre-commit + notes/contributing.md#3-创建开发分支 3. 创建开发分支 : notes/contributing.html#id4 + notes/contributing.md#4-提交代码并在本地通过单元测试 4. 提交代码并在本地通过单元测试 : notes/contributing.html#id5 + notes/contributing.md#5-推送代码到远程 5. 推送代码到远程 : notes/contributing.html#id6 + notes/contributing.md#6-提交拉取请求pr 6. 提交拉取请求(PR) : notes/contributing.html#pr + notes/contributing.md#7-解决冲突 7. 解决冲突 : notes/contributing.html#id7 + notes/contributing.md#python-代码风格 Python 代码风格 : notes/contributing.html#python + notes/contributing.md#单元测试 单元测试 : notes/contributing.html#id9 + notes/contributing.md#拉取请求工作流 拉取请求工作流 : notes/contributing.html#id2 + notes/contributing.md#拉取请求规范 拉取请求规范 : notes/contributing.html#id11 + notes/contributing.md#指引 指引 : notes/contributing.html#id8 + notes/contributing.md#文档渲染 文档渲染 : notes/contributing.html#id10 + notes/contributing.md#贡献代码 贡献代码 : notes/contributing.html#id1 + py-modindex Python 模块索引 : py-modindex.html + search 搜索页面 : search.html + switch_language.md#english English : switch_language.html#a-href-https-mmengine-readthedocs-io-en-latest-english-a + switch_language.md#简体中文 简体中文 : switch_language.html#a-href-https-mmengine-readthedocs-io-zh-cn-latest-a + tutorials/dataset.md#defaultsampler DefaultSampler : tutorials/dataset.html#defaultsampler + tutorials/dataset.md#sampler-与-shuffle sampler 与 shuffle : tutorials/dataset.html#sampler-shuffle + tutorials/dataset.md#不起眼的-collate_fn 不起眼的 collate_fn : tutorials/dataset.html#collate-fn + tutorials/dataset.md#使用-mmengine-的数据集基类 使用 MMEngine 的数据集基类 : tutorials/dataset.html#mmengine + tutorials/dataset.md#使用-torchvision-数据集 使用 torchvision 数据集 : tutorials/dataset.html#torchvision + tutorials/dataset.md#数据加载器详解 数据加载器详解 : tutorials/dataset.html#id1 + tutorials/dataset.md#数据集dataset与数据加载器dataloader 数据集(Dataset)与数据加载器(DataLoader) : tutorials/dataset.html#dataset-dataloader + tutorials/dataset.md#数据集详解 数据集详解 : tutorials/dataset.html#id2 + tutorials/dataset.md#自定义数据集 自定义数据集 : tutorials/dataset.html#id3 + tutorials/evaluation.md#使用单个评测指标 使用单个评测指标 : tutorials/evaluation.html#id2 + tutorials/evaluation.md#使用多个评测指标 使用多个评测指标 : tutorials/evaluation.html#id3 + tutorials/evaluation.md#使用离线结果进行评测 使用离线结果进行评测 : tutorials/evaluation.html#id5 + tutorials/evaluation.md#在模型训练或测试中进行评测 在模型训练或测试中进行评测 : tutorials/evaluation.html#id1 + tutorials/evaluation.md#模型精度评测evaluation 模型精度评测(Evaluation) : tutorials/evaluation.html#evaluation + tutorials/evaluation.md#自定义评测指标 自定义评测指标 : tutorials/evaluation.html#id4 + tutorials/hook.md#checkpointhook CheckpointHook : tutorials/hook.html#checkpointhook + tutorials/hook.md#distsamplerseedhook DistSamplerSeedHook : tutorials/hook.html#distsamplerseedhook + tutorials/hook.md#emahook EMAHook : tutorials/hook.html#emahook + tutorials/hook.md#emptycachehook EmptyCacheHook : tutorials/hook.html#emptycachehook + tutorials/hook.md#itertimerhook IterTimerHook : tutorials/hook.html#itertimerhook + tutorials/hook.md#loggerhook LoggerHook : tutorials/hook.html#loggerhook + tutorials/hook.md#paramschedulerhook ParamSchedulerHook : tutorials/hook.html#paramschedulerhook + tutorials/hook.md#runtimeinfohook RuntimeInfoHook : tutorials/hook.html#runtimeinfohook + tutorials/hook.md#syncbuffershook SyncBuffersHook : tutorials/hook.html#syncbuffershook + tutorials/hook.md#内置钩子 内置钩子 : tutorials/hook.html#id1 + tutorials/hook.md#自定义钩子 自定义钩子 : tutorials/hook.html#id2 + tutorials/hook.md#钩子hook 钩子(Hook) : tutorials/hook.html#hook + tutorials/model.md#runner-与-model Runner 与 model : tutorials/model.html#runner-model + tutorials/model.md#接口约定 接口约定 : tutorials/model.html#id1 + tutorials/model.md#数据预处理器datapreprocessor 数据预处理器(DataPreprocessor) : tutorials/model.html#datapreprocessor + tutorials/model.md#模型model 模型(Model) : tutorials/model.html#model + tutorials/optim_wrapper.md#为不同类型的参数设置不同的超参系数 为不同类型的参数设置不同的超参系数 : tutorials/optim_wrapper.html#id7 + tutorials/optim_wrapper.md#为模型不同部分的参数设置不同的超参系数 为模型不同部分的参数设置不同的超参系数 : tutorials/optim_wrapper.html#id8 + tutorials/optim_wrapper.md#优化器封装-vs-优化器 优化器封装 vs 优化器 : tutorials/optim_wrapper.html#vs + tutorials/optim_wrapper.md#优化器封装optimwrapper 优化器封装(OptimWrapper) : tutorials/optim_wrapper.html#optimwrapper + tutorials/optim_wrapper.md#使用多个优化器 使用多个优化器 : tutorials/optim_wrapper.html#id4 + tutorials/optim_wrapper.md#在执行器中配置优化器封装 在执行器中配置优化器封装 : tutorials/optim_wrapper.html#id5 + tutorials/optim_wrapper.md#在训练过程中调整超参 在训练过程中调整超参 : tutorials/optim_wrapper.html#id10 + tutorials/optim_wrapper.md#导出加载状态字典 导出/加载状态字典 : tutorials/optim_wrapper.html#id3 + tutorials/optim_wrapper.md#自定义优化器构造策略 自定义优化器构造策略 : tutorials/optim_wrapper.html#id9 + tutorials/optim_wrapper.md#获取学习率动量 获取学习率/动量 : tutorials/optim_wrapper.html#id2 + tutorials/optim_wrapper.md#训练模型 训练模型 : tutorials/optim_wrapper.html#id1 + tutorials/optim_wrapper.md#进阶配置 进阶配置 : tutorials/optim_wrapper.html#id6 + tutorials/param_scheduler.md#优化器参数调整策略parameter-scheduler 优化器参数调整策略(Parameter Scheduler) : tutorials/param_scheduler.html#parameter-scheduler + tutorials/param_scheduler.md#使用单一的学习率调度器 使用单一的学习率调度器 : tutorials/param_scheduler.html#id2 + tutorials/param_scheduler.md#动量 动量 : tutorials/param_scheduler.html#id5 + tutorials/param_scheduler.md#参数调度器的使用 参数调度器的使用 : tutorials/param_scheduler.html#id1 + tutorials/param_scheduler.md#如何调整其他参数 如何调整其他参数 : tutorials/param_scheduler.html#id4 + tutorials/param_scheduler.md#组合多个学习率调度器以学习率预热为例 组合多个学习率调度器(以学习率预热为例) : tutorials/param_scheduler.html#id3 + tutorials/param_scheduler.md#通用的参数调度器 通用的参数调度器 : tutorials/param_scheduler.html#id6 + tutorials/runner.md#下一步的建议 下一步的建议 : tutorials/runner.html#id7 + tutorials/runner.md#为什么使用执行器可选 为什么使用执行器(可选) : tutorials/runner.html#id6 + tutorials/runner.md#基本数据流 基本数据流 : tutorials/runner.html#id5 + tutorials/runner.md#执行器runner 执行器(Runner) : tutorials/runner.html#runner + tutorials/runner.md#执行器最佳实践配置文件 执行器最佳实践——配置文件 : tutorials/runner.html#id4 + tutorials/runner.md#执行器示例 执行器示例 : tutorials/runner.html#id1 + tutorials/runner.md#示例代码讲解 示例代码讲解 : tutorials/runner.html#id3 + tutorials/runner.md#面向初学者的示例代码 面向初学者的示例代码 : tutorials/runner.html#id2 diff --git a/docs/zh_cn/tutorials/evaluation.md b/docs/zh_cn/tutorials/evaluation.md index 552fa032a9..2a36a4a601 100644 --- a/docs/zh_cn/tutorials/evaluation.md +++ b/docs/zh_cn/tutorials/evaluation.md @@ -39,7 +39,7 @@ test_evaluator = [ 如果算法库中提供的常用评测指标无法满足需求,用户也可以增加自定义的评测指标。我们以简化的分类正确率为例,介绍实现自定义评测指标的方法: -1. 在定义新的评测指标类时,需要继承基类 [`BaseMetric`](mmengine.evaluator.BaseMetric)(关于该基类的介绍,可以参考[设计文档](../design/evaluation.md))。此外,评测指标类需要用注册器 `METRICS` 进行注册(关于注册器的说明请参考 [Registry 文档](./registry.md))。 +1. 在定义新的评测指标类时,需要继承基类 [`BaseMetric`](mmengine.evaluator.BaseMetric)(关于该基类的介绍,可以参考[设计文档](../design/evaluation.md))。此外,评测指标类需要用注册器 `METRICS` 进行注册(关于注册器的说明请参考 [Registry 文档](../advanced_tutorials/registry.md))。 2. 实现 `process()` 方法。该方法有 2 个输入参数,分别是一个批次的测试数据样本 `data_batch` 和模型预测结果 `data_samples`。我们从中分别取出样本类别标签和分类预测结果,并存放在 `self.results` 中。 @@ -113,7 +113,7 @@ class SimpleAccuracy(BaseMetric): ## 使用离线结果进行评测 -另一种常见的模型评测方式,是利用提前保存在文件中的模型预测结果进行离线评测。此时,用户需要手动构建**评测器**,并调用评测器的相应接口完成评测。关于离线评测的详细说明,以及评测器和评测指标的关系,可以参考[设计文档](/docs/zh_cn/design/evaluation.md)。我们仅在此给出一个离线评测示例: +另一种常见的模型评测方式,是利用提前保存在文件中的模型预测结果进行离线评测。此时,用户需要手动构建**评测器**,并调用评测器的相应接口完成评测。关于离线评测的详细说明,以及评测器和评测指标的关系,可以参考[设计文档](../design/evaluation.md)。我们仅在此给出一个离线评测示例: ```python from mmengine.evaluator import Evaluator diff --git a/docs/zh_cn/tutorials/hook.md b/docs/zh_cn/tutorials/hook.md index dab8c55f22..db1f206425 100644 --- a/docs/zh_cn/tutorials/hook.md +++ b/docs/zh_cn/tutorials/hook.md @@ -131,7 +131,7 @@ runner.train() default_hooks = dict(logger=dict(type='LoggerHook', interval=20)) ``` -如果你对日志的管理感兴趣,可以阅读[记录日志(logging)](logging.md)。 +如果你对日志的管理感兴趣,可以阅读[记录日志(logging)](../advanced_tutorials/logging.md)。 ### ParamSchedulerHook @@ -262,4 +262,4 @@ class CheckInvalidLossHook(Hook): priority = 'ABOVE_NORMAL' ``` -你可能还想阅读[钩子的设计](../design/hook.md)或者[钩子的 API 文档](mmengine.hooks)。 +你可能还想阅读[钩子的设计](../design/hook.md)或者[钩子的 API 文档](../api/hooks)。 diff --git a/docs/zh_cn/tutorials/model.md b/docs/zh_cn/tutorials/model.md index 94474de1b5..ea3f6320a0 100644 --- a/docs/zh_cn/tutorials/model.md +++ b/docs/zh_cn/tutorials/model.md @@ -86,7 +86,7 @@ for data_batch in val_dataloader: metrics = evaluator.evaluate(len(val_dataloader.dataset)) ``` -没错,抛开 Hook 不谈,[loop](mmengine.runner.loop) 调用 model 的过程和上述代码一模一样!看到这,我们再回过头去看 [15 分钟上手 MMEngine](../get_started/15_minutes.md) 里的模型定义部分,就有一种看山不是山的感觉: +没错,抛开 Hook 不谈,[loop](mmengine.runner.EpochBasedTrainLoop) 调用 model 的过程和上述代码一模一样!看到这,我们再回过头去看 [15 分钟上手 MMEngine](../get_started/15_minutes.md) 里的模型定义部分,就有一种看山不是山的感觉: ```python import torch.nn.functional as F diff --git a/docs/zh_cn/tutorials/optim_wrapper.md b/docs/zh_cn/tutorials/optim_wrapper.md index 20fb968473..2c9c7d6bc0 100644 --- a/docs/zh_cn/tutorials/optim_wrapper.md +++ b/docs/zh_cn/tutorials/optim_wrapper.md @@ -425,7 +425,7 @@ custom_keys 中每一个字段的含义如下: ### 自定义优化器构造策略 -与 MMEngine 中的其他模块一样,优化器封装构造器也同样由[注册表](../advanced_tutorial/registry.md)管理。我们可以通过实现自定义的优化器封装构造器来实现自定义的超参设置策略。 +与 MMEngine 中的其他模块一样,优化器封装构造器也同样由[注册表](../advanced_tutorials/registry.md)管理。我们可以通过实现自定义的优化器封装构造器来实现自定义的超参设置策略。 例如,我们想实现一个叫做 `LayerDecayOptimWrapperConstructor` 的优化器封装构造器,能够对模型不同深度的层自动设置递减的学习率: diff --git a/docs/zh_cn/tutorials/runner.md b/docs/zh_cn/tutorials/runner.md index 83d2fcf8c1..f600aa2410 100644 --- a/docs/zh_cn/tutorials/runner.md +++ b/docs/zh_cn/tutorials/runner.md @@ -351,7 +351,7 @@ runner.train() ``` ```{note} -当使用配置文件写法时,你的自定义模块的实现代码通常存放在独立文件中,可能并未被正确注册,进而导致构建失败。我们推荐你阅读[注册器](./registry.md)文档中 `custom_imports` 相关的内容以更好地使用配置文件系统。 +当使用配置文件写法时,你的自定义模块的实现代码通常存放在独立文件中,可能并未被正确注册,进而导致构建失败。我们推荐你阅读[配置](../advanced_tutorials/config.md#导入自定义-python-模块)文档中 `custom_imports` 相关的内容以更好地使用配置文件系统。 ``` ```{warning} From 8363514b1ab3dc30e56350c1eea231cb2e41c7e6 Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Wed, 8 Feb 2023 20:11:17 +0800 Subject: [PATCH 14/15] fix as comments --- docs/en/migration/runner.md | 2 +- docs/en/migration/transform.md | 2 +- docs/en/tutorials/runner.md | 2 +- docs/zh_cn/migration/model.md | 2 +- docs/zh_cn/migration/transform.md | 2 +- docs/zh_cn/tutorials/evaluation.md | 2 +- mmengine/dataset/base_dataset.py | 2 +- mmengine/visualization/visualizer.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/en/migration/runner.md b/docs/en/migration/runner.md index e798e45087..f6304d3997 100644 --- a/docs/en/migration/runner.md +++ b/docs/en/migration/runner.md @@ -4,7 +4,7 @@ As MMCV supports more and more deep learning tasks, and users' needs become much more complicated, we have higher requirements for the flexibility and versatility of the existing `Runner` of MMCV. Therefore, MMEngine implements a more general and flexible `Runner` based on MMCV to support more complicated training processes. -The `Runner` in MMEngine expands the scope and takes on more functions. we abstracted [training loop controller (EpochBasedTrainLoop/IterBasedTrainLoop)](mmengine.runner.EpochBasedTrainLoop), [validation loop controller ( ValLoop)](mmengine.runner.ValLoop) and [TestLoop](mmengine.runner.TestLoop) to make it more convenient for users to customize their training process. +The `Runner` in MMEngine expands the scope and takes on more functions. we abstracted [training loop controller (EpochBasedTrainLoop/IterBasedTrainLoop)](mmengine.runner.EpochBasedTrainLoop), [validation loop controller (ValLoop)](mmengine.runner.ValLoop) and [TestLoop](mmengine.runner.TestLoop) to make it more convenient for users to customize their training process. Firstly, we will introduce how to migrate the entry point of training from MMCV to MMEngine, to simplify and unify the training script. Then, we'll introduce the difference in the instantiation of `Runner` between MMCV and MMEngine in detail. diff --git a/docs/en/migration/transform.md b/docs/en/migration/transform.md index 8775b18764..716e6dca87 100644 --- a/docs/en/migration/transform.md +++ b/docs/en/migration/transform.md @@ -8,7 +8,7 @@ the `__call__` method should be a dictionary. In OpenMMLab 2.0, to make the data transform classes more extensible, we use `transform` method instead of `__call__` method to implement data transformation, and all data transform classes should inherit the -[`mmcv.transforms.BaseTransform`](mmcv.transforms.BaseTransform) class. And you can still use these data +[mmcv.transforms.BaseTransform](mmcv.transforms.BaseTransform) class. And you can still use these data transform classes by calling. A tutorial to implement a data transform class can be found in the [Data Transform](../advanced_tutorials/data_element.md). diff --git a/docs/en/tutorials/runner.md b/docs/en/tutorials/runner.md index e1c6e557a9..93b63a6d5f 100644 --- a/docs/en/tutorials/runner.md +++ b/docs/en/tutorials/runner.md @@ -352,7 +352,7 @@ When using config files, you typically don't need to manually register every mod ``` ```{note} -When using config files, the implementations of your custom modules may be stored in separate files and thus not registered properly, which will lead to errors in the build process. You may find solutions in [Config tutorial](../advanced_tutorials/config.md#import-the-custom-module) by searching for `custom_imports`. +When using config files, the implementations of your custom modules may be stored in separate files and thus not registered properly, which will lead to errors in the build process. You may find solutions in [Config tutorial](../advanced_tutorials/config.md#import-the-custom-module). ``` ```{warning} diff --git a/docs/zh_cn/migration/model.md b/docs/zh_cn/migration/model.md index 2972403555..1da42c17c8 100644 --- a/docs/zh_cn/migration/model.md +++ b/docs/zh_cn/migration/model.md @@ -214,7 +214,7 @@ class MMEngineToyModel(BaseModel):
-关于等效代码中的[数据处理器(data_preprocessor)](mmengine.model.BaseDataPreprocessor) 和[优化器封装(optim_wrapper)](mmengine.optim.OptimWrapper) 的说明,详见[模型教程](../tutorials/model.md#数据预处理器datapreprocessor)和[优化器封装教程](../tutorials/optim_wrapper.md)。 +关于等效代码中的[数据处理器(data_preprocessor)](mmengine.model.BaseDataPreprocessor)和[优化器封装(optim_wrapper)](mmengine.optim.OptimWrapper)的说明,详见[模型教程](../tutorials/model.md#数据预处理器datapreprocessor)和[优化器封装教程](../tutorials/optim_wrapper.md)。 模型具体差异如下: diff --git a/docs/zh_cn/migration/transform.md b/docs/zh_cn/migration/transform.md index bf7f85a257..c98ce71081 100644 --- a/docs/zh_cn/migration/transform.md +++ b/docs/zh_cn/migration/transform.md @@ -4,7 +4,7 @@ 在 TorchVision 的数据变换类接口约定中,数据变换类需要实现 `__call__` 方法,而在 OpenMMLab 1.0 的接口约定中,进一步要求 `__call__` 方法的输出应当是一个字典,在各种数据变换中对这个字典进行增删查改。在 OpenMMLab 2.0 中,为了提升后续的可扩展性,我们将原先的 `__call__` 方法迁移为 `transform` 方法,并要求数据变换类应当继承 -[`mmcv.transforms.BaseTransfrom`](https://mmcv.readthedocs.io/en/dev-2.x/api.html#TODO)。具体如何实现一个数据变换类,可以参见[文档](../advanced_tutorials/data_transform.md)。 +[mmcv.transforms.BaseTransform](mmcv.transforms.BaseTransform)。具体如何实现一个数据变换类,可以参见[文档](../advanced_tutorials/data_transform.md)。 由于在此次更新中,我们将部分共用的数据变换类统一迁移至 MMCV 中,因此本文将会对比这些数据变换在旧版本([MMClassification v0.23.2](https://github.com/open-mmlab/mmclassification/tree/v0.23.2)、[MMDetection v2.25.1](https://github.com/open-mmlab/mmdetection/tree/v2.25.1))和新版本([MMCV v2.0.0rc0](https://github.com/open-mmlab/mmcv/tree/2.x))中的功能、用法和实现上的差异。 diff --git a/docs/zh_cn/tutorials/evaluation.md b/docs/zh_cn/tutorials/evaluation.md index 2a36a4a601..bd780319e1 100644 --- a/docs/zh_cn/tutorials/evaluation.md +++ b/docs/zh_cn/tutorials/evaluation.md @@ -39,7 +39,7 @@ test_evaluator = [ 如果算法库中提供的常用评测指标无法满足需求,用户也可以增加自定义的评测指标。我们以简化的分类正确率为例,介绍实现自定义评测指标的方法: -1. 在定义新的评测指标类时,需要继承基类 [`BaseMetric`](mmengine.evaluator.BaseMetric)(关于该基类的介绍,可以参考[设计文档](../design/evaluation.md))。此外,评测指标类需要用注册器 `METRICS` 进行注册(关于注册器的说明请参考 [Registry 文档](../advanced_tutorials/registry.md))。 +1. 在定义新的评测指标类时,需要继承基类 [BaseMetric](mmengine.evaluator.BaseMetric)(关于该基类的介绍,可以参考[设计文档](../design/evaluation.md))。此外,评测指标类需要用注册器 `METRICS` 进行注册(关于注册器的说明请参考 [Registry 文档](../advanced_tutorials/registry.md))。 2. 实现 `process()` 方法。该方法有 2 个输入参数,分别是一个批次的测试数据样本 `data_batch` 和模型预测结果 `data_samples`。我们从中分别取出样本类别标签和分类预测结果,并存放在 `self.results` 中。 diff --git a/mmengine/dataset/base_dataset.py b/mmengine/dataset/base_dataset.py index 523e1dfa41..dbb492b878 100644 --- a/mmengine/dataset/base_dataset.py +++ b/mmengine/dataset/base_dataset.py @@ -548,7 +548,7 @@ def _join_prefix(self): @force_full_init def get_subset_(self, indices: Union[Sequence[int], int]) -> None: - """The in-place version of ``get_subset`` to convert dataset to a + """The in-place version of ``get_subset`` to convert dataset to a subset of original dataset. This method will convert the original dataset to a subset of dataset. diff --git a/mmengine/visualization/visualizer.py b/mmengine/visualization/visualizer.py index 5e48711b0b..e955a9995b 100644 --- a/mmengine/visualization/visualizer.py +++ b/mmengine/visualization/visualizer.py @@ -459,7 +459,7 @@ def draw_texts( a ``font_manager.FontProperties()`` object. If you want to draw Chinese texts, you need to prepare a font file that can show Chinese characters properly. - For example: `simhei.ttf` , `simsun.ttc` , `simkai.ttf` and so on. + For example: `simhei.ttf`, `simsun.ttc`, `simkai.ttf` and so on. Then set ``font_properties=matplotlib.font_manager.FontProperties(fname='path/to/font_file')`` ``font_properties`` can have the same length with texts or just single value. If ``font_properties`` is single value, From e1e53be1c4718e049bd91f0605eb026ad6d5fecf Mon Sep 17 00:00:00 2001 From: C1rN09 Date: Wed, 8 Feb 2023 20:23:13 +0800 Subject: [PATCH 15/15] fix as comments --- docs/zh_cn/advanced_tutorials/data_element.md | 6 +- docs/zh_cn/temp.txt | 1614 ----------------- mmengine/visualization/vis_backend.py | 2 +- 3 files changed, 4 insertions(+), 1618 deletions(-) delete mode 100644 docs/zh_cn/temp.txt diff --git a/docs/zh_cn/advanced_tutorials/data_element.md b/docs/zh_cn/advanced_tutorials/data_element.md index 3ac289d23e..429df6d625 100644 --- a/docs/zh_cn/advanced_tutorials/data_element.md +++ b/docs/zh_cn/advanced_tutorials/data_element.md @@ -414,7 +414,7 @@ The length of instance_data is 2 AssertionError: the length of values 3 is not consistent with the length of this :obj:`InstanceData` 2 ``` -### 类字典访问和设置属性 +#### 类字典访问和设置属性 `InstanceData` 支持类似字典的操作访问和设置其 **data** 属性。 @@ -728,7 +728,7 @@ print(InstanceData.cat([instance_data, instance_data])) - 对 `PixelData` 中 data 所存储的数据进行了尺寸的校验 - 支持对 data 部分的数据对实例进行空间维度的索引和切片。 -## 数据校验 +#### 数据校验 `PixelData` 会对传入到 data 的数据进行维度与长宽的校验。 @@ -774,7 +774,7 @@ pixel_data.map2 = torch.randint(0, 255, (1, 3, 20, 40)) AssertionError: The dim of value must be 2 or 3, but got 4 ``` -### 空间维度索引 +#### 空间维度索引 `PixelData` 支持对 data 部分的数据对实例进行空间维度的索引和切片,只需传入长宽的索引即可。 diff --git a/docs/zh_cn/temp.txt b/docs/zh_cn/temp.txt deleted file mode 100644 index 530bdf6e8e..0000000000 --- a/docs/zh_cn/temp.txt +++ /dev/null @@ -1,1614 +0,0 @@ -py:attribute - mmengine.fileio.FileClient.client api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.client - mmengine.fileio.LmdbBackend.db_path api/generated/mmengine.fileio.LmdbBackend.html#mmengine.fileio.LmdbBackend.db_path - mmengine.fileio.MemcachedBackend.client_cfg api/generated/mmengine.fileio.MemcachedBackend.html#mmengine.fileio.MemcachedBackend.client_cfg - mmengine.fileio.MemcachedBackend.server_list_cfg api/generated/mmengine.fileio.MemcachedBackend.html#mmengine.fileio.MemcachedBackend.server_list_cfg - mmengine.fileio.MemcachedBackend.sys_path api/generated/mmengine.fileio.MemcachedBackend.html#mmengine.fileio.MemcachedBackend.sys_path - mmengine.model.BaseModel.data_preprocessor api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.data_preprocessor - mmengine.model.BaseModel.init_cfg api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.init_cfg -py:class - mmengine.config.Config api/generated/mmengine.config.Config.html#mmengine.config.Config - mmengine.config.ConfigDict api/generated/mmengine.config.ConfigDict.html#mmengine.config.ConfigDict - mmengine.config.DictAction api/generated/mmengine.config.DictAction.html#mmengine.config.DictAction - mmengine.config.config.Config api/generated/mmengine.config.Config.html#mmengine.config.Config - mmengine.config.config.ConfigDict api/generated/mmengine.config.ConfigDict.html#mmengine.config.ConfigDict - mmengine.config.config.DictAction api/generated/mmengine.config.DictAction.html#mmengine.config.DictAction - mmengine.dataset.BaseDataset api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset - mmengine.dataset.ClassBalancedDataset api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset - mmengine.dataset.Compose api/generated/mmengine.dataset.Compose.html#mmengine.dataset.Compose - mmengine.dataset.ConcatDataset api/generated/mmengine.dataset.ConcatDataset.html#mmengine.dataset.ConcatDataset - mmengine.dataset.DefaultSampler api/generated/mmengine.dataset.DefaultSampler.html#mmengine.dataset.DefaultSampler - mmengine.dataset.InfiniteSampler api/generated/mmengine.dataset.InfiniteSampler.html#mmengine.dataset.InfiniteSampler - mmengine.dataset.RepeatDataset api/generated/mmengine.dataset.RepeatDataset.html#mmengine.dataset.RepeatDataset - mmengine.dataset.base_dataset.BaseDataset api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset - mmengine.dataset.base_dataset.Compose api/generated/mmengine.dataset.Compose.html#mmengine.dataset.Compose - mmengine.dataset.dataset_wrapper.ClassBalancedDataset api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset - mmengine.dataset.dataset_wrapper.ConcatDataset api/generated/mmengine.dataset.ConcatDataset.html#mmengine.dataset.ConcatDataset - mmengine.dataset.dataset_wrapper.RepeatDataset api/generated/mmengine.dataset.RepeatDataset.html#mmengine.dataset.RepeatDataset - mmengine.dataset.sampler.DefaultSampler api/generated/mmengine.dataset.DefaultSampler.html#mmengine.dataset.DefaultSampler - mmengine.dataset.sampler.InfiniteSampler api/generated/mmengine.dataset.InfiniteSampler.html#mmengine.dataset.InfiniteSampler - mmengine.evaluator.BaseMetric api/generated/mmengine.evaluator.BaseMetric.html#mmengine.evaluator.BaseMetric - mmengine.evaluator.DumpResults api/generated/mmengine.evaluator.DumpResults.html#mmengine.evaluator.DumpResults - mmengine.evaluator.Evaluator api/generated/mmengine.evaluator.Evaluator.html#mmengine.evaluator.Evaluator - mmengine.evaluator.evaluator.Evaluator api/generated/mmengine.evaluator.Evaluator.html#mmengine.evaluator.Evaluator - mmengine.evaluator.metric.BaseMetric api/generated/mmengine.evaluator.BaseMetric.html#mmengine.evaluator.BaseMetric - mmengine.evaluator.metric.DumpResults api/generated/mmengine.evaluator.DumpResults.html#mmengine.evaluator.DumpResults - mmengine.fileio.BaseFileHandler api/generated/mmengine.fileio.BaseFileHandler.html#mmengine.fileio.BaseFileHandler - mmengine.fileio.BaseStorageBackend api/generated/mmengine.fileio.BaseStorageBackend.html#mmengine.fileio.BaseStorageBackend - mmengine.fileio.FileClient api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient - mmengine.fileio.HTTPBackend api/generated/mmengine.fileio.HTTPBackend.html#mmengine.fileio.HTTPBackend - mmengine.fileio.HardDiskBackend api/generated/mmengine.fileio.HardDiskBackend.html#mmengine.fileio.HardDiskBackend - mmengine.fileio.JsonHandler api/generated/mmengine.fileio.JsonHandler.html#mmengine.fileio.JsonHandler - mmengine.fileio.LmdbBackend api/generated/mmengine.fileio.LmdbBackend.html#mmengine.fileio.LmdbBackend - mmengine.fileio.LocalBackend api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend - mmengine.fileio.MemcachedBackend api/generated/mmengine.fileio.MemcachedBackend.html#mmengine.fileio.MemcachedBackend - mmengine.fileio.PetrelBackend api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend - mmengine.fileio.PickleHandler api/generated/mmengine.fileio.PickleHandler.html#mmengine.fileio.PickleHandler - mmengine.fileio.YamlHandler api/generated/mmengine.fileio.YamlHandler.html#mmengine.fileio.YamlHandler - mmengine.fileio.backends.base.BaseStorageBackend api/generated/mmengine.fileio.BaseStorageBackend.html#mmengine.fileio.BaseStorageBackend - mmengine.fileio.backends.http_backend.HTTPBackend api/generated/mmengine.fileio.HTTPBackend.html#mmengine.fileio.HTTPBackend - mmengine.fileio.backends.lmdb_backend.LmdbBackend api/generated/mmengine.fileio.LmdbBackend.html#mmengine.fileio.LmdbBackend - mmengine.fileio.backends.local_backend.LocalBackend api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend - mmengine.fileio.backends.memcached_backend.MemcachedBackend api/generated/mmengine.fileio.MemcachedBackend.html#mmengine.fileio.MemcachedBackend - mmengine.fileio.backends.petrel_backend.PetrelBackend api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend - mmengine.fileio.file_client.FileClient api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient - mmengine.fileio.file_client.HardDiskBackend api/generated/mmengine.fileio.HardDiskBackend.html#mmengine.fileio.HardDiskBackend - mmengine.fileio.handlers.base.BaseFileHandler api/generated/mmengine.fileio.BaseFileHandler.html#mmengine.fileio.BaseFileHandler - mmengine.fileio.handlers.json_handler.JsonHandler api/generated/mmengine.fileio.JsonHandler.html#mmengine.fileio.JsonHandler - mmengine.fileio.handlers.pickle_handler.PickleHandler api/generated/mmengine.fileio.PickleHandler.html#mmengine.fileio.PickleHandler - mmengine.fileio.handlers.yaml_handler.YamlHandler api/generated/mmengine.fileio.YamlHandler.html#mmengine.fileio.YamlHandler - mmengine.hooks.CheckpointHook api/generated/mmengine.hooks.CheckpointHook.html#mmengine.hooks.CheckpointHook - mmengine.hooks.DistSamplerSeedHook api/generated/mmengine.hooks.DistSamplerSeedHook.html#mmengine.hooks.DistSamplerSeedHook - mmengine.hooks.EMAHook api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook - mmengine.hooks.EmptyCacheHook api/generated/mmengine.hooks.EmptyCacheHook.html#mmengine.hooks.EmptyCacheHook - mmengine.hooks.Hook api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook - mmengine.hooks.IterTimerHook api/generated/mmengine.hooks.IterTimerHook.html#mmengine.hooks.IterTimerHook - mmengine.hooks.LoggerHook api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook - mmengine.hooks.NaiveVisualizationHook api/generated/mmengine.hooks.NaiveVisualizationHook.html#mmengine.hooks.NaiveVisualizationHook - mmengine.hooks.ParamSchedulerHook api/generated/mmengine.hooks.ParamSchedulerHook.html#mmengine.hooks.ParamSchedulerHook - mmengine.hooks.PrepareTTAHook api/generated/mmengine.hooks.PrepareTTAHook.html#mmengine.hooks.PrepareTTAHook - mmengine.hooks.ProfilerHook api/generated/mmengine.hooks.ProfilerHook.html#mmengine.hooks.ProfilerHook - mmengine.hooks.RuntimeInfoHook api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook - mmengine.hooks.SyncBuffersHook api/generated/mmengine.hooks.SyncBuffersHook.html#mmengine.hooks.SyncBuffersHook - mmengine.hooks.checkpoint_hook.CheckpointHook api/generated/mmengine.hooks.CheckpointHook.html#mmengine.hooks.CheckpointHook - mmengine.hooks.ema_hook.EMAHook api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook - mmengine.hooks.empty_cache_hook.EmptyCacheHook api/generated/mmengine.hooks.EmptyCacheHook.html#mmengine.hooks.EmptyCacheHook - mmengine.hooks.hook.Hook api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook - mmengine.hooks.iter_timer_hook.IterTimerHook api/generated/mmengine.hooks.IterTimerHook.html#mmengine.hooks.IterTimerHook - mmengine.hooks.logger_hook.LoggerHook api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook - mmengine.hooks.naive_visualization_hook.NaiveVisualizationHook api/generated/mmengine.hooks.NaiveVisualizationHook.html#mmengine.hooks.NaiveVisualizationHook - mmengine.hooks.param_scheduler_hook.ParamSchedulerHook api/generated/mmengine.hooks.ParamSchedulerHook.html#mmengine.hooks.ParamSchedulerHook - mmengine.hooks.profiler_hook.ProfilerHook api/generated/mmengine.hooks.ProfilerHook.html#mmengine.hooks.ProfilerHook - mmengine.hooks.runtime_info_hook.RuntimeInfoHook api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook - mmengine.hooks.sampler_seed_hook.DistSamplerSeedHook api/generated/mmengine.hooks.DistSamplerSeedHook.html#mmengine.hooks.DistSamplerSeedHook - mmengine.hooks.sync_buffer_hook.SyncBuffersHook api/generated/mmengine.hooks.SyncBuffersHook.html#mmengine.hooks.SyncBuffersHook - mmengine.hooks.test_time_aug_hook.PrepareTTAHook api/generated/mmengine.hooks.PrepareTTAHook.html#mmengine.hooks.PrepareTTAHook - mmengine.infer.BaseInferencer api/generated/mmengine.infer.BaseInferencer.html#mmengine.infer.BaseInferencer - mmengine.infer.infer.BaseInferencer api/generated/mmengine.infer.BaseInferencer.html#mmengine.infer.BaseInferencer - mmengine.logging.HistoryBuffer api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer - mmengine.logging.MMLogger api/generated/mmengine.logging.MMLogger.html#mmengine.logging.MMLogger - mmengine.logging.MessageHub api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub - mmengine.logging.history_buffer.HistoryBuffer api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer - mmengine.logging.logger.MMLogger api/generated/mmengine.logging.MMLogger.html#mmengine.logging.MMLogger - mmengine.logging.message_hub.MessageHub api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub - mmengine.model.BaseAveragedModel api/generated/mmengine.model.BaseAveragedModel.html#mmengine.model.BaseAveragedModel - mmengine.model.BaseDataPreprocessor api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor - mmengine.model.BaseInit api/generated/mmengine.model.BaseInit.html#mmengine.model.BaseInit - mmengine.model.BaseModel api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel - mmengine.model.BaseModule api/generated/mmengine.model.BaseModule.html#mmengine.model.BaseModule - mmengine.model.BaseTTAModel api/generated/mmengine.model.BaseTTAModel.html#mmengine.model.BaseTTAModel - mmengine.model.Caffe2XavierInit api/generated/mmengine.model.Caffe2XavierInit.html#mmengine.model.Caffe2XavierInit - mmengine.model.ConstantInit api/generated/mmengine.model.ConstantInit.html#mmengine.model.ConstantInit - mmengine.model.ExponentialMovingAverage api/generated/mmengine.model.ExponentialMovingAverage.html#mmengine.model.ExponentialMovingAverage - mmengine.model.ImgDataPreprocessor api/generated/mmengine.model.ImgDataPreprocessor.html#mmengine.model.ImgDataPreprocessor - mmengine.model.KaimingInit api/generated/mmengine.model.KaimingInit.html#mmengine.model.KaimingInit - mmengine.model.MMDistributedDataParallel api/generated/mmengine.model.MMDistributedDataParallel.html#mmengine.model.MMDistributedDataParallel - mmengine.model.MMFullyShardedDataParallel api/generated/mmengine.model.MMFullyShardedDataParallel.html#mmengine.model.MMFullyShardedDataParallel - mmengine.model.MMSeparateDistributedDataParallel api/generated/mmengine.model.MMSeparateDistributedDataParallel.html#mmengine.model.MMSeparateDistributedDataParallel - mmengine.model.ModuleDict api/generated/mmengine.model.ModuleDict.html#mmengine.model.ModuleDict - mmengine.model.ModuleList api/generated/mmengine.model.ModuleList.html#mmengine.model.ModuleList - mmengine.model.MomentumAnnealingEMA api/generated/mmengine.model.MomentumAnnealingEMA.html#mmengine.model.MomentumAnnealingEMA - mmengine.model.NormalInit api/generated/mmengine.model.NormalInit.html#mmengine.model.NormalInit - mmengine.model.PretrainedInit api/generated/mmengine.model.PretrainedInit.html#mmengine.model.PretrainedInit - mmengine.model.Sequential api/generated/mmengine.model.Sequential.html#mmengine.model.Sequential - mmengine.model.StochasticWeightAverage api/generated/mmengine.model.StochasticWeightAverage.html#mmengine.model.StochasticWeightAverage - mmengine.model.TruncNormalInit api/generated/mmengine.model.TruncNormalInit.html#mmengine.model.TruncNormalInit - mmengine.model.UniformInit api/generated/mmengine.model.UniformInit.html#mmengine.model.UniformInit - mmengine.model.XavierInit api/generated/mmengine.model.XavierInit.html#mmengine.model.XavierInit - mmengine.model.averaged_model.BaseAveragedModel api/generated/mmengine.model.BaseAveragedModel.html#mmengine.model.BaseAveragedModel - mmengine.model.averaged_model.ExponentialMovingAverage api/generated/mmengine.model.ExponentialMovingAverage.html#mmengine.model.ExponentialMovingAverage - mmengine.model.averaged_model.MomentumAnnealingEMA api/generated/mmengine.model.MomentumAnnealingEMA.html#mmengine.model.MomentumAnnealingEMA - mmengine.model.averaged_model.StochasticWeightAverage api/generated/mmengine.model.StochasticWeightAverage.html#mmengine.model.StochasticWeightAverage - mmengine.model.base_model.base_model.BaseModel api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel - mmengine.model.base_model.data_preprocessor.BaseDataPreprocessor api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor - mmengine.model.base_model.data_preprocessor.ImgDataPreprocessor api/generated/mmengine.model.ImgDataPreprocessor.html#mmengine.model.ImgDataPreprocessor - mmengine.model.base_module.BaseModule api/generated/mmengine.model.BaseModule.html#mmengine.model.BaseModule - mmengine.model.base_module.ModuleDict api/generated/mmengine.model.ModuleDict.html#mmengine.model.ModuleDict - mmengine.model.base_module.ModuleList api/generated/mmengine.model.ModuleList.html#mmengine.model.ModuleList - mmengine.model.base_module.Sequential api/generated/mmengine.model.Sequential.html#mmengine.model.Sequential - mmengine.model.is_model_wrapper api/generated/mmengine.model.is_model_wrapper.html#mmengine.model.is_model_wrapper - mmengine.model.test_time_aug.BaseTTAModel api/generated/mmengine.model.BaseTTAModel.html#mmengine.model.BaseTTAModel - mmengine.model.weight_init.BaseInit api/generated/mmengine.model.BaseInit.html#mmengine.model.BaseInit - mmengine.model.weight_init.Caffe2XavierInit api/generated/mmengine.model.Caffe2XavierInit.html#mmengine.model.Caffe2XavierInit - mmengine.model.weight_init.ConstantInit api/generated/mmengine.model.ConstantInit.html#mmengine.model.ConstantInit - mmengine.model.weight_init.KaimingInit api/generated/mmengine.model.KaimingInit.html#mmengine.model.KaimingInit - mmengine.model.weight_init.NormalInit api/generated/mmengine.model.NormalInit.html#mmengine.model.NormalInit - mmengine.model.weight_init.PretrainedInit api/generated/mmengine.model.PretrainedInit.html#mmengine.model.PretrainedInit - mmengine.model.weight_init.TruncNormalInit api/generated/mmengine.model.TruncNormalInit.html#mmengine.model.TruncNormalInit - mmengine.model.weight_init.UniformInit api/generated/mmengine.model.UniformInit.html#mmengine.model.UniformInit - mmengine.model.weight_init.XavierInit api/generated/mmengine.model.XavierInit.html#mmengine.model.XavierInit - mmengine.model.wrappers.distributed.MMDistributedDataParallel api/generated/mmengine.model.MMDistributedDataParallel.html#mmengine.model.MMDistributedDataParallel - mmengine.model.wrappers.fully_sharded_distributed.MMFullyShardedDataParallel api/generated/mmengine.model.MMFullyShardedDataParallel.html#mmengine.model.MMFullyShardedDataParallel - mmengine.model.wrappers.seperate_distributed.MMSeparateDistributedDataParallel api/generated/mmengine.model.MMSeparateDistributedDataParallel.html#mmengine.model.MMSeparateDistributedDataParallel - mmengine.model.wrappers.utils.is_model_wrapper api/generated/mmengine.model.is_model_wrapper.html#mmengine.model.is_model_wrapper - mmengine.optim.AmpOptimWrapper api/generated/mmengine.optim.AmpOptimWrapper.html#mmengine.optim.AmpOptimWrapper - mmengine.optim.ApexOptimWrapper api/generated/mmengine.optim.ApexOptimWrapper.html#mmengine.optim.ApexOptimWrapper - mmengine.optim.ConstantLR api/generated/mmengine.optim.ConstantLR.html#mmengine.optim.ConstantLR - mmengine.optim.ConstantMomentum api/generated/mmengine.optim.ConstantMomentum.html#mmengine.optim.ConstantMomentum - mmengine.optim.ConstantParamScheduler api/generated/mmengine.optim.ConstantParamScheduler.html#mmengine.optim.ConstantParamScheduler - mmengine.optim.CosineAnnealingLR api/generated/mmengine.optim.CosineAnnealingLR.html#mmengine.optim.CosineAnnealingLR - mmengine.optim.CosineAnnealingMomentum api/generated/mmengine.optim.CosineAnnealingMomentum.html#mmengine.optim.CosineAnnealingMomentum - mmengine.optim.CosineAnnealingParamScheduler api/generated/mmengine.optim.CosineAnnealingParamScheduler.html#mmengine.optim.CosineAnnealingParamScheduler - mmengine.optim.DefaultOptimWrapperConstructor api/generated/mmengine.optim.DefaultOptimWrapperConstructor.html#mmengine.optim.DefaultOptimWrapperConstructor - mmengine.optim.ExponentialLR api/generated/mmengine.optim.ExponentialLR.html#mmengine.optim.ExponentialLR - mmengine.optim.ExponentialMomentum api/generated/mmengine.optim.ExponentialMomentum.html#mmengine.optim.ExponentialMomentum - mmengine.optim.ExponentialParamScheduler api/generated/mmengine.optim.ExponentialParamScheduler.html#mmengine.optim.ExponentialParamScheduler - mmengine.optim.LinearLR api/generated/mmengine.optim.LinearLR.html#mmengine.optim.LinearLR - mmengine.optim.LinearMomentum api/generated/mmengine.optim.LinearMomentum.html#mmengine.optim.LinearMomentum - mmengine.optim.LinearParamScheduler api/generated/mmengine.optim.LinearParamScheduler.html#mmengine.optim.LinearParamScheduler - mmengine.optim.MultiStepLR api/generated/mmengine.optim.MultiStepLR.html#mmengine.optim.MultiStepLR - mmengine.optim.MultiStepMomentum api/generated/mmengine.optim.MultiStepMomentum.html#mmengine.optim.MultiStepMomentum - mmengine.optim.MultiStepParamScheduler api/generated/mmengine.optim.MultiStepParamScheduler.html#mmengine.optim.MultiStepParamScheduler - mmengine.optim.OneCycleLR api/generated/mmengine.optim.OneCycleLR.html#mmengine.optim.OneCycleLR - mmengine.optim.OneCycleParamScheduler api/generated/mmengine.optim.OneCycleParamScheduler.html#mmengine.optim.OneCycleParamScheduler - mmengine.optim.OptimWrapper api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper - mmengine.optim.OptimWrapperDict api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict - mmengine.optim.PolyLR api/generated/mmengine.optim.PolyLR.html#mmengine.optim.PolyLR - mmengine.optim.PolyMomentum api/generated/mmengine.optim.PolyMomentum.html#mmengine.optim.PolyMomentum - mmengine.optim.PolyParamScheduler api/generated/mmengine.optim.PolyParamScheduler.html#mmengine.optim.PolyParamScheduler - mmengine.optim.ReduceOnPlateauLR api/generated/mmengine.optim.ReduceOnPlateauLR.html#mmengine.optim.ReduceOnPlateauLR - mmengine.optim.ReduceOnPlateauMomentum api/generated/mmengine.optim.ReduceOnPlateauMomentum.html#mmengine.optim.ReduceOnPlateauMomentum - mmengine.optim.ReduceOnPlateauParamScheduler api/generated/mmengine.optim.ReduceOnPlateauParamScheduler.html#mmengine.optim.ReduceOnPlateauParamScheduler - mmengine.optim.StepLR api/generated/mmengine.optim.StepLR.html#mmengine.optim.StepLR - mmengine.optim.StepMomentum api/generated/mmengine.optim.StepMomentum.html#mmengine.optim.StepMomentum - mmengine.optim.StepParamScheduler api/generated/mmengine.optim.StepParamScheduler.html#mmengine.optim.StepParamScheduler - mmengine.optim.ZeroRedundancyOptimizer api/generated/mmengine.optim.ZeroRedundancyOptimizer.html#mmengine.optim.ZeroRedundancyOptimizer - mmengine.optim._ParamScheduler api/generated/mmengine.optim._ParamScheduler.html#mmengine.optim._ParamScheduler - mmengine.optim.optimizer.amp_optimizer_wrapper.AmpOptimWrapper api/generated/mmengine.optim.AmpOptimWrapper.html#mmengine.optim.AmpOptimWrapper - mmengine.optim.optimizer.apex_optimizer_wrapper.ApexOptimWrapper api/generated/mmengine.optim.ApexOptimWrapper.html#mmengine.optim.ApexOptimWrapper - mmengine.optim.optimizer.default_constructor.DefaultOptimWrapperConstructor api/generated/mmengine.optim.DefaultOptimWrapperConstructor.html#mmengine.optim.DefaultOptimWrapperConstructor - mmengine.optim.optimizer.optimizer_wrapper.OptimWrapper api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper - mmengine.optim.optimizer.optimizer_wrapper_dict.OptimWrapperDict api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict - mmengine.optim.optimizer.zero_optimizer.ZeroRedundancyOptimizer api/generated/mmengine.optim.ZeroRedundancyOptimizer.html#mmengine.optim.ZeroRedundancyOptimizer - mmengine.optim.scheduler.lr_scheduler.ConstantLR api/generated/mmengine.optim.ConstantLR.html#mmengine.optim.ConstantLR - mmengine.optim.scheduler.lr_scheduler.CosineAnnealingLR api/generated/mmengine.optim.CosineAnnealingLR.html#mmengine.optim.CosineAnnealingLR - mmengine.optim.scheduler.lr_scheduler.ExponentialLR api/generated/mmengine.optim.ExponentialLR.html#mmengine.optim.ExponentialLR - mmengine.optim.scheduler.lr_scheduler.LinearLR api/generated/mmengine.optim.LinearLR.html#mmengine.optim.LinearLR - mmengine.optim.scheduler.lr_scheduler.MultiStepLR api/generated/mmengine.optim.MultiStepLR.html#mmengine.optim.MultiStepLR - mmengine.optim.scheduler.lr_scheduler.OneCycleLR api/generated/mmengine.optim.OneCycleLR.html#mmengine.optim.OneCycleLR - mmengine.optim.scheduler.lr_scheduler.PolyLR api/generated/mmengine.optim.PolyLR.html#mmengine.optim.PolyLR - mmengine.optim.scheduler.lr_scheduler.ReduceOnPlateauLR api/generated/mmengine.optim.ReduceOnPlateauLR.html#mmengine.optim.ReduceOnPlateauLR - mmengine.optim.scheduler.lr_scheduler.StepLR api/generated/mmengine.optim.StepLR.html#mmengine.optim.StepLR - mmengine.optim.scheduler.momentum_scheduler.ConstantMomentum api/generated/mmengine.optim.ConstantMomentum.html#mmengine.optim.ConstantMomentum - mmengine.optim.scheduler.momentum_scheduler.CosineAnnealingMomentum api/generated/mmengine.optim.CosineAnnealingMomentum.html#mmengine.optim.CosineAnnealingMomentum - mmengine.optim.scheduler.momentum_scheduler.ExponentialMomentum api/generated/mmengine.optim.ExponentialMomentum.html#mmengine.optim.ExponentialMomentum - mmengine.optim.scheduler.momentum_scheduler.LinearMomentum api/generated/mmengine.optim.LinearMomentum.html#mmengine.optim.LinearMomentum - mmengine.optim.scheduler.momentum_scheduler.MultiStepMomentum api/generated/mmengine.optim.MultiStepMomentum.html#mmengine.optim.MultiStepMomentum - mmengine.optim.scheduler.momentum_scheduler.PolyMomentum api/generated/mmengine.optim.PolyMomentum.html#mmengine.optim.PolyMomentum - mmengine.optim.scheduler.momentum_scheduler.ReduceOnPlateauMomentum api/generated/mmengine.optim.ReduceOnPlateauMomentum.html#mmengine.optim.ReduceOnPlateauMomentum - mmengine.optim.scheduler.momentum_scheduler.StepMomentum api/generated/mmengine.optim.StepMomentum.html#mmengine.optim.StepMomentum - mmengine.optim.scheduler.param_scheduler.ConstantParamScheduler api/generated/mmengine.optim.ConstantParamScheduler.html#mmengine.optim.ConstantParamScheduler - mmengine.optim.scheduler.param_scheduler.CosineAnnealingParamScheduler api/generated/mmengine.optim.CosineAnnealingParamScheduler.html#mmengine.optim.CosineAnnealingParamScheduler - mmengine.optim.scheduler.param_scheduler.ExponentialParamScheduler api/generated/mmengine.optim.ExponentialParamScheduler.html#mmengine.optim.ExponentialParamScheduler - mmengine.optim.scheduler.param_scheduler.LinearParamScheduler api/generated/mmengine.optim.LinearParamScheduler.html#mmengine.optim.LinearParamScheduler - mmengine.optim.scheduler.param_scheduler.MultiStepParamScheduler api/generated/mmengine.optim.MultiStepParamScheduler.html#mmengine.optim.MultiStepParamScheduler - mmengine.optim.scheduler.param_scheduler.OneCycleParamScheduler api/generated/mmengine.optim.OneCycleParamScheduler.html#mmengine.optim.OneCycleParamScheduler - mmengine.optim.scheduler.param_scheduler.PolyParamScheduler api/generated/mmengine.optim.PolyParamScheduler.html#mmengine.optim.PolyParamScheduler - mmengine.optim.scheduler.param_scheduler.ReduceOnPlateauParamScheduler api/generated/mmengine.optim.ReduceOnPlateauParamScheduler.html#mmengine.optim.ReduceOnPlateauParamScheduler - mmengine.optim.scheduler.param_scheduler.StepParamScheduler api/generated/mmengine.optim.StepParamScheduler.html#mmengine.optim.StepParamScheduler - mmengine.optim.scheduler.param_scheduler._ParamScheduler api/generated/mmengine.optim._ParamScheduler.html#mmengine.optim._ParamScheduler - mmengine.registry.DefaultScope api/generated/mmengine.registry.DefaultScope.html#mmengine.registry.DefaultScope - mmengine.registry.Registry api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry - mmengine.registry.default_scope.DefaultScope api/generated/mmengine.registry.DefaultScope.html#mmengine.registry.DefaultScope - mmengine.registry.registry.Registry api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry - mmengine.runner.BaseLoop api/generated/mmengine.runner.BaseLoop.html#mmengine.runner.BaseLoop - mmengine.runner.CheckpointLoader api/generated/mmengine.runner.CheckpointLoader.html#mmengine.runner.CheckpointLoader - mmengine.runner.EpochBasedTrainLoop api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop - mmengine.runner.IterBasedTrainLoop api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop - mmengine.runner.LogProcessor api/generated/mmengine.runner.LogProcessor.html#mmengine.runner.LogProcessor - mmengine.runner.Priority api/generated/mmengine.runner.Priority.html#mmengine.runner.Priority - mmengine.runner.Runner api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner - mmengine.runner.TestLoop api/generated/mmengine.runner.TestLoop.html#mmengine.runner.TestLoop - mmengine.runner.ValLoop api/generated/mmengine.runner.ValLoop.html#mmengine.runner.ValLoop - mmengine.runner.base_loop.BaseLoop api/generated/mmengine.runner.BaseLoop.html#mmengine.runner.BaseLoop - mmengine.runner.checkpoint.CheckpointLoader api/generated/mmengine.runner.CheckpointLoader.html#mmengine.runner.CheckpointLoader - mmengine.runner.log_processor.LogProcessor api/generated/mmengine.runner.LogProcessor.html#mmengine.runner.LogProcessor - mmengine.runner.loops.EpochBasedTrainLoop api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop - mmengine.runner.loops.IterBasedTrainLoop api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop - mmengine.runner.loops.TestLoop api/generated/mmengine.runner.TestLoop.html#mmengine.runner.TestLoop - mmengine.runner.loops.ValLoop api/generated/mmengine.runner.ValLoop.html#mmengine.runner.ValLoop - mmengine.runner.priority.Priority api/generated/mmengine.runner.Priority.html#mmengine.runner.Priority - mmengine.runner.runner.Runner api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner - mmengine.structures.BaseDataElement api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement - mmengine.structures.InstanceData api/generated/mmengine.structures.InstanceData.html#mmengine.structures.InstanceData - mmengine.structures.LabelData api/generated/mmengine.structures.LabelData.html#mmengine.structures.LabelData - mmengine.structures.PixelData api/generated/mmengine.structures.PixelData.html#mmengine.structures.PixelData - mmengine.structures.base_data_element.BaseDataElement api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement - mmengine.structures.instance_data.InstanceData api/generated/mmengine.structures.InstanceData.html#mmengine.structures.InstanceData - mmengine.structures.label_data.LabelData api/generated/mmengine.structures.LabelData.html#mmengine.structures.LabelData - mmengine.structures.pixel_data.PixelData api/generated/mmengine.structures.PixelData.html#mmengine.structures.PixelData - mmengine.utils.ManagerMeta api/generated/mmengine.utils.ManagerMeta.html#mmengine.utils.ManagerMeta - mmengine.utils.ManagerMixin api/generated/mmengine.utils.ManagerMixin.html#mmengine.utils.ManagerMixin - mmengine.utils.ProgressBar api/generated/mmengine.utils.ProgressBar.html#mmengine.utils.ProgressBar - mmengine.utils.Timer api/generated/mmengine.utils.Timer.html#mmengine.utils.Timer - mmengine.utils.TimerError api/generated/mmengine.utils.TimerError.html#mmengine.utils.TimerError - mmengine.utils.dl_utils.TimeCounter api/generated/mmengine.utils.dl_utils.TimeCounter.html#mmengine.utils.dl_utils.TimeCounter - mmengine.utils.dl_utils.time_counter.TimeCounter api/generated/mmengine.utils.dl_utils.TimeCounter.html#mmengine.utils.dl_utils.TimeCounter - mmengine.utils.manager.ManagerMeta api/generated/mmengine.utils.ManagerMeta.html#mmengine.utils.ManagerMeta - mmengine.utils.manager.ManagerMixin api/generated/mmengine.utils.ManagerMixin.html#mmengine.utils.ManagerMixin - mmengine.utils.progressbar.ProgressBar api/generated/mmengine.utils.ProgressBar.html#mmengine.utils.ProgressBar - mmengine.utils.timer.Timer api/generated/mmengine.utils.Timer.html#mmengine.utils.Timer - mmengine.utils.timer.TimerError api/generated/mmengine.utils.TimerError.html#mmengine.utils.TimerError - mmengine.visualization.BaseVisBackend api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend - mmengine.visualization.LocalVisBackend api/generated/mmengine.visualization.LocalVisBackend.html#mmengine.visualization.LocalVisBackend - mmengine.visualization.TensorboardVisBackend api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend - mmengine.visualization.Visualizer api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer - mmengine.visualization.WandbVisBackend api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend - mmengine.visualization.vis_backend.BaseVisBackend api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend - mmengine.visualization.vis_backend.LocalVisBackend api/generated/mmengine.visualization.LocalVisBackend.html#mmengine.visualization.LocalVisBackend - mmengine.visualization.vis_backend.TensorboardVisBackend api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend - mmengine.visualization.vis_backend.WandbVisBackend api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend - mmengine.visualization.visualizer.Visualizer api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer -py:data - mmengine.utils.dl_utils.TORCH_VERSION api/generated/mmengine.utils.dl_utils.TORCH_VERSION.html#mmengine.utils.dl_utils.TORCH_VERSION -py:function - mmengine.dataset.default_collate api/generated/mmengine.dataset.default_collate.html#mmengine.dataset.default_collate - mmengine.dataset.pseudo_collate api/generated/mmengine.dataset.pseudo_collate.html#mmengine.dataset.pseudo_collate - mmengine.dataset.worker_init_fn api/generated/mmengine.dataset.worker_init_fn.html#mmengine.dataset.worker_init_fn - mmengine.device.get_device api/generated/mmengine.device.get_device.html#mmengine.device.get_device - mmengine.device.get_max_cuda_memory api/generated/mmengine.device.get_max_cuda_memory.html#mmengine.device.get_max_cuda_memory - mmengine.device.is_cuda_available api/generated/mmengine.device.is_cuda_available.html#mmengine.device.is_cuda_available - mmengine.device.is_mlu_available api/generated/mmengine.device.is_mlu_available.html#mmengine.device.is_mlu_available - mmengine.device.is_mps_available api/generated/mmengine.device.is_mps_available.html#mmengine.device.is_mps_available - mmengine.device.is_npu_available api/generated/mmengine.device.is_npu_available.html#mmengine.device.is_npu_available - mmengine.dist.all_gather api/generated/mmengine.dist.all_gather.html#mmengine.dist.all_gather - mmengine.dist.all_gather_object api/generated/mmengine.dist.all_gather_object.html#mmengine.dist.all_gather_object - mmengine.dist.all_reduce api/generated/mmengine.dist.all_reduce.html#mmengine.dist.all_reduce - mmengine.dist.all_reduce_dict api/generated/mmengine.dist.all_reduce_dict.html#mmengine.dist.all_reduce_dict - mmengine.dist.all_reduce_params api/generated/mmengine.dist.all_reduce_params.html#mmengine.dist.all_reduce_params - mmengine.dist.barrier api/generated/mmengine.dist.barrier.html#mmengine.dist.barrier - mmengine.dist.broadcast api/generated/mmengine.dist.broadcast.html#mmengine.dist.broadcast - mmengine.dist.broadcast_object_list api/generated/mmengine.dist.broadcast_object_list.html#mmengine.dist.broadcast_object_list - mmengine.dist.cast_data_device api/generated/mmengine.dist.cast_data_device.html#mmengine.dist.cast_data_device - mmengine.dist.collect_results api/generated/mmengine.dist.collect_results.html#mmengine.dist.collect_results - mmengine.dist.collect_results_cpu api/generated/mmengine.dist.collect_results_cpu.html#mmengine.dist.collect_results_cpu - mmengine.dist.collect_results_gpu api/generated/mmengine.dist.collect_results_gpu.html#mmengine.dist.collect_results_gpu - mmengine.dist.gather api/generated/mmengine.dist.gather.html#mmengine.dist.gather - mmengine.dist.gather_object api/generated/mmengine.dist.gather_object.html#mmengine.dist.gather_object - mmengine.dist.get_backend api/generated/mmengine.dist.get_backend.html#mmengine.dist.get_backend - mmengine.dist.get_comm_device api/generated/mmengine.dist.get_comm_device.html#mmengine.dist.get_comm_device - mmengine.dist.get_data_device api/generated/mmengine.dist.get_data_device.html#mmengine.dist.get_data_device - mmengine.dist.get_default_group api/generated/mmengine.dist.get_default_group.html#mmengine.dist.get_default_group - mmengine.dist.get_dist_info api/generated/mmengine.dist.get_dist_info.html#mmengine.dist.get_dist_info - mmengine.dist.get_local_group api/generated/mmengine.dist.get_local_group.html#mmengine.dist.get_local_group - mmengine.dist.get_local_rank api/generated/mmengine.dist.get_local_rank.html#mmengine.dist.get_local_rank - mmengine.dist.get_local_size api/generated/mmengine.dist.get_local_size.html#mmengine.dist.get_local_size - mmengine.dist.get_rank api/generated/mmengine.dist.get_rank.html#mmengine.dist.get_rank - mmengine.dist.get_world_size api/generated/mmengine.dist.get_world_size.html#mmengine.dist.get_world_size - mmengine.dist.init_dist api/generated/mmengine.dist.init_dist.html#mmengine.dist.init_dist - mmengine.dist.init_local_group api/generated/mmengine.dist.init_local_group.html#mmengine.dist.init_local_group - mmengine.dist.is_distributed api/generated/mmengine.dist.is_distributed.html#mmengine.dist.is_distributed - mmengine.dist.is_main_process api/generated/mmengine.dist.is_main_process.html#mmengine.dist.is_main_process - mmengine.dist.master_only api/generated/mmengine.dist.master_only.html#mmengine.dist.master_only - mmengine.dist.sync_random_seed api/generated/mmengine.dist.sync_random_seed.html#mmengine.dist.sync_random_seed - mmengine.evaluator.get_metric_value api/generated/mmengine.evaluator.get_metric_value.html#mmengine.evaluator.get_metric_value - mmengine.fileio.copy_if_symlink_fails api/generated/mmengine.fileio.copy_if_symlink_fails.html#mmengine.fileio.copy_if_symlink_fails - mmengine.fileio.copyfile api/generated/mmengine.fileio.copyfile.html#mmengine.fileio.copyfile - mmengine.fileio.copyfile_from_local api/generated/mmengine.fileio.copyfile_from_local.html#mmengine.fileio.copyfile_from_local - mmengine.fileio.copyfile_to_local api/generated/mmengine.fileio.copyfile_to_local.html#mmengine.fileio.copyfile_to_local - mmengine.fileio.copytree api/generated/mmengine.fileio.copytree.html#mmengine.fileio.copytree - mmengine.fileio.copytree_from_local api/generated/mmengine.fileio.copytree_from_local.html#mmengine.fileio.copytree_from_local - mmengine.fileio.copytree_to_local api/generated/mmengine.fileio.copytree_to_local.html#mmengine.fileio.copytree_to_local - mmengine.fileio.dict_from_file api/generated/mmengine.fileio.dict_from_file.html#mmengine.fileio.dict_from_file - mmengine.fileio.dump api/generated/mmengine.fileio.dump.html#mmengine.fileio.dump - mmengine.fileio.exists api/generated/mmengine.fileio.exists.html#mmengine.fileio.exists - mmengine.fileio.generate_presigned_url api/generated/mmengine.fileio.generate_presigned_url.html#mmengine.fileio.generate_presigned_url - mmengine.fileio.get api/generated/mmengine.fileio.get.html#mmengine.fileio.get - mmengine.fileio.get_file_backend api/generated/mmengine.fileio.get_file_backend.html#mmengine.fileio.get_file_backend - mmengine.fileio.get_local_path api/generated/mmengine.fileio.get_local_path.html#mmengine.fileio.get_local_path - mmengine.fileio.get_text api/generated/mmengine.fileio.get_text.html#mmengine.fileio.get_text - mmengine.fileio.isdir api/generated/mmengine.fileio.isdir.html#mmengine.fileio.isdir - mmengine.fileio.isfile api/generated/mmengine.fileio.isfile.html#mmengine.fileio.isfile - mmengine.fileio.join_path api/generated/mmengine.fileio.join_path.html#mmengine.fileio.join_path - mmengine.fileio.list_dir_or_file api/generated/mmengine.fileio.list_dir_or_file.html#mmengine.fileio.list_dir_or_file - mmengine.fileio.list_from_file api/generated/mmengine.fileio.list_from_file.html#mmengine.fileio.list_from_file - mmengine.fileio.load api/generated/mmengine.fileio.load.html#mmengine.fileio.load - mmengine.fileio.put api/generated/mmengine.fileio.put.html#mmengine.fileio.put - mmengine.fileio.put_text api/generated/mmengine.fileio.put_text.html#mmengine.fileio.put_text - mmengine.fileio.register_backend api/generated/mmengine.fileio.register_backend.html#mmengine.fileio.register_backend - mmengine.fileio.register_handler api/generated/mmengine.fileio.register_handler.html#mmengine.fileio.register_handler - mmengine.fileio.remove api/generated/mmengine.fileio.remove.html#mmengine.fileio.remove - mmengine.fileio.rmtree api/generated/mmengine.fileio.rmtree.html#mmengine.fileio.rmtree - mmengine.hub.get_config api/generated/mmengine.hub.get_config.html#mmengine.hub.get_config - mmengine.hub.get_model api/generated/mmengine.hub.get_model.html#mmengine.hub.get_model - mmengine.logging.print_log api/generated/mmengine.logging.print_log.html#mmengine.logging.print_log - mmengine.model.bias_init_with_prob api/generated/mmengine.model.bias_init_with_prob.html#mmengine.model.bias_init_with_prob - mmengine.model.caffe2_xavier_init api/generated/mmengine.model.caffe2_xavier_init.html#mmengine.model.caffe2_xavier_init - mmengine.model.constant_init api/generated/mmengine.model.constant_init.html#mmengine.model.constant_init - mmengine.model.convert_sync_batchnorm api/generated/mmengine.model.convert_sync_batchnorm.html#mmengine.model.convert_sync_batchnorm - mmengine.model.detect_anomalous_params api/generated/mmengine.model.detect_anomalous_params.html#mmengine.model.detect_anomalous_params - mmengine.model.initialize api/generated/mmengine.model.initialize.html#mmengine.model.initialize - mmengine.model.kaiming_init api/generated/mmengine.model.kaiming_init.html#mmengine.model.kaiming_init - mmengine.model.merge_dict api/generated/mmengine.model.merge_dict.html#mmengine.model.merge_dict - mmengine.model.normal_init api/generated/mmengine.model.normal_init.html#mmengine.model.normal_init - mmengine.model.revert_sync_batchnorm api/generated/mmengine.model.revert_sync_batchnorm.html#mmengine.model.revert_sync_batchnorm - mmengine.model.stack_batch api/generated/mmengine.model.stack_batch.html#mmengine.model.stack_batch - mmengine.model.trunc_normal_init api/generated/mmengine.model.trunc_normal_init.html#mmengine.model.trunc_normal_init - mmengine.model.uniform_init api/generated/mmengine.model.uniform_init.html#mmengine.model.uniform_init - mmengine.model.update_init_info api/generated/mmengine.model.update_init_info.html#mmengine.model.update_init_info - mmengine.model.xavier_init api/generated/mmengine.model.xavier_init.html#mmengine.model.xavier_init - mmengine.optim.build_optim_wrapper api/generated/mmengine.optim.build_optim_wrapper.html#mmengine.optim.build_optim_wrapper - mmengine.registry.build_from_cfg api/generated/mmengine.registry.build_from_cfg.html#mmengine.registry.build_from_cfg - mmengine.registry.build_model_from_cfg api/generated/mmengine.registry.build_model_from_cfg.html#mmengine.registry.build_model_from_cfg - mmengine.registry.build_runner_from_cfg api/generated/mmengine.registry.build_runner_from_cfg.html#mmengine.registry.build_runner_from_cfg - mmengine.registry.build_scheduler_from_cfg api/generated/mmengine.registry.build_scheduler_from_cfg.html#mmengine.registry.build_scheduler_from_cfg - mmengine.registry.count_registered_modules api/generated/mmengine.registry.count_registered_modules.html#mmengine.registry.count_registered_modules - mmengine.registry.init_default_scope api/generated/mmengine.registry.init_default_scope.html#mmengine.registry.init_default_scope - mmengine.registry.traverse_registry_tree api/generated/mmengine.registry.traverse_registry_tree.html#mmengine.registry.traverse_registry_tree - mmengine.runner.autocast api/generated/mmengine.runner.autocast.html#mmengine.runner.autocast - mmengine.runner.find_latest_checkpoint api/generated/mmengine.runner.find_latest_checkpoint.html#mmengine.runner.find_latest_checkpoint - mmengine.runner.get_deprecated_model_names api/generated/mmengine.runner.get_deprecated_model_names.html#mmengine.runner.get_deprecated_model_names - mmengine.runner.get_external_models api/generated/mmengine.runner.get_external_models.html#mmengine.runner.get_external_models - mmengine.runner.get_mmcls_models api/generated/mmengine.runner.get_mmcls_models.html#mmengine.runner.get_mmcls_models - mmengine.runner.get_priority api/generated/mmengine.runner.get_priority.html#mmengine.runner.get_priority - mmengine.runner.get_state_dict api/generated/mmengine.runner.get_state_dict.html#mmengine.runner.get_state_dict - mmengine.runner.get_torchvision_models api/generated/mmengine.runner.get_torchvision_models.html#mmengine.runner.get_torchvision_models - mmengine.runner.load_checkpoint api/generated/mmengine.runner.load_checkpoint.html#mmengine.runner.load_checkpoint - mmengine.runner.load_state_dict api/generated/mmengine.runner.load_state_dict.html#mmengine.runner.load_state_dict - mmengine.runner.save_checkpoint api/generated/mmengine.runner.save_checkpoint.html#mmengine.runner.save_checkpoint - mmengine.runner.weights_to_cpu api/generated/mmengine.runner.weights_to_cpu.html#mmengine.runner.weights_to_cpu - mmengine.utils.call_command api/generated/mmengine.utils.call_command.html#mmengine.utils.call_command - mmengine.utils.check_file_exist api/generated/mmengine.utils.check_file_exist.html#mmengine.utils.check_file_exist - mmengine.utils.check_prerequisites api/generated/mmengine.utils.check_prerequisites.html#mmengine.utils.check_prerequisites - mmengine.utils.check_time api/generated/mmengine.utils.check_time.html#mmengine.utils.check_time - mmengine.utils.concat_list api/generated/mmengine.utils.concat_list.html#mmengine.utils.concat_list - mmengine.utils.deprecated_api_warning api/generated/mmengine.utils.deprecated_api_warning.html#mmengine.utils.deprecated_api_warning - mmengine.utils.deprecated_function api/generated/mmengine.utils.deprecated_function.html#mmengine.utils.deprecated_function - mmengine.utils.digit_version api/generated/mmengine.utils.digit_version.html#mmengine.utils.digit_version - mmengine.utils.dl_utils.collect_env api/generated/mmengine.utils.dl_utils.collect_env.html#mmengine.utils.dl_utils.collect_env - mmengine.utils.dl_utils.has_batch_norm api/generated/mmengine.utils.dl_utils.has_batch_norm.html#mmengine.utils.dl_utils.has_batch_norm - mmengine.utils.dl_utils.is_jit_tracing api/generated/mmengine.utils.dl_utils.is_jit_tracing.html#mmengine.utils.dl_utils.is_jit_tracing - mmengine.utils.dl_utils.is_norm api/generated/mmengine.utils.dl_utils.is_norm.html#mmengine.utils.dl_utils.is_norm - mmengine.utils.dl_utils.load_url api/generated/mmengine.utils.dl_utils.load_url.html#mmengine.utils.dl_utils.load_url - mmengine.utils.dl_utils.mmcv_full_available api/generated/mmengine.utils.dl_utils.mmcv_full_available.html#mmengine.utils.dl_utils.mmcv_full_available - mmengine.utils.dl_utils.set_multi_processing api/generated/mmengine.utils.dl_utils.set_multi_processing.html#mmengine.utils.dl_utils.set_multi_processing - mmengine.utils.dl_utils.tensor2imgs api/generated/mmengine.utils.dl_utils.tensor2imgs.html#mmengine.utils.dl_utils.tensor2imgs - mmengine.utils.dl_utils.torch_meshgrid api/generated/mmengine.utils.dl_utils.torch_meshgrid.html#mmengine.utils.dl_utils.torch_meshgrid - mmengine.utils.fopen api/generated/mmengine.utils.fopen.html#mmengine.utils.fopen - mmengine.utils.get_git_hash api/generated/mmengine.utils.get_git_hash.html#mmengine.utils.get_git_hash - mmengine.utils.get_installed_path api/generated/mmengine.utils.get_installed_path.html#mmengine.utils.get_installed_path - mmengine.utils.has_method api/generated/mmengine.utils.has_method.html#mmengine.utils.has_method - mmengine.utils.import_modules_from_strings api/generated/mmengine.utils.import_modules_from_strings.html#mmengine.utils.import_modules_from_strings - mmengine.utils.install_package api/generated/mmengine.utils.install_package.html#mmengine.utils.install_package - mmengine.utils.is_abs api/generated/mmengine.utils.is_abs.html#mmengine.utils.is_abs - mmengine.utils.is_filepath api/generated/mmengine.utils.is_filepath.html#mmengine.utils.is_filepath - mmengine.utils.is_installed api/generated/mmengine.utils.is_installed.html#mmengine.utils.is_installed - mmengine.utils.is_list_of api/generated/mmengine.utils.is_list_of.html#mmengine.utils.is_list_of - mmengine.utils.is_method_overridden api/generated/mmengine.utils.is_method_overridden.html#mmengine.utils.is_method_overridden - mmengine.utils.is_seq_of api/generated/mmengine.utils.is_seq_of.html#mmengine.utils.is_seq_of - mmengine.utils.is_str api/generated/mmengine.utils.is_str.html#mmengine.utils.is_str - mmengine.utils.is_tuple_of api/generated/mmengine.utils.is_tuple_of.html#mmengine.utils.is_tuple_of - mmengine.utils.iter_cast api/generated/mmengine.utils.iter_cast.html#mmengine.utils.iter_cast - mmengine.utils.list_cast api/generated/mmengine.utils.list_cast.html#mmengine.utils.list_cast - mmengine.utils.mkdir_or_exist api/generated/mmengine.utils.mkdir_or_exist.html#mmengine.utils.mkdir_or_exist - mmengine.utils.requires_executable api/generated/mmengine.utils.requires_executable.html#mmengine.utils.requires_executable - mmengine.utils.requires_package api/generated/mmengine.utils.requires_package.html#mmengine.utils.requires_package - mmengine.utils.scandir api/generated/mmengine.utils.scandir.html#mmengine.utils.scandir - mmengine.utils.slice_list api/generated/mmengine.utils.slice_list.html#mmengine.utils.slice_list - mmengine.utils.symlink api/generated/mmengine.utils.symlink.html#mmengine.utils.symlink - mmengine.utils.to_1tuple api/generated/mmengine.utils.to_1tuple.html#mmengine.utils.to_1tuple - mmengine.utils.to_2tuple api/generated/mmengine.utils.to_2tuple.html#mmengine.utils.to_2tuple - mmengine.utils.to_3tuple api/generated/mmengine.utils.to_3tuple.html#mmengine.utils.to_3tuple - mmengine.utils.to_4tuple api/generated/mmengine.utils.to_4tuple.html#mmengine.utils.to_4tuple - mmengine.utils.to_ntuple api/generated/mmengine.utils.to_ntuple.html#mmengine.utils.to_ntuple - mmengine.utils.track_iter_progress api/generated/mmengine.utils.track_iter_progress.html#mmengine.utils.track_iter_progress - mmengine.utils.track_parallel_progress api/generated/mmengine.utils.track_parallel_progress.html#mmengine.utils.track_parallel_progress - mmengine.utils.track_progress api/generated/mmengine.utils.track_progress.html#mmengine.utils.track_progress - mmengine.utils.tuple_cast api/generated/mmengine.utils.tuple_cast.html#mmengine.utils.tuple_cast -py:method - mmengine.config.Config.auto_argparser api/generated/mmengine.config.Config.html#mmengine.config.Config.auto_argparser - mmengine.config.Config.dump api/generated/mmengine.config.Config.html#mmengine.config.Config.dump - mmengine.config.Config.fromfile api/generated/mmengine.config.Config.html#mmengine.config.Config.fromfile - mmengine.config.Config.fromstring api/generated/mmengine.config.Config.html#mmengine.config.Config.fromstring - mmengine.config.Config.merge_from_dict api/generated/mmengine.config.Config.html#mmengine.config.Config.merge_from_dict - mmengine.dataset.BaseDataset.filter_data api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.filter_data - mmengine.dataset.BaseDataset.full_init api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.full_init - mmengine.dataset.BaseDataset.get_cat_ids api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.get_cat_ids - mmengine.dataset.BaseDataset.get_data_info api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.get_data_info - mmengine.dataset.BaseDataset.get_subset api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.get_subset - mmengine.dataset.BaseDataset.get_subset_ api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.get_subset_ - mmengine.dataset.BaseDataset.load_data_list api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.load_data_list - mmengine.dataset.BaseDataset.parse_data_info api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.parse_data_info - mmengine.dataset.BaseDataset.prepare_data api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.prepare_data - mmengine.dataset.ClassBalancedDataset.full_init api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset.full_init - mmengine.dataset.ClassBalancedDataset.get_cat_ids api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset.get_cat_ids - mmengine.dataset.ClassBalancedDataset.get_data_info api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset.get_data_info - mmengine.dataset.ClassBalancedDataset.get_subset api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset.get_subset - mmengine.dataset.ClassBalancedDataset.get_subset_ api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset.get_subset_ - mmengine.dataset.ConcatDataset.full_init api/generated/mmengine.dataset.ConcatDataset.html#mmengine.dataset.ConcatDataset.full_init - mmengine.dataset.ConcatDataset.get_data_info api/generated/mmengine.dataset.ConcatDataset.html#mmengine.dataset.ConcatDataset.get_data_info - mmengine.dataset.ConcatDataset.get_subset api/generated/mmengine.dataset.ConcatDataset.html#mmengine.dataset.ConcatDataset.get_subset - mmengine.dataset.ConcatDataset.get_subset_ api/generated/mmengine.dataset.ConcatDataset.html#mmengine.dataset.ConcatDataset.get_subset_ - mmengine.dataset.DefaultSampler.set_epoch api/generated/mmengine.dataset.DefaultSampler.html#mmengine.dataset.DefaultSampler.set_epoch - mmengine.dataset.InfiniteSampler.set_epoch api/generated/mmengine.dataset.InfiniteSampler.html#mmengine.dataset.InfiniteSampler.set_epoch - mmengine.dataset.RepeatDataset.full_init api/generated/mmengine.dataset.RepeatDataset.html#mmengine.dataset.RepeatDataset.full_init - mmengine.dataset.RepeatDataset.get_data_info api/generated/mmengine.dataset.RepeatDataset.html#mmengine.dataset.RepeatDataset.get_data_info - mmengine.dataset.RepeatDataset.get_subset api/generated/mmengine.dataset.RepeatDataset.html#mmengine.dataset.RepeatDataset.get_subset - mmengine.dataset.RepeatDataset.get_subset_ api/generated/mmengine.dataset.RepeatDataset.html#mmengine.dataset.RepeatDataset.get_subset_ - mmengine.evaluator.BaseMetric.compute_metrics api/generated/mmengine.evaluator.BaseMetric.html#mmengine.evaluator.BaseMetric.compute_metrics - mmengine.evaluator.BaseMetric.evaluate api/generated/mmengine.evaluator.BaseMetric.html#mmengine.evaluator.BaseMetric.evaluate - mmengine.evaluator.BaseMetric.process api/generated/mmengine.evaluator.BaseMetric.html#mmengine.evaluator.BaseMetric.process - mmengine.evaluator.DumpResults.compute_metrics api/generated/mmengine.evaluator.DumpResults.html#mmengine.evaluator.DumpResults.compute_metrics - mmengine.evaluator.DumpResults.process api/generated/mmengine.evaluator.DumpResults.html#mmengine.evaluator.DumpResults.process - mmengine.evaluator.Evaluator.evaluate api/generated/mmengine.evaluator.Evaluator.html#mmengine.evaluator.Evaluator.evaluate - mmengine.evaluator.Evaluator.offline_evaluate api/generated/mmengine.evaluator.Evaluator.html#mmengine.evaluator.Evaluator.offline_evaluate - mmengine.evaluator.Evaluator.process api/generated/mmengine.evaluator.Evaluator.html#mmengine.evaluator.Evaluator.process - mmengine.fileio.FileClient.exists api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.exists - mmengine.fileio.FileClient.get api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.get - mmengine.fileio.FileClient.get_local_path api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.get_local_path - mmengine.fileio.FileClient.get_text api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.get_text - mmengine.fileio.FileClient.infer_client api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.infer_client - mmengine.fileio.FileClient.isdir api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.isdir - mmengine.fileio.FileClient.isfile api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.isfile - mmengine.fileio.FileClient.join_path api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.join_path - mmengine.fileio.FileClient.list_dir_or_file api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.list_dir_or_file - mmengine.fileio.FileClient.parse_uri_prefix api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.parse_uri_prefix - mmengine.fileio.FileClient.put api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.put - mmengine.fileio.FileClient.put_text api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.put_text - mmengine.fileio.FileClient.register_backend api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.register_backend - mmengine.fileio.FileClient.remove api/generated/mmengine.fileio.FileClient.html#mmengine.fileio.FileClient.remove - mmengine.fileio.HTTPBackend.get api/generated/mmengine.fileio.HTTPBackend.html#mmengine.fileio.HTTPBackend.get - mmengine.fileio.HTTPBackend.get_local_path api/generated/mmengine.fileio.HTTPBackend.html#mmengine.fileio.HTTPBackend.get_local_path - mmengine.fileio.HTTPBackend.get_text api/generated/mmengine.fileio.HTTPBackend.html#mmengine.fileio.HTTPBackend.get_text - mmengine.fileio.LmdbBackend.get api/generated/mmengine.fileio.LmdbBackend.html#mmengine.fileio.LmdbBackend.get - mmengine.fileio.LocalBackend.copy_if_symlink_fails api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.copy_if_symlink_fails - mmengine.fileio.LocalBackend.copyfile api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.copyfile - mmengine.fileio.LocalBackend.copyfile_from_local api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.copyfile_from_local - mmengine.fileio.LocalBackend.copyfile_to_local api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.copyfile_to_local - mmengine.fileio.LocalBackend.copytree api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.copytree - mmengine.fileio.LocalBackend.copytree_from_local api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.copytree_from_local - mmengine.fileio.LocalBackend.copytree_to_local api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.copytree_to_local - mmengine.fileio.LocalBackend.exists api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.exists - mmengine.fileio.LocalBackend.get api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.get - mmengine.fileio.LocalBackend.get_local_path api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.get_local_path - mmengine.fileio.LocalBackend.get_text api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.get_text - mmengine.fileio.LocalBackend.isdir api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.isdir - mmengine.fileio.LocalBackend.isfile api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.isfile - mmengine.fileio.LocalBackend.join_path api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.join_path - mmengine.fileio.LocalBackend.list_dir_or_file api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.list_dir_or_file - mmengine.fileio.LocalBackend.put api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.put - mmengine.fileio.LocalBackend.put_text api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.put_text - mmengine.fileio.LocalBackend.remove api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.remove - mmengine.fileio.LocalBackend.rmtree api/generated/mmengine.fileio.LocalBackend.html#mmengine.fileio.LocalBackend.rmtree - mmengine.fileio.MemcachedBackend.get api/generated/mmengine.fileio.MemcachedBackend.html#mmengine.fileio.MemcachedBackend.get - mmengine.fileio.PetrelBackend.copy_if_symlink_fails api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.copy_if_symlink_fails - mmengine.fileio.PetrelBackend.copyfile api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.copyfile - mmengine.fileio.PetrelBackend.copyfile_from_local api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.copyfile_from_local - mmengine.fileio.PetrelBackend.copyfile_to_local api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.copyfile_to_local - mmengine.fileio.PetrelBackend.copytree api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.copytree - mmengine.fileio.PetrelBackend.copytree_from_local api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.copytree_from_local - mmengine.fileio.PetrelBackend.copytree_to_local api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.copytree_to_local - mmengine.fileio.PetrelBackend.exists api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.exists - mmengine.fileio.PetrelBackend.generate_presigned_url api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.generate_presigned_url - mmengine.fileio.PetrelBackend.get api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.get - mmengine.fileio.PetrelBackend.get_local_path api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.get_local_path - mmengine.fileio.PetrelBackend.get_text api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.get_text - mmengine.fileio.PetrelBackend.isdir api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.isdir - mmengine.fileio.PetrelBackend.isfile api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.isfile - mmengine.fileio.PetrelBackend.join_path api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.join_path - mmengine.fileio.PetrelBackend.list_dir_or_file api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.list_dir_or_file - mmengine.fileio.PetrelBackend.put api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.put - mmengine.fileio.PetrelBackend.put_text api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.put_text - mmengine.fileio.PetrelBackend.remove api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.remove - mmengine.fileio.PetrelBackend.rmtree api/generated/mmengine.fileio.PetrelBackend.html#mmengine.fileio.PetrelBackend.rmtree - mmengine.hooks.CheckpointHook.after_train_epoch api/generated/mmengine.hooks.CheckpointHook.html#mmengine.hooks.CheckpointHook.after_train_epoch - mmengine.hooks.CheckpointHook.after_train_iter api/generated/mmengine.hooks.CheckpointHook.html#mmengine.hooks.CheckpointHook.after_train_iter - mmengine.hooks.CheckpointHook.after_val_epoch api/generated/mmengine.hooks.CheckpointHook.html#mmengine.hooks.CheckpointHook.after_val_epoch - mmengine.hooks.CheckpointHook.before_train api/generated/mmengine.hooks.CheckpointHook.html#mmengine.hooks.CheckpointHook.before_train - mmengine.hooks.DistSamplerSeedHook.before_train_epoch api/generated/mmengine.hooks.DistSamplerSeedHook.html#mmengine.hooks.DistSamplerSeedHook.before_train_epoch - mmengine.hooks.EMAHook.after_load_checkpoint api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.after_load_checkpoint - mmengine.hooks.EMAHook.after_test_epoch api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.after_test_epoch - mmengine.hooks.EMAHook.after_train_iter api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.after_train_iter - mmengine.hooks.EMAHook.after_val_epoch api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.after_val_epoch - mmengine.hooks.EMAHook.before_run api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.before_run - mmengine.hooks.EMAHook.before_save_checkpoint api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.before_save_checkpoint - mmengine.hooks.EMAHook.before_test_epoch api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.before_test_epoch - mmengine.hooks.EMAHook.before_train api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.before_train - mmengine.hooks.EMAHook.before_val_epoch api/generated/mmengine.hooks.EMAHook.html#mmengine.hooks.EMAHook.before_val_epoch - mmengine.hooks.Hook.after_load_checkpoint api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_load_checkpoint - mmengine.hooks.Hook.after_run api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_run - mmengine.hooks.Hook.after_test api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_test - mmengine.hooks.Hook.after_test_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_test_epoch - mmengine.hooks.Hook.after_test_iter api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_test_iter - mmengine.hooks.Hook.after_train api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_train - mmengine.hooks.Hook.after_train_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_train_epoch - mmengine.hooks.Hook.after_train_iter api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_train_iter - mmengine.hooks.Hook.after_val api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_val - mmengine.hooks.Hook.after_val_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_val_epoch - mmengine.hooks.Hook.after_val_iter api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.after_val_iter - mmengine.hooks.Hook.before_run api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_run - mmengine.hooks.Hook.before_save_checkpoint api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_save_checkpoint - mmengine.hooks.Hook.before_test api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_test - mmengine.hooks.Hook.before_test_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_test_epoch - mmengine.hooks.Hook.before_test_iter api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_test_iter - mmengine.hooks.Hook.before_train api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_train - mmengine.hooks.Hook.before_train_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_train_epoch - mmengine.hooks.Hook.before_train_iter api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_train_iter - mmengine.hooks.Hook.before_val api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_val - mmengine.hooks.Hook.before_val_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_val_epoch - mmengine.hooks.Hook.before_val_iter api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.before_val_iter - mmengine.hooks.Hook.end_of_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.end_of_epoch - mmengine.hooks.Hook.every_n_epochs api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.every_n_epochs - mmengine.hooks.Hook.every_n_inner_iters api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.every_n_inner_iters - mmengine.hooks.Hook.every_n_train_iters api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.every_n_train_iters - mmengine.hooks.Hook.is_last_train_epoch api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.is_last_train_epoch - mmengine.hooks.Hook.is_last_train_iter api/generated/mmengine.hooks.Hook.html#mmengine.hooks.Hook.is_last_train_iter - mmengine.hooks.IterTimerHook.before_train api/generated/mmengine.hooks.IterTimerHook.html#mmengine.hooks.IterTimerHook.before_train - mmengine.hooks.LoggerHook.after_run api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook.after_run - mmengine.hooks.LoggerHook.after_test_epoch api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook.after_test_epoch - mmengine.hooks.LoggerHook.after_test_iter api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook.after_test_iter - mmengine.hooks.LoggerHook.after_train_iter api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook.after_train_iter - mmengine.hooks.LoggerHook.after_val_epoch api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook.after_val_epoch - mmengine.hooks.LoggerHook.after_val_iter api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook.after_val_iter - mmengine.hooks.LoggerHook.before_run api/generated/mmengine.hooks.LoggerHook.html#mmengine.hooks.LoggerHook.before_run - mmengine.hooks.NaiveVisualizationHook.after_test_iter api/generated/mmengine.hooks.NaiveVisualizationHook.html#mmengine.hooks.NaiveVisualizationHook.after_test_iter - mmengine.hooks.NaiveVisualizationHook.before_train api/generated/mmengine.hooks.NaiveVisualizationHook.html#mmengine.hooks.NaiveVisualizationHook.before_train - mmengine.hooks.ParamSchedulerHook.after_train_epoch api/generated/mmengine.hooks.ParamSchedulerHook.html#mmengine.hooks.ParamSchedulerHook.after_train_epoch - mmengine.hooks.ParamSchedulerHook.after_train_iter api/generated/mmengine.hooks.ParamSchedulerHook.html#mmengine.hooks.ParamSchedulerHook.after_train_iter - mmengine.hooks.ParamSchedulerHook.after_val_epoch api/generated/mmengine.hooks.ParamSchedulerHook.html#mmengine.hooks.ParamSchedulerHook.after_val_epoch - mmengine.hooks.PrepareTTAHook.before_test api/generated/mmengine.hooks.PrepareTTAHook.html#mmengine.hooks.PrepareTTAHook.before_test - mmengine.hooks.ProfilerHook.after_train_epoch api/generated/mmengine.hooks.ProfilerHook.html#mmengine.hooks.ProfilerHook.after_train_epoch - mmengine.hooks.ProfilerHook.after_train_iter api/generated/mmengine.hooks.ProfilerHook.html#mmengine.hooks.ProfilerHook.after_train_iter - mmengine.hooks.ProfilerHook.before_run api/generated/mmengine.hooks.ProfilerHook.html#mmengine.hooks.ProfilerHook.before_run - mmengine.hooks.RuntimeInfoHook.after_test_epoch api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook.after_test_epoch - mmengine.hooks.RuntimeInfoHook.after_train_iter api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook.after_train_iter - mmengine.hooks.RuntimeInfoHook.after_val_epoch api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook.after_val_epoch - mmengine.hooks.RuntimeInfoHook.before_run api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook.before_run - mmengine.hooks.RuntimeInfoHook.before_train api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook.before_train - mmengine.hooks.RuntimeInfoHook.before_train_epoch api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook.before_train_epoch - mmengine.hooks.RuntimeInfoHook.before_train_iter api/generated/mmengine.hooks.RuntimeInfoHook.html#mmengine.hooks.RuntimeInfoHook.before_train_iter - mmengine.hooks.SyncBuffersHook.after_train_epoch api/generated/mmengine.hooks.SyncBuffersHook.html#mmengine.hooks.SyncBuffersHook.after_train_epoch - mmengine.infer.BaseInferencer.forward api/generated/mmengine.infer.BaseInferencer.html#mmengine.infer.BaseInferencer.forward - mmengine.infer.BaseInferencer.list_models api/generated/mmengine.infer.BaseInferencer.html#mmengine.infer.BaseInferencer.list_models - mmengine.infer.BaseInferencer.postprocess api/generated/mmengine.infer.BaseInferencer.html#mmengine.infer.BaseInferencer.postprocess - mmengine.infer.BaseInferencer.preprocess api/generated/mmengine.infer.BaseInferencer.html#mmengine.infer.BaseInferencer.preprocess - mmengine.infer.BaseInferencer.visualize api/generated/mmengine.infer.BaseInferencer.html#mmengine.infer.BaseInferencer.visualize - mmengine.logging.HistoryBuffer.current api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.current - mmengine.logging.HistoryBuffer.max api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.max - mmengine.logging.HistoryBuffer.mean api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.mean - mmengine.logging.HistoryBuffer.min api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.min - mmengine.logging.HistoryBuffer.register_statistics api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.register_statistics - mmengine.logging.HistoryBuffer.statistics api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.statistics - mmengine.logging.HistoryBuffer.update api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.update - mmengine.logging.MMLogger.callHandlers api/generated/mmengine.logging.MMLogger.html#mmengine.logging.MMLogger.callHandlers - mmengine.logging.MMLogger.get_current_instance api/generated/mmengine.logging.MMLogger.html#mmengine.logging.MMLogger.get_current_instance - mmengine.logging.MMLogger.setLevel api/generated/mmengine.logging.MMLogger.html#mmengine.logging.MMLogger.setLevel - mmengine.logging.MessageHub.get_current_instance api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.get_current_instance - mmengine.logging.MessageHub.get_info api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.get_info - mmengine.logging.MessageHub.get_scalar api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.get_scalar - mmengine.logging.MessageHub.load_state_dict api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.load_state_dict - mmengine.logging.MessageHub.state_dict api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.state_dict - mmengine.logging.MessageHub.update_info api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.update_info - mmengine.logging.MessageHub.update_info_dict api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.update_info_dict - mmengine.logging.MessageHub.update_scalar api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.update_scalar - mmengine.logging.MessageHub.update_scalars api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.update_scalars - mmengine.model.BaseAveragedModel.avg_func api/generated/mmengine.model.BaseAveragedModel.html#mmengine.model.BaseAveragedModel.avg_func - mmengine.model.BaseAveragedModel.forward api/generated/mmengine.model.BaseAveragedModel.html#mmengine.model.BaseAveragedModel.forward - mmengine.model.BaseAveragedModel.update_parameters api/generated/mmengine.model.BaseAveragedModel.html#mmengine.model.BaseAveragedModel.update_parameters - mmengine.model.BaseDataPreprocessor.cast_data api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor.cast_data - mmengine.model.BaseDataPreprocessor.cpu api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor.cpu - mmengine.model.BaseDataPreprocessor.cuda api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor.cuda - mmengine.model.BaseDataPreprocessor.forward api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor.forward - mmengine.model.BaseDataPreprocessor.npu api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor.npu - mmengine.model.BaseDataPreprocessor.to api/generated/mmengine.model.BaseDataPreprocessor.html#mmengine.model.BaseDataPreprocessor.to - mmengine.model.BaseModel.cpu api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.cpu - mmengine.model.BaseModel.cuda api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.cuda - mmengine.model.BaseModel.forward api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.forward - mmengine.model.BaseModel.npu api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.npu - mmengine.model.BaseModel.parse_losses api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.parse_losses - mmengine.model.BaseModel.test_step api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.test_step - mmengine.model.BaseModel.to api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.to - mmengine.model.BaseModel.train_step api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.train_step - mmengine.model.BaseModel.val_step api/generated/mmengine.model.BaseModel.html#mmengine.model.BaseModel.val_step - mmengine.model.BaseModule.init_weights api/generated/mmengine.model.BaseModule.html#mmengine.model.BaseModule.init_weights - mmengine.model.BaseTTAModel.forward api/generated/mmengine.model.BaseTTAModel.html#mmengine.model.BaseTTAModel.forward - mmengine.model.BaseTTAModel.merge_preds api/generated/mmengine.model.BaseTTAModel.html#mmengine.model.BaseTTAModel.merge_preds - mmengine.model.BaseTTAModel.test_step api/generated/mmengine.model.BaseTTAModel.html#mmengine.model.BaseTTAModel.test_step - mmengine.model.ExponentialMovingAverage.avg_func api/generated/mmengine.model.ExponentialMovingAverage.html#mmengine.model.ExponentialMovingAverage.avg_func - mmengine.model.ImgDataPreprocessor.forward api/generated/mmengine.model.ImgDataPreprocessor.html#mmengine.model.ImgDataPreprocessor.forward - mmengine.model.MMDistributedDataParallel.test_step api/generated/mmengine.model.MMDistributedDataParallel.html#mmengine.model.MMDistributedDataParallel.test_step - mmengine.model.MMDistributedDataParallel.train_step api/generated/mmengine.model.MMDistributedDataParallel.html#mmengine.model.MMDistributedDataParallel.train_step - mmengine.model.MMDistributedDataParallel.val_step api/generated/mmengine.model.MMDistributedDataParallel.html#mmengine.model.MMDistributedDataParallel.val_step - mmengine.model.MMFullyShardedDataParallel.test_step api/generated/mmengine.model.MMFullyShardedDataParallel.html#mmengine.model.MMFullyShardedDataParallel.test_step - mmengine.model.MMFullyShardedDataParallel.train_step api/generated/mmengine.model.MMFullyShardedDataParallel.html#mmengine.model.MMFullyShardedDataParallel.train_step - mmengine.model.MMFullyShardedDataParallel.val_step api/generated/mmengine.model.MMFullyShardedDataParallel.html#mmengine.model.MMFullyShardedDataParallel.val_step - mmengine.model.MMSeparateDistributedDataParallel.no_sync api/generated/mmengine.model.MMSeparateDistributedDataParallel.html#mmengine.model.MMSeparateDistributedDataParallel.no_sync - mmengine.model.MMSeparateDistributedDataParallel.test_step api/generated/mmengine.model.MMSeparateDistributedDataParallel.html#mmengine.model.MMSeparateDistributedDataParallel.test_step - mmengine.model.MMSeparateDistributedDataParallel.train api/generated/mmengine.model.MMSeparateDistributedDataParallel.html#mmengine.model.MMSeparateDistributedDataParallel.train - mmengine.model.MMSeparateDistributedDataParallel.train_step api/generated/mmengine.model.MMSeparateDistributedDataParallel.html#mmengine.model.MMSeparateDistributedDataParallel.train_step - mmengine.model.MMSeparateDistributedDataParallel.val_step api/generated/mmengine.model.MMSeparateDistributedDataParallel.html#mmengine.model.MMSeparateDistributedDataParallel.val_step - mmengine.model.MomentumAnnealingEMA.avg_func api/generated/mmengine.model.MomentumAnnealingEMA.html#mmengine.model.MomentumAnnealingEMA.avg_func - mmengine.model.StochasticWeightAverage.avg_func api/generated/mmengine.model.StochasticWeightAverage.html#mmengine.model.StochasticWeightAverage.avg_func - mmengine.optim.AmpOptimWrapper.backward api/generated/mmengine.optim.AmpOptimWrapper.html#mmengine.optim.AmpOptimWrapper.backward - mmengine.optim.AmpOptimWrapper.load_state_dict api/generated/mmengine.optim.AmpOptimWrapper.html#mmengine.optim.AmpOptimWrapper.load_state_dict - mmengine.optim.AmpOptimWrapper.optim_context api/generated/mmengine.optim.AmpOptimWrapper.html#mmengine.optim.AmpOptimWrapper.optim_context - mmengine.optim.AmpOptimWrapper.state_dict api/generated/mmengine.optim.AmpOptimWrapper.html#mmengine.optim.AmpOptimWrapper.state_dict - mmengine.optim.AmpOptimWrapper.step api/generated/mmengine.optim.AmpOptimWrapper.html#mmengine.optim.AmpOptimWrapper.step - mmengine.optim.ApexOptimWrapper.backward api/generated/mmengine.optim.ApexOptimWrapper.html#mmengine.optim.ApexOptimWrapper.backward - mmengine.optim.ApexOptimWrapper.load_state_dict api/generated/mmengine.optim.ApexOptimWrapper.html#mmengine.optim.ApexOptimWrapper.load_state_dict - mmengine.optim.ApexOptimWrapper.optim_context api/generated/mmengine.optim.ApexOptimWrapper.html#mmengine.optim.ApexOptimWrapper.optim_context - mmengine.optim.ApexOptimWrapper.state_dict api/generated/mmengine.optim.ApexOptimWrapper.html#mmengine.optim.ApexOptimWrapper.state_dict - mmengine.optim.ConstantParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.ConstantParamScheduler.html#mmengine.optim.ConstantParamScheduler.build_iter_from_epoch - mmengine.optim.CosineAnnealingParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.CosineAnnealingParamScheduler.html#mmengine.optim.CosineAnnealingParamScheduler.build_iter_from_epoch - mmengine.optim.DefaultOptimWrapperConstructor.add_params api/generated/mmengine.optim.DefaultOptimWrapperConstructor.html#mmengine.optim.DefaultOptimWrapperConstructor.add_params - mmengine.optim.ExponentialParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.ExponentialParamScheduler.html#mmengine.optim.ExponentialParamScheduler.build_iter_from_epoch - mmengine.optim.LinearParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.LinearParamScheduler.html#mmengine.optim.LinearParamScheduler.build_iter_from_epoch - mmengine.optim.MultiStepParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.MultiStepParamScheduler.html#mmengine.optim.MultiStepParamScheduler.build_iter_from_epoch - mmengine.optim.OneCycleParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.OneCycleParamScheduler.html#mmengine.optim.OneCycleParamScheduler.build_iter_from_epoch - mmengine.optim.OptimWrapper.backward api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.backward - mmengine.optim.OptimWrapper.get_lr api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.get_lr - mmengine.optim.OptimWrapper.get_momentum api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.get_momentum - mmengine.optim.OptimWrapper.initialize_count_status api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.initialize_count_status - mmengine.optim.OptimWrapper.load_state_dict api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.load_state_dict - mmengine.optim.OptimWrapper.optim_context api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.optim_context - mmengine.optim.OptimWrapper.scale_loss api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.scale_loss - mmengine.optim.OptimWrapper.should_sync api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.should_sync - mmengine.optim.OptimWrapper.should_update api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.should_update - mmengine.optim.OptimWrapper.state_dict api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.state_dict - mmengine.optim.OptimWrapper.step api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.step - mmengine.optim.OptimWrapper.update_params api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.update_params - mmengine.optim.OptimWrapper.zero_grad api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.zero_grad - mmengine.optim.OptimWrapperDict.backward api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.backward - mmengine.optim.OptimWrapperDict.get_lr api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.get_lr - mmengine.optim.OptimWrapperDict.get_momentum api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.get_momentum - mmengine.optim.OptimWrapperDict.initialize_count_status api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.initialize_count_status - mmengine.optim.OptimWrapperDict.items api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.items - mmengine.optim.OptimWrapperDict.keys api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.keys - mmengine.optim.OptimWrapperDict.load_state_dict api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.load_state_dict - mmengine.optim.OptimWrapperDict.optim_context api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.optim_context - mmengine.optim.OptimWrapperDict.state_dict api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.state_dict - mmengine.optim.OptimWrapperDict.step api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.step - mmengine.optim.OptimWrapperDict.update_params api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.update_params - mmengine.optim.OptimWrapperDict.values api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.values - mmengine.optim.OptimWrapperDict.zero_grad api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.zero_grad - mmengine.optim.PolyParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.PolyParamScheduler.html#mmengine.optim.PolyParamScheduler.build_iter_from_epoch - mmengine.optim.ReduceOnPlateauMomentum.step api/generated/mmengine.optim.ReduceOnPlateauMomentum.html#mmengine.optim.ReduceOnPlateauMomentum.step - mmengine.optim.ReduceOnPlateauParamScheduler.print_value api/generated/mmengine.optim.ReduceOnPlateauParamScheduler.html#mmengine.optim.ReduceOnPlateauParamScheduler.print_value - mmengine.optim.ReduceOnPlateauParamScheduler.step api/generated/mmengine.optim.ReduceOnPlateauParamScheduler.html#mmengine.optim.ReduceOnPlateauParamScheduler.step - mmengine.optim.StepParamScheduler.build_iter_from_epoch api/generated/mmengine.optim.StepParamScheduler.html#mmengine.optim.StepParamScheduler.build_iter_from_epoch - mmengine.optim.ZeroRedundancyOptimizer.state_dict api/generated/mmengine.optim.ZeroRedundancyOptimizer.html#mmengine.optim.ZeroRedundancyOptimizer.state_dict - mmengine.optim._ParamScheduler.get_last_value api/generated/mmengine.optim._ParamScheduler.html#mmengine.optim._ParamScheduler.get_last_value - mmengine.optim._ParamScheduler.load_state_dict api/generated/mmengine.optim._ParamScheduler.html#mmengine.optim._ParamScheduler.load_state_dict - mmengine.optim._ParamScheduler.print_value api/generated/mmengine.optim._ParamScheduler.html#mmengine.optim._ParamScheduler.print_value - mmengine.optim._ParamScheduler.state_dict api/generated/mmengine.optim._ParamScheduler.html#mmengine.optim._ParamScheduler.state_dict - mmengine.optim._ParamScheduler.step api/generated/mmengine.optim._ParamScheduler.html#mmengine.optim._ParamScheduler.step - mmengine.registry.DefaultScope.get_current_instance api/generated/mmengine.registry.DefaultScope.html#mmengine.registry.DefaultScope.get_current_instance - mmengine.registry.DefaultScope.overwrite_default_scope api/generated/mmengine.registry.DefaultScope.html#mmengine.registry.DefaultScope.overwrite_default_scope - mmengine.registry.Registry.build api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry.build - mmengine.registry.Registry.get api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry.get - mmengine.registry.Registry.import_from_location api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry.import_from_location - mmengine.registry.Registry.infer_scope api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry.infer_scope - mmengine.registry.Registry.register_module api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry.register_module - mmengine.registry.Registry.split_scope_key api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry.split_scope_key - mmengine.registry.Registry.switch_scope_and_registry api/generated/mmengine.registry.Registry.html#mmengine.registry.Registry.switch_scope_and_registry - mmengine.runner.BaseLoop.run api/generated/mmengine.runner.BaseLoop.html#mmengine.runner.BaseLoop.run - mmengine.runner.CheckpointLoader.load_checkpoint api/generated/mmengine.runner.CheckpointLoader.html#mmengine.runner.CheckpointLoader.load_checkpoint - mmengine.runner.CheckpointLoader.register_scheme api/generated/mmengine.runner.CheckpointLoader.html#mmengine.runner.CheckpointLoader.register_scheme - mmengine.runner.EpochBasedTrainLoop.run api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop.run - mmengine.runner.EpochBasedTrainLoop.run_epoch api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop.run_epoch - mmengine.runner.EpochBasedTrainLoop.run_iter api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop.run_iter - mmengine.runner.IterBasedTrainLoop.run api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop.run - mmengine.runner.IterBasedTrainLoop.run_iter api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop.run_iter - mmengine.runner.LogProcessor.get_log_after_epoch api/generated/mmengine.runner.LogProcessor.html#mmengine.runner.LogProcessor.get_log_after_epoch - mmengine.runner.LogProcessor.get_log_after_iter api/generated/mmengine.runner.LogProcessor.html#mmengine.runner.LogProcessor.get_log_after_iter - mmengine.runner.Runner.build_dataloader api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_dataloader - mmengine.runner.Runner.build_evaluator api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_evaluator - mmengine.runner.Runner.build_log_processor api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_log_processor - mmengine.runner.Runner.build_logger api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_logger - mmengine.runner.Runner.build_message_hub api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_message_hub - mmengine.runner.Runner.build_model api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_model - mmengine.runner.Runner.build_optim_wrapper api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_optim_wrapper - mmengine.runner.Runner.build_param_scheduler api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_param_scheduler - mmengine.runner.Runner.build_test_loop api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_test_loop - mmengine.runner.Runner.build_train_loop api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_train_loop - mmengine.runner.Runner.build_val_loop api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_val_loop - mmengine.runner.Runner.build_visualizer api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.build_visualizer - mmengine.runner.Runner.call_hook api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.call_hook - mmengine.runner.Runner.dump_config api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.dump_config - mmengine.runner.Runner.from_cfg api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.from_cfg - mmengine.runner.Runner.load_checkpoint api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.load_checkpoint - mmengine.runner.Runner.load_or_resume api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.load_or_resume - mmengine.runner.Runner.register_custom_hooks api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.register_custom_hooks - mmengine.runner.Runner.register_default_hooks api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.register_default_hooks - mmengine.runner.Runner.register_hook api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.register_hook - mmengine.runner.Runner.register_hooks api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.register_hooks - mmengine.runner.Runner.resume api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.resume - mmengine.runner.Runner.save_checkpoint api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.save_checkpoint - mmengine.runner.Runner.scale_lr api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.scale_lr - mmengine.runner.Runner.set_randomness api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.set_randomness - mmengine.runner.Runner.setup_env api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.setup_env - mmengine.runner.Runner.test api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.test - mmengine.runner.Runner.train api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.train - mmengine.runner.Runner.val api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.val - mmengine.runner.Runner.wrap_model api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.wrap_model - mmengine.runner.TestLoop.run api/generated/mmengine.runner.TestLoop.html#mmengine.runner.TestLoop.run - mmengine.runner.TestLoop.run_iter api/generated/mmengine.runner.TestLoop.html#mmengine.runner.TestLoop.run_iter - mmengine.runner.ValLoop.run api/generated/mmengine.runner.ValLoop.html#mmengine.runner.ValLoop.run - mmengine.runner.ValLoop.run_iter api/generated/mmengine.runner.ValLoop.html#mmengine.runner.ValLoop.run_iter - mmengine.structures.BaseDataElement.all_items api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.all_items - mmengine.structures.BaseDataElement.all_keys api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.all_keys - mmengine.structures.BaseDataElement.all_values api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.all_values - mmengine.structures.BaseDataElement.clone api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.clone - mmengine.structures.BaseDataElement.cpu api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.cpu - mmengine.structures.BaseDataElement.cuda api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.cuda - mmengine.structures.BaseDataElement.detach api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.detach - mmengine.structures.BaseDataElement.get api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.get - mmengine.structures.BaseDataElement.items api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.items - mmengine.structures.BaseDataElement.keys api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.keys - mmengine.structures.BaseDataElement.metainfo_items api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.metainfo_items - mmengine.structures.BaseDataElement.metainfo_keys api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.metainfo_keys - mmengine.structures.BaseDataElement.metainfo_values api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.metainfo_values - mmengine.structures.BaseDataElement.new api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.new - mmengine.structures.BaseDataElement.npu api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.npu - mmengine.structures.BaseDataElement.numpy api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.numpy - mmengine.structures.BaseDataElement.pop api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.pop - mmengine.structures.BaseDataElement.set_data api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.set_data - mmengine.structures.BaseDataElement.set_field api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.set_field - mmengine.structures.BaseDataElement.set_metainfo api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.set_metainfo - mmengine.structures.BaseDataElement.to api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.to - mmengine.structures.BaseDataElement.to_dict api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.to_dict - mmengine.structures.BaseDataElement.to_tensor api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.to_tensor - mmengine.structures.BaseDataElement.update api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.update - mmengine.structures.BaseDataElement.values api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.values - mmengine.structures.InstanceData.cat api/generated/mmengine.structures.InstanceData.html#mmengine.structures.InstanceData.cat - mmengine.structures.LabelData.label_to_onehot api/generated/mmengine.structures.LabelData.html#mmengine.structures.LabelData.label_to_onehot - mmengine.structures.LabelData.onehot_to_label api/generated/mmengine.structures.LabelData.html#mmengine.structures.LabelData.onehot_to_label - mmengine.utils.ManagerMixin.check_instance_created api/generated/mmengine.utils.ManagerMixin.html#mmengine.utils.ManagerMixin.check_instance_created - mmengine.utils.ManagerMixin.get_current_instance api/generated/mmengine.utils.ManagerMixin.html#mmengine.utils.ManagerMixin.get_current_instance - mmengine.utils.ManagerMixin.get_instance api/generated/mmengine.utils.ManagerMixin.html#mmengine.utils.ManagerMixin.get_instance - mmengine.utils.Timer.since_last_check api/generated/mmengine.utils.Timer.html#mmengine.utils.Timer.since_last_check - mmengine.utils.Timer.since_start api/generated/mmengine.utils.Timer.html#mmengine.utils.Timer.since_start - mmengine.utils.Timer.start api/generated/mmengine.utils.Timer.html#mmengine.utils.Timer.start - mmengine.utils.dl_utils.TimeCounter.print_time api/generated/mmengine.utils.dl_utils.TimeCounter.html#mmengine.utils.dl_utils.TimeCounter.print_time - mmengine.visualization.BaseVisBackend.add_config api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend.add_config - mmengine.visualization.BaseVisBackend.add_graph api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend.add_graph - mmengine.visualization.BaseVisBackend.add_image api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend.add_image - mmengine.visualization.BaseVisBackend.add_scalar api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend.add_scalar - mmengine.visualization.BaseVisBackend.add_scalars api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend.add_scalars - mmengine.visualization.BaseVisBackend.close api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend.close - mmengine.visualization.LocalVisBackend.add_config api/generated/mmengine.visualization.LocalVisBackend.html#mmengine.visualization.LocalVisBackend.add_config - mmengine.visualization.LocalVisBackend.add_image api/generated/mmengine.visualization.LocalVisBackend.html#mmengine.visualization.LocalVisBackend.add_image - mmengine.visualization.LocalVisBackend.add_scalar api/generated/mmengine.visualization.LocalVisBackend.html#mmengine.visualization.LocalVisBackend.add_scalar - mmengine.visualization.LocalVisBackend.add_scalars api/generated/mmengine.visualization.LocalVisBackend.html#mmengine.visualization.LocalVisBackend.add_scalars - mmengine.visualization.TensorboardVisBackend.add_config api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend.add_config - mmengine.visualization.TensorboardVisBackend.add_image api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend.add_image - mmengine.visualization.TensorboardVisBackend.add_scalar api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend.add_scalar - mmengine.visualization.TensorboardVisBackend.add_scalars api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend.add_scalars - mmengine.visualization.TensorboardVisBackend.close api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend.close - mmengine.visualization.Visualizer.add_config api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.add_config - mmengine.visualization.Visualizer.add_datasample api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.add_datasample - mmengine.visualization.Visualizer.add_graph api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.add_graph - mmengine.visualization.Visualizer.add_image api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.add_image - mmengine.visualization.Visualizer.add_scalar api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.add_scalar - mmengine.visualization.Visualizer.add_scalars api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.add_scalars - mmengine.visualization.Visualizer.close api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.close - mmengine.visualization.Visualizer.draw_bboxes api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_bboxes - mmengine.visualization.Visualizer.draw_binary_masks api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_binary_masks - mmengine.visualization.Visualizer.draw_circles api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_circles - mmengine.visualization.Visualizer.draw_featmap api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_featmap - mmengine.visualization.Visualizer.draw_lines api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_lines - mmengine.visualization.Visualizer.draw_points api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_points - mmengine.visualization.Visualizer.draw_polygons api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_polygons - mmengine.visualization.Visualizer.draw_texts api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.draw_texts - mmengine.visualization.Visualizer.get_backend api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.get_backend - mmengine.visualization.Visualizer.get_image api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.get_image - mmengine.visualization.Visualizer.get_instance api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.get_instance - mmengine.visualization.Visualizer.set_image api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.set_image - mmengine.visualization.Visualizer.show api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.show - mmengine.visualization.WandbVisBackend.add_config api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend.add_config - mmengine.visualization.WandbVisBackend.add_graph api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend.add_graph - mmengine.visualization.WandbVisBackend.add_image api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend.add_image - mmengine.visualization.WandbVisBackend.add_scalar api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend.add_scalar - mmengine.visualization.WandbVisBackend.add_scalars api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend.add_scalars - mmengine.visualization.WandbVisBackend.close api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend.close -py:property - mmengine.config.Config.env_variables api/generated/mmengine.config.Config.html#mmengine.config.Config.env_variables - mmengine.config.Config.filename api/generated/mmengine.config.Config.html#mmengine.config.Config.filename - mmengine.config.Config.pretty_text api/generated/mmengine.config.Config.html#mmengine.config.Config.pretty_text - mmengine.config.Config.text api/generated/mmengine.config.Config.html#mmengine.config.Config.text - mmengine.dataset.BaseDataset.metainfo api/generated/mmengine.dataset.BaseDataset.html#mmengine.dataset.BaseDataset.metainfo - mmengine.dataset.ClassBalancedDataset.metainfo api/generated/mmengine.dataset.ClassBalancedDataset.html#mmengine.dataset.ClassBalancedDataset.metainfo - mmengine.dataset.ConcatDataset.metainfo api/generated/mmengine.dataset.ConcatDataset.html#mmengine.dataset.ConcatDataset.metainfo - mmengine.dataset.RepeatDataset.metainfo api/generated/mmengine.dataset.RepeatDataset.html#mmengine.dataset.RepeatDataset.metainfo - mmengine.evaluator.BaseMetric.dataset_meta api/generated/mmengine.evaluator.BaseMetric.html#mmengine.evaluator.BaseMetric.dataset_meta - mmengine.evaluator.Evaluator.dataset_meta api/generated/mmengine.evaluator.Evaluator.html#mmengine.evaluator.Evaluator.dataset_meta - mmengine.logging.HistoryBuffer.data api/generated/mmengine.logging.HistoryBuffer.html#mmengine.logging.HistoryBuffer.data - mmengine.logging.MessageHub.log_scalars api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.log_scalars - mmengine.logging.MessageHub.runtime_info api/generated/mmengine.logging.MessageHub.html#mmengine.logging.MessageHub.runtime_info - mmengine.optim.OptimWrapper.defaults api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.defaults - mmengine.optim.OptimWrapper.inner_count api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.inner_count - mmengine.optim.OptimWrapper.param_groups api/generated/mmengine.optim.OptimWrapper.html#mmengine.optim.OptimWrapper.param_groups - mmengine.optim.OptimWrapperDict.param_groups api/generated/mmengine.optim.OptimWrapperDict.html#mmengine.optim.OptimWrapperDict.param_groups - mmengine.registry.DefaultScope.scope_name api/generated/mmengine.registry.DefaultScope.html#mmengine.registry.DefaultScope.scope_name - mmengine.runner.EpochBasedTrainLoop.epoch api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop.epoch - mmengine.runner.EpochBasedTrainLoop.iter api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop.iter - mmengine.runner.EpochBasedTrainLoop.max_epochs api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop.max_epochs - mmengine.runner.EpochBasedTrainLoop.max_iters api/generated/mmengine.runner.EpochBasedTrainLoop.html#mmengine.runner.EpochBasedTrainLoop.max_iters - mmengine.runner.IterBasedTrainLoop.epoch api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop.epoch - mmengine.runner.IterBasedTrainLoop.iter api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop.iter - mmengine.runner.IterBasedTrainLoop.max_epochs api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop.max_epochs - mmengine.runner.IterBasedTrainLoop.max_iters api/generated/mmengine.runner.IterBasedTrainLoop.html#mmengine.runner.IterBasedTrainLoop.max_iters - mmengine.runner.Runner.deterministic api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.deterministic - mmengine.runner.Runner.distributed api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.distributed - mmengine.runner.Runner.epoch api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.epoch - mmengine.runner.Runner.experiment_name api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.experiment_name - mmengine.runner.Runner.hooks api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.hooks - mmengine.runner.Runner.iter api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.iter - mmengine.runner.Runner.launcher api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.launcher - mmengine.runner.Runner.max_epochs api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.max_epochs - mmengine.runner.Runner.max_iters api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.max_iters - mmengine.runner.Runner.model_name api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.model_name - mmengine.runner.Runner.rank api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.rank - mmengine.runner.Runner.seed api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.seed - mmengine.runner.Runner.test_dataloader api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.test_dataloader - mmengine.runner.Runner.test_evaluator api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.test_evaluator - mmengine.runner.Runner.test_loop api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.test_loop - mmengine.runner.Runner.timestamp api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.timestamp - mmengine.runner.Runner.train_dataloader api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.train_dataloader - mmengine.runner.Runner.train_loop api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.train_loop - mmengine.runner.Runner.val_begin api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.val_begin - mmengine.runner.Runner.val_dataloader api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.val_dataloader - mmengine.runner.Runner.val_evaluator api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.val_evaluator - mmengine.runner.Runner.val_interval api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.val_interval - mmengine.runner.Runner.val_loop api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.val_loop - mmengine.runner.Runner.work_dir api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.work_dir - mmengine.runner.Runner.world_size api/generated/mmengine.runner.Runner.html#mmengine.runner.Runner.world_size - mmengine.structures.BaseDataElement.metainfo api/generated/mmengine.structures.BaseDataElement.html#mmengine.structures.BaseDataElement.metainfo - mmengine.structures.PixelData.shape api/generated/mmengine.structures.PixelData.html#mmengine.structures.PixelData.shape - mmengine.utils.ManagerMixin.instance_name api/generated/mmengine.utils.ManagerMixin.html#mmengine.utils.ManagerMixin.instance_name - mmengine.utils.Timer.is_running api/generated/mmengine.utils.Timer.html#mmengine.utils.Timer.is_running - mmengine.visualization.BaseVisBackend.experiment api/generated/mmengine.visualization.BaseVisBackend.html#mmengine.visualization.BaseVisBackend.experiment - mmengine.visualization.LocalVisBackend.experiment api/generated/mmengine.visualization.LocalVisBackend.html#mmengine.visualization.LocalVisBackend.experiment - mmengine.visualization.TensorboardVisBackend.experiment api/generated/mmengine.visualization.TensorboardVisBackend.html#mmengine.visualization.TensorboardVisBackend.experiment - mmengine.visualization.Visualizer.dataset_meta api/generated/mmengine.visualization.Visualizer.html#mmengine.visualization.Visualizer.dataset_meta - mmengine.visualization.WandbVisBackend.experiment api/generated/mmengine.visualization.WandbVisBackend.html#mmengine.visualization.WandbVisBackend.experiment -std:doc - advanced_tutorials/basedataset 数据集基类(BaseDataset) : advanced_tutorials/basedataset.html - advanced_tutorials/config 配置(Config) : advanced_tutorials/config.html - advanced_tutorials/cross_library 跨库调用模块 : advanced_tutorials/cross_library.html - advanced_tutorials/data_element 抽象数据接口 : advanced_tutorials/data_element.html - advanced_tutorials/data_transform 数据变换 (Data Transform) : advanced_tutorials/data_transform.html - advanced_tutorials/distributed 分布式通信原语 : advanced_tutorials/distributed.html - advanced_tutorials/fileio 文件读写 : advanced_tutorials/fileio.html - advanced_tutorials/initialize 权重初始化 : advanced_tutorials/initialize.html - advanced_tutorials/logging 记录日志 : advanced_tutorials/logging.html - advanced_tutorials/manager_mixin 全局管理器(ManagerMixin) : advanced_tutorials/manager_mixin.html - advanced_tutorials/registry 注册器(Registry) : advanced_tutorials/registry.html - advanced_tutorials/test_time_augmentation 测试时增强(Test time augmentation) : advanced_tutorials/test_time_augmentation.html - advanced_tutorials/visualization 可视化 : advanced_tutorials/visualization.html - api/config mmengine.config : api/config.html - api/dataset mmengine.dataset : api/dataset.html - api/device mmengine.device : api/device.html - api/dist mmengine.dist : api/dist.html - api/evaluator mmengine.evaluator : api/evaluator.html - api/fileio mmengine.fileio : api/fileio.html - api/generated/mmengine.config.Config Config : api/generated/mmengine.config.Config.html - api/generated/mmengine.config.ConfigDict ConfigDict : api/generated/mmengine.config.ConfigDict.html - api/generated/mmengine.config.DictAction DictAction : api/generated/mmengine.config.DictAction.html - api/generated/mmengine.dataset.BaseDataset BaseDataset : api/generated/mmengine.dataset.BaseDataset.html - api/generated/mmengine.dataset.ClassBalancedDataset ClassBalancedDataset : api/generated/mmengine.dataset.ClassBalancedDataset.html - api/generated/mmengine.dataset.Compose Compose : api/generated/mmengine.dataset.Compose.html - api/generated/mmengine.dataset.ConcatDataset ConcatDataset : api/generated/mmengine.dataset.ConcatDataset.html - api/generated/mmengine.dataset.DefaultSampler DefaultSampler : api/generated/mmengine.dataset.DefaultSampler.html - api/generated/mmengine.dataset.InfiniteSampler InfiniteSampler : api/generated/mmengine.dataset.InfiniteSampler.html - api/generated/mmengine.dataset.RepeatDataset RepeatDataset : api/generated/mmengine.dataset.RepeatDataset.html - api/generated/mmengine.dataset.default_collate mmengine.dataset.default_collate : api/generated/mmengine.dataset.default_collate.html - api/generated/mmengine.dataset.pseudo_collate mmengine.dataset.pseudo_collate : api/generated/mmengine.dataset.pseudo_collate.html - api/generated/mmengine.dataset.worker_init_fn mmengine.dataset.worker_init_fn : api/generated/mmengine.dataset.worker_init_fn.html - api/generated/mmengine.device.get_device mmengine.device.get_device : api/generated/mmengine.device.get_device.html - api/generated/mmengine.device.get_max_cuda_memory mmengine.device.get_max_cuda_memory : api/generated/mmengine.device.get_max_cuda_memory.html - api/generated/mmengine.device.is_cuda_available mmengine.device.is_cuda_available : api/generated/mmengine.device.is_cuda_available.html - api/generated/mmengine.device.is_mlu_available mmengine.device.is_mlu_available : api/generated/mmengine.device.is_mlu_available.html - api/generated/mmengine.device.is_mps_available mmengine.device.is_mps_available : api/generated/mmengine.device.is_mps_available.html - api/generated/mmengine.device.is_npu_available mmengine.device.is_npu_available : api/generated/mmengine.device.is_npu_available.html - api/generated/mmengine.dist.all_gather mmengine.dist.all_gather : api/generated/mmengine.dist.all_gather.html - api/generated/mmengine.dist.all_gather_object mmengine.dist.all_gather_object : api/generated/mmengine.dist.all_gather_object.html - api/generated/mmengine.dist.all_reduce mmengine.dist.all_reduce : api/generated/mmengine.dist.all_reduce.html - api/generated/mmengine.dist.all_reduce_dict mmengine.dist.all_reduce_dict : api/generated/mmengine.dist.all_reduce_dict.html - api/generated/mmengine.dist.all_reduce_params mmengine.dist.all_reduce_params : api/generated/mmengine.dist.all_reduce_params.html - api/generated/mmengine.dist.barrier mmengine.dist.barrier : api/generated/mmengine.dist.barrier.html - api/generated/mmengine.dist.broadcast mmengine.dist.broadcast : api/generated/mmengine.dist.broadcast.html - api/generated/mmengine.dist.broadcast_object_list mmengine.dist.broadcast_object_list : api/generated/mmengine.dist.broadcast_object_list.html - api/generated/mmengine.dist.cast_data_device mmengine.dist.cast_data_device : api/generated/mmengine.dist.cast_data_device.html - api/generated/mmengine.dist.collect_results mmengine.dist.collect_results : api/generated/mmengine.dist.collect_results.html - api/generated/mmengine.dist.collect_results_cpu mmengine.dist.collect_results_cpu : api/generated/mmengine.dist.collect_results_cpu.html - api/generated/mmengine.dist.collect_results_gpu mmengine.dist.collect_results_gpu : api/generated/mmengine.dist.collect_results_gpu.html - api/generated/mmengine.dist.gather mmengine.dist.gather : api/generated/mmengine.dist.gather.html - api/generated/mmengine.dist.gather_object mmengine.dist.gather_object : api/generated/mmengine.dist.gather_object.html - api/generated/mmengine.dist.get_backend mmengine.dist.get_backend : api/generated/mmengine.dist.get_backend.html - api/generated/mmengine.dist.get_comm_device mmengine.dist.get_comm_device : api/generated/mmengine.dist.get_comm_device.html - api/generated/mmengine.dist.get_data_device mmengine.dist.get_data_device : api/generated/mmengine.dist.get_data_device.html - api/generated/mmengine.dist.get_default_group mmengine.dist.get_default_group : api/generated/mmengine.dist.get_default_group.html - api/generated/mmengine.dist.get_dist_info mmengine.dist.get_dist_info : api/generated/mmengine.dist.get_dist_info.html - api/generated/mmengine.dist.get_local_group mmengine.dist.get_local_group : api/generated/mmengine.dist.get_local_group.html - api/generated/mmengine.dist.get_local_rank mmengine.dist.get_local_rank : api/generated/mmengine.dist.get_local_rank.html - api/generated/mmengine.dist.get_local_size mmengine.dist.get_local_size : api/generated/mmengine.dist.get_local_size.html - api/generated/mmengine.dist.get_rank mmengine.dist.get_rank : api/generated/mmengine.dist.get_rank.html - api/generated/mmengine.dist.get_world_size mmengine.dist.get_world_size : api/generated/mmengine.dist.get_world_size.html - api/generated/mmengine.dist.init_dist mmengine.dist.init_dist : api/generated/mmengine.dist.init_dist.html - api/generated/mmengine.dist.init_local_group mmengine.dist.init_local_group : api/generated/mmengine.dist.init_local_group.html - api/generated/mmengine.dist.is_distributed mmengine.dist.is_distributed : api/generated/mmengine.dist.is_distributed.html - api/generated/mmengine.dist.is_main_process mmengine.dist.is_main_process : api/generated/mmengine.dist.is_main_process.html - api/generated/mmengine.dist.master_only mmengine.dist.master_only : api/generated/mmengine.dist.master_only.html - api/generated/mmengine.dist.sync_random_seed mmengine.dist.sync_random_seed : api/generated/mmengine.dist.sync_random_seed.html - api/generated/mmengine.evaluator.BaseMetric BaseMetric : api/generated/mmengine.evaluator.BaseMetric.html - api/generated/mmengine.evaluator.DumpResults DumpResults : api/generated/mmengine.evaluator.DumpResults.html - api/generated/mmengine.evaluator.Evaluator Evaluator : api/generated/mmengine.evaluator.Evaluator.html - api/generated/mmengine.evaluator.get_metric_value mmengine.evaluator.get_metric_value : api/generated/mmengine.evaluator.get_metric_value.html - api/generated/mmengine.fileio.BaseFileHandler BaseFileHandler : api/generated/mmengine.fileio.BaseFileHandler.html - api/generated/mmengine.fileio.BaseStorageBackend BaseStorageBackend : api/generated/mmengine.fileio.BaseStorageBackend.html - api/generated/mmengine.fileio.FileClient FileClient : api/generated/mmengine.fileio.FileClient.html - api/generated/mmengine.fileio.HTTPBackend HTTPBackend : api/generated/mmengine.fileio.HTTPBackend.html - api/generated/mmengine.fileio.HardDiskBackend HardDiskBackend : api/generated/mmengine.fileio.HardDiskBackend.html - api/generated/mmengine.fileio.JsonHandler JsonHandler : api/generated/mmengine.fileio.JsonHandler.html - api/generated/mmengine.fileio.LmdbBackend LmdbBackend : api/generated/mmengine.fileio.LmdbBackend.html - api/generated/mmengine.fileio.LocalBackend LocalBackend : api/generated/mmengine.fileio.LocalBackend.html - api/generated/mmengine.fileio.MemcachedBackend MemcachedBackend : api/generated/mmengine.fileio.MemcachedBackend.html - api/generated/mmengine.fileio.PetrelBackend PetrelBackend : api/generated/mmengine.fileio.PetrelBackend.html - api/generated/mmengine.fileio.PickleHandler PickleHandler : api/generated/mmengine.fileio.PickleHandler.html - api/generated/mmengine.fileio.YamlHandler YamlHandler : api/generated/mmengine.fileio.YamlHandler.html - api/generated/mmengine.fileio.copy_if_symlink_fails mmengine.fileio.copy_if_symlink_fails : api/generated/mmengine.fileio.copy_if_symlink_fails.html - api/generated/mmengine.fileio.copyfile mmengine.fileio.copyfile : api/generated/mmengine.fileio.copyfile.html - api/generated/mmengine.fileio.copyfile_from_local mmengine.fileio.copyfile_from_local : api/generated/mmengine.fileio.copyfile_from_local.html - api/generated/mmengine.fileio.copyfile_to_local mmengine.fileio.copyfile_to_local : api/generated/mmengine.fileio.copyfile_to_local.html - api/generated/mmengine.fileio.copytree mmengine.fileio.copytree : api/generated/mmengine.fileio.copytree.html - api/generated/mmengine.fileio.copytree_from_local mmengine.fileio.copytree_from_local : api/generated/mmengine.fileio.copytree_from_local.html - api/generated/mmengine.fileio.copytree_to_local mmengine.fileio.copytree_to_local : api/generated/mmengine.fileio.copytree_to_local.html - api/generated/mmengine.fileio.dict_from_file mmengine.fileio.dict_from_file : api/generated/mmengine.fileio.dict_from_file.html - api/generated/mmengine.fileio.dump mmengine.fileio.dump : api/generated/mmengine.fileio.dump.html - api/generated/mmengine.fileio.exists mmengine.fileio.exists : api/generated/mmengine.fileio.exists.html - api/generated/mmengine.fileio.generate_presigned_url mmengine.fileio.generate_presigned_url : api/generated/mmengine.fileio.generate_presigned_url.html - api/generated/mmengine.fileio.get mmengine.fileio.get : api/generated/mmengine.fileio.get.html - api/generated/mmengine.fileio.get_file_backend mmengine.fileio.get_file_backend : api/generated/mmengine.fileio.get_file_backend.html - api/generated/mmengine.fileio.get_local_path mmengine.fileio.get_local_path : api/generated/mmengine.fileio.get_local_path.html - api/generated/mmengine.fileio.get_text mmengine.fileio.get_text : api/generated/mmengine.fileio.get_text.html - api/generated/mmengine.fileio.isdir mmengine.fileio.isdir : api/generated/mmengine.fileio.isdir.html - api/generated/mmengine.fileio.isfile mmengine.fileio.isfile : api/generated/mmengine.fileio.isfile.html - api/generated/mmengine.fileio.join_path mmengine.fileio.join_path : api/generated/mmengine.fileio.join_path.html - api/generated/mmengine.fileio.list_dir_or_file mmengine.fileio.list_dir_or_file : api/generated/mmengine.fileio.list_dir_or_file.html - api/generated/mmengine.fileio.list_from_file mmengine.fileio.list_from_file : api/generated/mmengine.fileio.list_from_file.html - api/generated/mmengine.fileio.load mmengine.fileio.load : api/generated/mmengine.fileio.load.html - api/generated/mmengine.fileio.put mmengine.fileio.put : api/generated/mmengine.fileio.put.html - api/generated/mmengine.fileio.put_text mmengine.fileio.put_text : api/generated/mmengine.fileio.put_text.html - api/generated/mmengine.fileio.register_backend mmengine.fileio.register_backend : api/generated/mmengine.fileio.register_backend.html - api/generated/mmengine.fileio.register_handler mmengine.fileio.register_handler : api/generated/mmengine.fileio.register_handler.html - api/generated/mmengine.fileio.remove mmengine.fileio.remove : api/generated/mmengine.fileio.remove.html - api/generated/mmengine.fileio.rmtree mmengine.fileio.rmtree : api/generated/mmengine.fileio.rmtree.html - api/generated/mmengine.hooks.CheckpointHook CheckpointHook : api/generated/mmengine.hooks.CheckpointHook.html - api/generated/mmengine.hooks.DistSamplerSeedHook DistSamplerSeedHook : api/generated/mmengine.hooks.DistSamplerSeedHook.html - api/generated/mmengine.hooks.EMAHook EMAHook : api/generated/mmengine.hooks.EMAHook.html - api/generated/mmengine.hooks.EmptyCacheHook EmptyCacheHook : api/generated/mmengine.hooks.EmptyCacheHook.html - api/generated/mmengine.hooks.Hook Hook : api/generated/mmengine.hooks.Hook.html - api/generated/mmengine.hooks.IterTimerHook IterTimerHook : api/generated/mmengine.hooks.IterTimerHook.html - api/generated/mmengine.hooks.LoggerHook LoggerHook : api/generated/mmengine.hooks.LoggerHook.html - api/generated/mmengine.hooks.NaiveVisualizationHook NaiveVisualizationHook : api/generated/mmengine.hooks.NaiveVisualizationHook.html - api/generated/mmengine.hooks.ParamSchedulerHook ParamSchedulerHook : api/generated/mmengine.hooks.ParamSchedulerHook.html - api/generated/mmengine.hooks.PrepareTTAHook PrepareTTAHook : api/generated/mmengine.hooks.PrepareTTAHook.html - api/generated/mmengine.hooks.ProfilerHook ProfilerHook : api/generated/mmengine.hooks.ProfilerHook.html - api/generated/mmengine.hooks.RuntimeInfoHook RuntimeInfoHook : api/generated/mmengine.hooks.RuntimeInfoHook.html - api/generated/mmengine.hooks.SyncBuffersHook SyncBuffersHook : api/generated/mmengine.hooks.SyncBuffersHook.html - api/generated/mmengine.hub.get_config mmengine.hub.get_config : api/generated/mmengine.hub.get_config.html - api/generated/mmengine.hub.get_model mmengine.hub.get_model : api/generated/mmengine.hub.get_model.html - api/generated/mmengine.infer.BaseInferencer BaseInferencer : api/generated/mmengine.infer.BaseInferencer.html - api/generated/mmengine.logging.HistoryBuffer HistoryBuffer : api/generated/mmengine.logging.HistoryBuffer.html - api/generated/mmengine.logging.MMLogger MMLogger : api/generated/mmengine.logging.MMLogger.html - api/generated/mmengine.logging.MessageHub MessageHub : api/generated/mmengine.logging.MessageHub.html - api/generated/mmengine.logging.print_log mmengine.logging.print_log : api/generated/mmengine.logging.print_log.html - api/generated/mmengine.model.BaseAveragedModel BaseAveragedModel : api/generated/mmengine.model.BaseAveragedModel.html - api/generated/mmengine.model.BaseDataPreprocessor BaseDataPreprocessor : api/generated/mmengine.model.BaseDataPreprocessor.html - api/generated/mmengine.model.BaseInit BaseInit : api/generated/mmengine.model.BaseInit.html - api/generated/mmengine.model.BaseModel BaseModel : api/generated/mmengine.model.BaseModel.html - api/generated/mmengine.model.BaseModule BaseModule : api/generated/mmengine.model.BaseModule.html - api/generated/mmengine.model.BaseTTAModel BaseTTAModel : api/generated/mmengine.model.BaseTTAModel.html - api/generated/mmengine.model.Caffe2XavierInit Caffe2XavierInit : api/generated/mmengine.model.Caffe2XavierInit.html - api/generated/mmengine.model.ConstantInit ConstantInit : api/generated/mmengine.model.ConstantInit.html - api/generated/mmengine.model.ExponentialMovingAverage ExponentialMovingAverage : api/generated/mmengine.model.ExponentialMovingAverage.html - api/generated/mmengine.model.ImgDataPreprocessor ImgDataPreprocessor : api/generated/mmengine.model.ImgDataPreprocessor.html - api/generated/mmengine.model.KaimingInit KaimingInit : api/generated/mmengine.model.KaimingInit.html - api/generated/mmengine.model.MMDistributedDataParallel MMDistributedDataParallel : api/generated/mmengine.model.MMDistributedDataParallel.html - api/generated/mmengine.model.MMFullyShardedDataParallel MMFullyShardedDataParallel : api/generated/mmengine.model.MMFullyShardedDataParallel.html - api/generated/mmengine.model.MMSeparateDistributedDataParallel MMSeparateDistributedDataParallel : api/generated/mmengine.model.MMSeparateDistributedDataParallel.html - api/generated/mmengine.model.ModuleDict ModuleDict : api/generated/mmengine.model.ModuleDict.html - api/generated/mmengine.model.ModuleList ModuleList : api/generated/mmengine.model.ModuleList.html - api/generated/mmengine.model.MomentumAnnealingEMA MomentumAnnealingEMA : api/generated/mmengine.model.MomentumAnnealingEMA.html - api/generated/mmengine.model.NormalInit NormalInit : api/generated/mmengine.model.NormalInit.html - api/generated/mmengine.model.PretrainedInit PretrainedInit : api/generated/mmengine.model.PretrainedInit.html - api/generated/mmengine.model.Sequential Sequential : api/generated/mmengine.model.Sequential.html - api/generated/mmengine.model.StochasticWeightAverage StochasticWeightAverage : api/generated/mmengine.model.StochasticWeightAverage.html - api/generated/mmengine.model.TruncNormalInit TruncNormalInit : api/generated/mmengine.model.TruncNormalInit.html - api/generated/mmengine.model.UniformInit UniformInit : api/generated/mmengine.model.UniformInit.html - api/generated/mmengine.model.XavierInit XavierInit : api/generated/mmengine.model.XavierInit.html - api/generated/mmengine.model.bias_init_with_prob mmengine.model.bias_init_with_prob : api/generated/mmengine.model.bias_init_with_prob.html - api/generated/mmengine.model.caffe2_xavier_init mmengine.model.caffe2_xavier_init : api/generated/mmengine.model.caffe2_xavier_init.html - api/generated/mmengine.model.constant_init mmengine.model.constant_init : api/generated/mmengine.model.constant_init.html - api/generated/mmengine.model.convert_sync_batchnorm mmengine.model.convert_sync_batchnorm : api/generated/mmengine.model.convert_sync_batchnorm.html - api/generated/mmengine.model.detect_anomalous_params mmengine.model.detect_anomalous_params : api/generated/mmengine.model.detect_anomalous_params.html - api/generated/mmengine.model.initialize mmengine.model.initialize : api/generated/mmengine.model.initialize.html - api/generated/mmengine.model.is_model_wrapper is_model_wrapper : api/generated/mmengine.model.is_model_wrapper.html - api/generated/mmengine.model.kaiming_init mmengine.model.kaiming_init : api/generated/mmengine.model.kaiming_init.html - api/generated/mmengine.model.merge_dict mmengine.model.merge_dict : api/generated/mmengine.model.merge_dict.html - api/generated/mmengine.model.normal_init mmengine.model.normal_init : api/generated/mmengine.model.normal_init.html - api/generated/mmengine.model.revert_sync_batchnorm mmengine.model.revert_sync_batchnorm : api/generated/mmengine.model.revert_sync_batchnorm.html - api/generated/mmengine.model.stack_batch mmengine.model.stack_batch : api/generated/mmengine.model.stack_batch.html - api/generated/mmengine.model.trunc_normal_init mmengine.model.trunc_normal_init : api/generated/mmengine.model.trunc_normal_init.html - api/generated/mmengine.model.uniform_init mmengine.model.uniform_init : api/generated/mmengine.model.uniform_init.html - api/generated/mmengine.model.update_init_info mmengine.model.update_init_info : api/generated/mmengine.model.update_init_info.html - api/generated/mmengine.model.xavier_init mmengine.model.xavier_init : api/generated/mmengine.model.xavier_init.html - api/generated/mmengine.optim.AmpOptimWrapper AmpOptimWrapper : api/generated/mmengine.optim.AmpOptimWrapper.html - api/generated/mmengine.optim.ApexOptimWrapper ApexOptimWrapper : api/generated/mmengine.optim.ApexOptimWrapper.html - api/generated/mmengine.optim.ConstantLR ConstantLR : api/generated/mmengine.optim.ConstantLR.html - api/generated/mmengine.optim.ConstantMomentum ConstantMomentum : api/generated/mmengine.optim.ConstantMomentum.html - api/generated/mmengine.optim.ConstantParamScheduler ConstantParamScheduler : api/generated/mmengine.optim.ConstantParamScheduler.html - api/generated/mmengine.optim.CosineAnnealingLR CosineAnnealingLR : api/generated/mmengine.optim.CosineAnnealingLR.html - api/generated/mmengine.optim.CosineAnnealingMomentum CosineAnnealingMomentum : api/generated/mmengine.optim.CosineAnnealingMomentum.html - api/generated/mmengine.optim.CosineAnnealingParamScheduler CosineAnnealingParamScheduler : api/generated/mmengine.optim.CosineAnnealingParamScheduler.html - api/generated/mmengine.optim.DefaultOptimWrapperConstructor DefaultOptimWrapperConstructor : api/generated/mmengine.optim.DefaultOptimWrapperConstructor.html - api/generated/mmengine.optim.ExponentialLR ExponentialLR : api/generated/mmengine.optim.ExponentialLR.html - api/generated/mmengine.optim.ExponentialMomentum ExponentialMomentum : api/generated/mmengine.optim.ExponentialMomentum.html - api/generated/mmengine.optim.ExponentialParamScheduler ExponentialParamScheduler : api/generated/mmengine.optim.ExponentialParamScheduler.html - api/generated/mmengine.optim.LinearLR LinearLR : api/generated/mmengine.optim.LinearLR.html - api/generated/mmengine.optim.LinearMomentum LinearMomentum : api/generated/mmengine.optim.LinearMomentum.html - api/generated/mmengine.optim.LinearParamScheduler LinearParamScheduler : api/generated/mmengine.optim.LinearParamScheduler.html - api/generated/mmengine.optim.MultiStepLR MultiStepLR : api/generated/mmengine.optim.MultiStepLR.html - api/generated/mmengine.optim.MultiStepMomentum MultiStepMomentum : api/generated/mmengine.optim.MultiStepMomentum.html - api/generated/mmengine.optim.MultiStepParamScheduler MultiStepParamScheduler : api/generated/mmengine.optim.MultiStepParamScheduler.html - api/generated/mmengine.optim.OneCycleLR OneCycleLR : api/generated/mmengine.optim.OneCycleLR.html - api/generated/mmengine.optim.OneCycleParamScheduler OneCycleParamScheduler : api/generated/mmengine.optim.OneCycleParamScheduler.html - api/generated/mmengine.optim.OptimWrapper OptimWrapper : api/generated/mmengine.optim.OptimWrapper.html - api/generated/mmengine.optim.OptimWrapperDict OptimWrapperDict : api/generated/mmengine.optim.OptimWrapperDict.html - api/generated/mmengine.optim.PolyLR PolyLR : api/generated/mmengine.optim.PolyLR.html - api/generated/mmengine.optim.PolyMomentum PolyMomentum : api/generated/mmengine.optim.PolyMomentum.html - api/generated/mmengine.optim.PolyParamScheduler PolyParamScheduler : api/generated/mmengine.optim.PolyParamScheduler.html - api/generated/mmengine.optim.ReduceOnPlateauLR ReduceOnPlateauLR : api/generated/mmengine.optim.ReduceOnPlateauLR.html - api/generated/mmengine.optim.ReduceOnPlateauMomentum ReduceOnPlateauMomentum : api/generated/mmengine.optim.ReduceOnPlateauMomentum.html - api/generated/mmengine.optim.ReduceOnPlateauParamScheduler ReduceOnPlateauParamScheduler : api/generated/mmengine.optim.ReduceOnPlateauParamScheduler.html - api/generated/mmengine.optim.StepLR StepLR : api/generated/mmengine.optim.StepLR.html - api/generated/mmengine.optim.StepMomentum StepMomentum : api/generated/mmengine.optim.StepMomentum.html - api/generated/mmengine.optim.StepParamScheduler StepParamScheduler : api/generated/mmengine.optim.StepParamScheduler.html - api/generated/mmengine.optim.ZeroRedundancyOptimizer ZeroRedundancyOptimizer : api/generated/mmengine.optim.ZeroRedundancyOptimizer.html - api/generated/mmengine.optim._ParamScheduler _ParamScheduler : api/generated/mmengine.optim._ParamScheduler.html - api/generated/mmengine.optim.build_optim_wrapper mmengine.optim.build_optim_wrapper : api/generated/mmengine.optim.build_optim_wrapper.html - api/generated/mmengine.registry.DefaultScope DefaultScope : api/generated/mmengine.registry.DefaultScope.html - api/generated/mmengine.registry.Registry Registry : api/generated/mmengine.registry.Registry.html - api/generated/mmengine.registry.build_from_cfg mmengine.registry.build_from_cfg : api/generated/mmengine.registry.build_from_cfg.html - api/generated/mmengine.registry.build_model_from_cfg mmengine.registry.build_model_from_cfg : api/generated/mmengine.registry.build_model_from_cfg.html - api/generated/mmengine.registry.build_runner_from_cfg mmengine.registry.build_runner_from_cfg : api/generated/mmengine.registry.build_runner_from_cfg.html - api/generated/mmengine.registry.build_scheduler_from_cfg mmengine.registry.build_scheduler_from_cfg: api/generated/mmengine.registry.build_scheduler_from_cfg.html - api/generated/mmengine.registry.count_registered_modules mmengine.registry.count_registered_modules: api/generated/mmengine.registry.count_registered_modules.html - api/generated/mmengine.registry.init_default_scope mmengine.registry.init_default_scope : api/generated/mmengine.registry.init_default_scope.html - api/generated/mmengine.registry.traverse_registry_tree mmengine.registry.traverse_registry_tree: api/generated/mmengine.registry.traverse_registry_tree.html - api/generated/mmengine.runner.BaseLoop BaseLoop : api/generated/mmengine.runner.BaseLoop.html - api/generated/mmengine.runner.CheckpointLoader CheckpointLoader : api/generated/mmengine.runner.CheckpointLoader.html - api/generated/mmengine.runner.EpochBasedTrainLoop EpochBasedTrainLoop : api/generated/mmengine.runner.EpochBasedTrainLoop.html - api/generated/mmengine.runner.IterBasedTrainLoop IterBasedTrainLoop : api/generated/mmengine.runner.IterBasedTrainLoop.html - api/generated/mmengine.runner.LogProcessor LogProcessor : api/generated/mmengine.runner.LogProcessor.html - api/generated/mmengine.runner.Priority Priority : api/generated/mmengine.runner.Priority.html - api/generated/mmengine.runner.Runner Runner : api/generated/mmengine.runner.Runner.html - api/generated/mmengine.runner.TestLoop TestLoop : api/generated/mmengine.runner.TestLoop.html - api/generated/mmengine.runner.ValLoop ValLoop : api/generated/mmengine.runner.ValLoop.html - api/generated/mmengine.runner.autocast mmengine.runner.autocast : api/generated/mmengine.runner.autocast.html - api/generated/mmengine.runner.find_latest_checkpoint mmengine.runner.find_latest_checkpoint : api/generated/mmengine.runner.find_latest_checkpoint.html - api/generated/mmengine.runner.get_deprecated_model_names mmengine.runner.get_deprecated_model_names: api/generated/mmengine.runner.get_deprecated_model_names.html - api/generated/mmengine.runner.get_external_models mmengine.runner.get_external_models : api/generated/mmengine.runner.get_external_models.html - api/generated/mmengine.runner.get_mmcls_models mmengine.runner.get_mmcls_models : api/generated/mmengine.runner.get_mmcls_models.html - api/generated/mmengine.runner.get_priority mmengine.runner.get_priority : api/generated/mmengine.runner.get_priority.html - api/generated/mmengine.runner.get_state_dict mmengine.runner.get_state_dict : api/generated/mmengine.runner.get_state_dict.html - api/generated/mmengine.runner.get_torchvision_models mmengine.runner.get_torchvision_models : api/generated/mmengine.runner.get_torchvision_models.html - api/generated/mmengine.runner.load_checkpoint mmengine.runner.load_checkpoint : api/generated/mmengine.runner.load_checkpoint.html - api/generated/mmengine.runner.load_state_dict mmengine.runner.load_state_dict : api/generated/mmengine.runner.load_state_dict.html - api/generated/mmengine.runner.save_checkpoint mmengine.runner.save_checkpoint : api/generated/mmengine.runner.save_checkpoint.html - api/generated/mmengine.runner.weights_to_cpu mmengine.runner.weights_to_cpu : api/generated/mmengine.runner.weights_to_cpu.html - api/generated/mmengine.structures.BaseDataElement BaseDataElement : api/generated/mmengine.structures.BaseDataElement.html - api/generated/mmengine.structures.InstanceData InstanceData : api/generated/mmengine.structures.InstanceData.html - api/generated/mmengine.structures.LabelData LabelData : api/generated/mmengine.structures.LabelData.html - api/generated/mmengine.structures.PixelData PixelData : api/generated/mmengine.structures.PixelData.html - api/generated/mmengine.utils.ManagerMeta ManagerMeta : api/generated/mmengine.utils.ManagerMeta.html - api/generated/mmengine.utils.ManagerMixin ManagerMixin : api/generated/mmengine.utils.ManagerMixin.html - api/generated/mmengine.utils.ProgressBar ProgressBar : api/generated/mmengine.utils.ProgressBar.html - api/generated/mmengine.utils.Timer Timer : api/generated/mmengine.utils.Timer.html - api/generated/mmengine.utils.TimerError TimerError : api/generated/mmengine.utils.TimerError.html - api/generated/mmengine.utils.call_command mmengine.utils.call_command : api/generated/mmengine.utils.call_command.html - api/generated/mmengine.utils.check_file_exist mmengine.utils.check_file_exist : api/generated/mmengine.utils.check_file_exist.html - api/generated/mmengine.utils.check_prerequisites mmengine.utils.check_prerequisites : api/generated/mmengine.utils.check_prerequisites.html - api/generated/mmengine.utils.check_time mmengine.utils.check_time : api/generated/mmengine.utils.check_time.html - api/generated/mmengine.utils.concat_list mmengine.utils.concat_list : api/generated/mmengine.utils.concat_list.html - api/generated/mmengine.utils.deprecated_api_warning mmengine.utils.deprecated_api_warning : api/generated/mmengine.utils.deprecated_api_warning.html - api/generated/mmengine.utils.deprecated_function mmengine.utils.deprecated_function : api/generated/mmengine.utils.deprecated_function.html - api/generated/mmengine.utils.digit_version mmengine.utils.digit_version : api/generated/mmengine.utils.digit_version.html - api/generated/mmengine.utils.dl_utils.TORCH_VERSION mmengine.utils.dl_utils.TORCH_VERSION : api/generated/mmengine.utils.dl_utils.TORCH_VERSION.html - api/generated/mmengine.utils.dl_utils.TimeCounter TimeCounter : api/generated/mmengine.utils.dl_utils.TimeCounter.html - api/generated/mmengine.utils.dl_utils.collect_env mmengine.utils.dl_utils.collect_env : api/generated/mmengine.utils.dl_utils.collect_env.html - api/generated/mmengine.utils.dl_utils.has_batch_norm mmengine.utils.dl_utils.has_batch_norm : api/generated/mmengine.utils.dl_utils.has_batch_norm.html - api/generated/mmengine.utils.dl_utils.is_jit_tracing mmengine.utils.dl_utils.is_jit_tracing : api/generated/mmengine.utils.dl_utils.is_jit_tracing.html - api/generated/mmengine.utils.dl_utils.is_norm mmengine.utils.dl_utils.is_norm : api/generated/mmengine.utils.dl_utils.is_norm.html - api/generated/mmengine.utils.dl_utils.load_url mmengine.utils.dl_utils.load_url : api/generated/mmengine.utils.dl_utils.load_url.html - api/generated/mmengine.utils.dl_utils.mmcv_full_available mmengine.utils.dl_utils.mmcv_full_available: api/generated/mmengine.utils.dl_utils.mmcv_full_available.html - api/generated/mmengine.utils.dl_utils.set_multi_processing mmengine.utils.dl_utils.set_multi_processing: api/generated/mmengine.utils.dl_utils.set_multi_processing.html - api/generated/mmengine.utils.dl_utils.tensor2imgs mmengine.utils.dl_utils.tensor2imgs : api/generated/mmengine.utils.dl_utils.tensor2imgs.html - api/generated/mmengine.utils.dl_utils.torch_meshgrid mmengine.utils.dl_utils.torch_meshgrid : api/generated/mmengine.utils.dl_utils.torch_meshgrid.html - api/generated/mmengine.utils.fopen mmengine.utils.fopen : api/generated/mmengine.utils.fopen.html - api/generated/mmengine.utils.get_git_hash mmengine.utils.get_git_hash : api/generated/mmengine.utils.get_git_hash.html - api/generated/mmengine.utils.get_installed_path mmengine.utils.get_installed_path : api/generated/mmengine.utils.get_installed_path.html - api/generated/mmengine.utils.has_method mmengine.utils.has_method : api/generated/mmengine.utils.has_method.html - api/generated/mmengine.utils.import_modules_from_strings mmengine.utils.import_modules_from_strings: api/generated/mmengine.utils.import_modules_from_strings.html - api/generated/mmengine.utils.install_package mmengine.utils.install_package : api/generated/mmengine.utils.install_package.html - api/generated/mmengine.utils.is_abs mmengine.utils.is_abs : api/generated/mmengine.utils.is_abs.html - api/generated/mmengine.utils.is_filepath mmengine.utils.is_filepath : api/generated/mmengine.utils.is_filepath.html - api/generated/mmengine.utils.is_installed mmengine.utils.is_installed : api/generated/mmengine.utils.is_installed.html - api/generated/mmengine.utils.is_list_of mmengine.utils.is_list_of : api/generated/mmengine.utils.is_list_of.html - api/generated/mmengine.utils.is_method_overridden mmengine.utils.is_method_overridden : api/generated/mmengine.utils.is_method_overridden.html - api/generated/mmengine.utils.is_seq_of mmengine.utils.is_seq_of : api/generated/mmengine.utils.is_seq_of.html - api/generated/mmengine.utils.is_str mmengine.utils.is_str : api/generated/mmengine.utils.is_str.html - api/generated/mmengine.utils.is_tuple_of mmengine.utils.is_tuple_of : api/generated/mmengine.utils.is_tuple_of.html - api/generated/mmengine.utils.iter_cast mmengine.utils.iter_cast : api/generated/mmengine.utils.iter_cast.html - api/generated/mmengine.utils.list_cast mmengine.utils.list_cast : api/generated/mmengine.utils.list_cast.html - api/generated/mmengine.utils.mkdir_or_exist mmengine.utils.mkdir_or_exist : api/generated/mmengine.utils.mkdir_or_exist.html - api/generated/mmengine.utils.requires_executable mmengine.utils.requires_executable : api/generated/mmengine.utils.requires_executable.html - api/generated/mmengine.utils.requires_package mmengine.utils.requires_package : api/generated/mmengine.utils.requires_package.html - api/generated/mmengine.utils.scandir mmengine.utils.scandir : api/generated/mmengine.utils.scandir.html - api/generated/mmengine.utils.slice_list mmengine.utils.slice_list : api/generated/mmengine.utils.slice_list.html - api/generated/mmengine.utils.symlink mmengine.utils.symlink : api/generated/mmengine.utils.symlink.html - api/generated/mmengine.utils.to_1tuple mmengine.utils.to_1tuple : api/generated/mmengine.utils.to_1tuple.html - api/generated/mmengine.utils.to_2tuple mmengine.utils.to_2tuple : api/generated/mmengine.utils.to_2tuple.html - api/generated/mmengine.utils.to_3tuple mmengine.utils.to_3tuple : api/generated/mmengine.utils.to_3tuple.html - api/generated/mmengine.utils.to_4tuple mmengine.utils.to_4tuple : api/generated/mmengine.utils.to_4tuple.html - api/generated/mmengine.utils.to_ntuple mmengine.utils.to_ntuple : api/generated/mmengine.utils.to_ntuple.html - api/generated/mmengine.utils.track_iter_progress mmengine.utils.track_iter_progress : api/generated/mmengine.utils.track_iter_progress.html - api/generated/mmengine.utils.track_parallel_progress mmengine.utils.track_parallel_progress : api/generated/mmengine.utils.track_parallel_progress.html - api/generated/mmengine.utils.track_progress mmengine.utils.track_progress : api/generated/mmengine.utils.track_progress.html - api/generated/mmengine.utils.tuple_cast mmengine.utils.tuple_cast : api/generated/mmengine.utils.tuple_cast.html - api/generated/mmengine.visualization.BaseVisBackend BaseVisBackend : api/generated/mmengine.visualization.BaseVisBackend.html - api/generated/mmengine.visualization.LocalVisBackend LocalVisBackend : api/generated/mmengine.visualization.LocalVisBackend.html - api/generated/mmengine.visualization.TensorboardVisBackend TensorboardVisBackend : api/generated/mmengine.visualization.TensorboardVisBackend.html - api/generated/mmengine.visualization.Visualizer Visualizer : api/generated/mmengine.visualization.Visualizer.html - api/generated/mmengine.visualization.WandbVisBackend WandbVisBackend : api/generated/mmengine.visualization.WandbVisBackend.html - api/hooks mmengine.hooks : api/hooks.html - api/hub mmengine.hub : api/hub.html - api/infer mmengine.infer : api/infer.html - api/logging mmengine.logging : api/logging.html - api/model mmengine.model : api/model.html - api/optim mmengine.optim : api/optim.html - api/registry mmengine.registry : api/registry.html - api/runner mmengine.runner : api/runner.html - api/structures mmengine.structures : api/structures.html - api/utils mmengine.utils : api/utils.html - api/utils.dl_utils mmengine.utils.dl_utils : api/utils.dl_utils.html - api/visualization mmengine.visualization : api/visualization.html - common_usage/resume_training 恢复训练 : common_usage/resume_training.html - common_usage/save_gpu_memory 节省显存 : common_usage/save_gpu_memory.html - common_usage/speed_up_training 加速训练 : common_usage/speed_up_training.html - design/evaluation 模型精度评测 : design/evaluation.html - design/hook 钩子 : design/hook.html - design/infer 推理接口 : design/infer.html - design/logging 日志系统 : design/logging.html - design/runner 执行器 : design/runner.html - design/visualization 可视化 : design/visualization.html - examples/train_a_gan 训练生成对抗网络 : examples/train_a_gan.html - get_started/15_minutes 15 分钟上手 MMEngine : get_started/15_minutes.html - get_started/installation 安装 : get_started/installation.html - get_started/introduction 介绍 : get_started/introduction.html - index 欢迎来到 MMEngine 的中文文档! : index.html - migration/hook 迁移 MMCV 钩子到 MMEngine : migration/hook.html - migration/model 迁移 MMCV 模型到 MMEngine : migration/model.html - migration/param_scheduler 迁移 MMCV 参数调度器到 MMEngine : migration/param_scheduler.html - migration/runner 迁移 MMCV 执行器到 MMEngine : migration/runner.html - migration/transform 数据变换类的迁移 : migration/transform.html - notes/changelog Changelog of v0.x : notes/changelog.html - notes/code_style 代码规范 : notes/code_style.html - notes/contributing 贡献代码 : notes/contributing.html - switch_language English : switch_language.html - tutorials/dataset 数据集(Dataset)与数据加载器(DataLoader) : tutorials/dataset.html - tutorials/evaluation 模型精度评测(Evaluation) : tutorials/evaluation.html - tutorials/hook 钩子(Hook) : tutorials/hook.html - tutorials/model 模型(Model) : tutorials/model.html - tutorials/optim_wrapper 优化器封装(OptimWrapper) : tutorials/optim_wrapper.html - tutorials/param_scheduler 优化器参数调整策略(Parameter Scheduler) : tutorials/param_scheduler.html - tutorials/runner 执行器(Runner) : tutorials/runner.html -std:label - advanced_tutorials/basedataset.md#classbalanceddataset ClassBalancedDataset : advanced_tutorials/basedataset.html#classbalanceddataset - advanced_tutorials/basedataset.md#concatdataset ConcatDataset : advanced_tutorials/basedataset.html#concatdataset - advanced_tutorials/basedataset.md#repeatdataset RepeatDataset : advanced_tutorials/basedataset.html#repeatdataset - advanced_tutorials/basedataset.md#使用数据集基类自定义数据集类 使用数据集基类自定义数据集类 : advanced_tutorials/basedataset.html#id5 - advanced_tutorials/basedataset.md#使用自定义数据集类 使用自定义数据集类 : advanced_tutorials/basedataset.html#id6 - advanced_tutorials/basedataset.md#基本介绍 基本介绍 : advanced_tutorials/basedataset.html#id1 - advanced_tutorials/basedataset.md#对于不满足-openmmlab-20-数据集格式规范的标注文件 对于不满足 OpenMMLab 2.0 数据集格式规范的标注文件 : advanced_tutorials/basedataset.html#id8 - advanced_tutorials/basedataset.md#对于满足-openmmlab-20-数据集格式规范的标注文件 对于满足 OpenMMLab 2.0 数据集格式规范的标注文件 : advanced_tutorials/basedataset.html#openmmlab-2-0 - advanced_tutorials/basedataset.md#懒加载lazy-init 懒加载(lazy init) : advanced_tutorials/basedataset.html#lazy-init - advanced_tutorials/basedataset.md#数据标注文件规范 数据标注文件规范 : advanced_tutorials/basedataset.html#id2 - advanced_tutorials/basedataset.md#数据集基类basedataset 数据集基类(BaseDataset) : advanced_tutorials/basedataset.html#basedataset - advanced_tutorials/basedataset.md#数据集基类包装 数据集基类包装 : advanced_tutorials/basedataset.html#id11 - advanced_tutorials/basedataset.md#数据集基类提供的接口 数据集基类提供的接口 : advanced_tutorials/basedataset.html#id4 - advanced_tutorials/basedataset.md#数据集基类的其它特性 数据集基类的其它特性 : advanced_tutorials/basedataset.html#id9 - advanced_tutorials/basedataset.md#数据集基类的初始化流程 数据集基类的初始化流程 : advanced_tutorials/basedataset.html#id3 - advanced_tutorials/basedataset.md#自定义数据集类包装 自定义数据集类包装 : advanced_tutorials/basedataset.html#id12 - advanced_tutorials/basedataset.md#自定义视频的数据集类 自定义视频的数据集类 : advanced_tutorials/basedataset.html#id7 - advanced_tutorials/basedataset.md#节省内存 节省内存 : advanced_tutorials/basedataset.html#id10 - advanced_tutorials/config.md#使用环境变量替换配置 使用环境变量替换配置 : advanced_tutorials/config.html#id11 - advanced_tutorials/config.md#修改继承字段 修改继承字段 : advanced_tutorials/config.html#id5 - advanced_tutorials/config.md#其他进阶用法 其他进阶用法 : advanced_tutorials/config.html#id8 - advanced_tutorials/config.md#删除字典中的-key 删除字典中的 key : advanced_tutorials/config.html#key - advanced_tutorials/config.md#命令行修改配置 命令行修改配置 : advanced_tutorials/config.html#id10 - advanced_tutorials/config.md#导入自定义-python-模块 导入自定义 Python 模块 : advanced_tutorials/config.html#python - advanced_tutorials/config.md#引用被继承文件中的变量 引用被继承文件中的变量 : advanced_tutorials/config.html#id6 - advanced_tutorials/config.md#继承机制概述 继承机制概述 : advanced_tutorials/config.html#id4 - advanced_tutorials/config.md#跨项目继承配置文件 跨项目继承配置文件 : advanced_tutorials/config.html#id12 - advanced_tutorials/config.md#跨项目获取配置文件 跨项目获取配置文件 : advanced_tutorials/config.html#id13 - advanced_tutorials/config.md#配置config 配置(Config) : advanced_tutorials/config.html#config - advanced_tutorials/config.md#配置文件的使用 配置文件的使用 : advanced_tutorials/config.html#id2 - advanced_tutorials/config.md#配置文件的导出 配置文件的导出 : advanced_tutorials/config.html#id7 - advanced_tutorials/config.md#配置文件的继承 配置文件的继承 : advanced_tutorials/config.html#id3 - advanced_tutorials/config.md#配置文件读取 配置文件读取 : advanced_tutorials/config.html#id1 - advanced_tutorials/config.md#预定义字段 预定义字段 : advanced_tutorials/config.html#id9 - advanced_tutorials/cross_library.md#跨库调用-backbone 跨库调用 Backbone: : advanced_tutorials/cross_library.html#backbone - advanced_tutorials/cross_library.md#跨库调用-detector 跨库调用 Detector: : advanced_tutorials/cross_library.html#detector - advanced_tutorials/cross_library.md#跨库调用-transform 跨库调用 Transform: : advanced_tutorials/cross_library.html#transform - advanced_tutorials/cross_library.md#跨库调用模块 跨库调用模块 : advanced_tutorials/cross_library.html#id1 - advanced_tutorials/data_element.md#1-数据元素的创建 1. 数据元素的创建 : advanced_tutorials/data_element.html#id2 - advanced_tutorials/data_element.md#1-组件接口的简化 1. 组件接口的简化 : advanced_tutorials/data_element.html#id16 - advanced_tutorials/data_element.md#2-new-与-clone-函数 2. new 与 clone 函数 : advanced_tutorials/data_element.html#new-clone - advanced_tutorials/data_element.md#2-模块接口的简化 2. 模块接口的简化 : advanced_tutorials/data_element.html#id17 - advanced_tutorials/data_element.md#3-属性的增加与查询 3. 属性的增加与查询 : advanced_tutorials/data_element.html#id3 - advanced_tutorials/data_element.md#4-属性的删改 4. 属性的删改 : advanced_tutorials/data_element.html#id4 - advanced_tutorials/data_element.md#5-类张量操作 5. 类张量操作 : advanced_tutorials/data_element.html#id5 - advanced_tutorials/data_element.md#6-属性的展示 6. 属性的展示 : advanced_tutorials/data_element.html#id6 - advanced_tutorials/data_element.md#instancedata InstanceData : advanced_tutorials/data_element.html#instancedata - advanced_tutorials/data_element.md#labeldata LabelData : advanced_tutorials/data_element.html#labeldata - advanced_tutorials/data_element.md#pixeldata PixelData : advanced_tutorials/data_element.html#pixeldata - advanced_tutorials/data_element.md#下游库使用 下游库使用 : advanced_tutorials/data_element.html#id13 - advanced_tutorials/data_element.md#抽象数据接口 抽象数据接口 : advanced_tutorials/data_element.html#id1 - advanced_tutorials/data_element.md#拼接cat 拼接(cat) : advanced_tutorials/data_element.html#cat - advanced_tutorials/data_element.md#接口的简化 接口的简化 : advanced_tutorials/data_element.html#id15 - advanced_tutorials/data_element.md#数据元素xxxdata 数据元素(xxxData) : advanced_tutorials/data_element.html#xxxdata - advanced_tutorials/data_element.md#数据基类basedataelement 数据基类(BaseDataElement) : advanced_tutorials/data_element.html#basedataelement - advanced_tutorials/data_element.md#数据校验 数据校验 : advanced_tutorials/data_element.html#id7 - advanced_tutorials/data_element.md#数据校验-1 数据校验 : advanced_tutorials/data_element.html#id11 - advanced_tutorials/data_element.md#数据样本datasample 数据样本(DataSample) : advanced_tutorials/data_element.html#datasample - advanced_tutorials/data_element.md#空间维度索引 空间维度索引 : advanced_tutorials/data_element.html#id12 - advanced_tutorials/data_element.md#类型约束 类型约束 : advanced_tutorials/data_element.html#id14 - advanced_tutorials/data_element.md#类字典访问和设置属性 类字典访问和设置属性 : advanced_tutorials/data_element.html#id8 - advanced_tutorials/data_element.md#索引与切片 索引与切片 : advanced_tutorials/data_element.html#id9 - advanced_tutorials/data_element.md#自定义数据结构 自定义数据结构 : advanced_tutorials/data_element.html#id10 - advanced_tutorials/data_transform.md#使用数据变换类 使用数据变换类 : advanced_tutorials/data_transform.html#id1 - advanced_tutorials/data_transform.md#在配置文件中使用 在配置文件中使用 : advanced_tutorials/data_transform.html#id2 - advanced_tutorials/data_transform.md#常用的数据变换类 常用的数据变换类 : advanced_tutorials/data_transform.html#id3 - advanced_tutorials/data_transform.md#数据加载 数据加载 : advanced_tutorials/data_transform.html#id4 - advanced_tutorials/data_transform.md#数据变换-data-transform 数据变换 (Data Transform) : advanced_tutorials/data_transform.html#data-transform - advanced_tutorials/data_transform.md#数据格式化 数据格式化 : advanced_tutorials/data_transform.html#id6 - advanced_tutorials/data_transform.md#数据预处理及增强 数据预处理及增强 : advanced_tutorials/data_transform.html#id5 - advanced_tutorials/data_transform.md#自定义数据变换类 自定义数据变换类 : advanced_tutorials/data_transform.html#id7 - advanced_tutorials/distributed.md#分布式信息获取与控制 分布式信息获取与控制 : advanced_tutorials/distributed.html#id3 - advanced_tutorials/distributed.md#分布式初始化 分布式初始化 : advanced_tutorials/distributed.html#id2 - advanced_tutorials/distributed.md#分布式通信函数 分布式通信函数 : advanced_tutorials/distributed.html#id4 - advanced_tutorials/distributed.md#分布式通信原语 分布式通信原语 : advanced_tutorials/distributed.html#id1 - advanced_tutorials/fileio.md#从其他存储后端读取 从其他存储后端读取 : advanced_tutorials/fileio.html#id7 - advanced_tutorials/fileio.md#从其它文件存储后端读写文件 从其它文件存储后端读写文件 : advanced_tutorials/fileio.html#id4 - advanced_tutorials/fileio.md#从硬盘中读写文件 从硬盘中读写文件 : advanced_tutorials/fileio.html#id3 - advanced_tutorials/fileio.md#从硬盘读取 从硬盘读取 : advanced_tutorials/fileio.html#id6 - advanced_tutorials/fileio.md#文件读写 文件读写 : advanced_tutorials/fileio.html#id1 - advanced_tutorials/fileio.md#读取和保存数据 读取和保存数据 : advanced_tutorials/fileio.html#id2 - advanced_tutorials/fileio.md#读取和保存权重文件 读取和保存权重文件 : advanced_tutorials/fileio.html#id8 - advanced_tutorials/fileio.md#读取文件并返回列表或字典 读取文件并返回列表或字典 : advanced_tutorials/fileio.html#id5 - advanced_tutorials/initialize.md#使用预训练权重初始化 使用预训练权重初始化 : advanced_tutorials/initialize.html#id3 - advanced_tutorials/initialize.md#函数式初始化 函数式初始化 : advanced_tutorials/initialize.html#id8 - advanced_tutorials/initialize.md#小结 小结 : advanced_tutorials/initialize.html#id7 - advanced_tutorials/initialize.md#常用的初始化方式 常用的初始化方式 : advanced_tutorials/initialize.html#id4 - advanced_tutorials/initialize.md#更细粒度的初始化 更细粒度的初始化 : advanced_tutorials/initialize.html#id5 - advanced_tutorials/initialize.md#权重初始化 权重初始化 : advanced_tutorials/initialize.html#id1 - advanced_tutorials/initialize.md#自定义的初始化方式 自定义的初始化方式 : advanced_tutorials/initialize.html#id6 - advanced_tutorials/initialize.md#配置式初始化 配置式初始化 : advanced_tutorials/initialize.html#id2 - advanced_tutorials/logging.md#灵活的日志统计方式 灵活的日志统计方式 : advanced_tutorials/logging.html#id2 - advanced_tutorials/logging.md#自定义统计内容 自定义统计内容 : advanced_tutorials/logging.html#id3 - advanced_tutorials/logging.md#记录日志 记录日志 : advanced_tutorials/logging.html#id1 - advanced_tutorials/logging.md#输出调试日志 输出调试日志 : advanced_tutorials/logging.html#id4 - advanced_tutorials/manager_mixin.md#使用方法 使用方法 : advanced_tutorials/manager_mixin.html#id2 - advanced_tutorials/manager_mixin.md#全局管理器managermixin 全局管理器(ManagerMixin) : advanced_tutorials/manager_mixin.html#managermixin - advanced_tutorials/manager_mixin.md#接口介绍 接口介绍 : advanced_tutorials/manager_mixin.html#id1 - advanced_tutorials/registry.md#什么是注册器 什么是注册器 : advanced_tutorials/registry.html#id1 - advanced_tutorials/registry.md#入门用法 入门用法 : advanced_tutorials/registry.html#id2 - advanced_tutorials/registry.md#注册器registry 注册器(Registry) : advanced_tutorials/registry.html#registry - advanced_tutorials/registry.md#调用兄弟节点的模块 调用兄弟节点的模块 : advanced_tutorials/registry.html#id5 - advanced_tutorials/registry.md#调用父节点的模块 调用父节点的模块 : advanced_tutorials/registry.html#id4 - advanced_tutorials/registry.md#进阶用法 进阶用法 : advanced_tutorials/registry.html#id3 - advanced_tutorials/test_time_augmentation.md#basettamodel-和各组件的关系 BaseTTAModel 和各组件的关系 : advanced_tutorials/test_time_augmentation.html#basettamodel - advanced_tutorials/test_time_augmentation.md#准备-tta-数据增强 准备 TTA 数据增强 : advanced_tutorials/test_time_augmentation.html#tta - advanced_tutorials/test_time_augmentation.md#定义-tta-模型融合策略 定义 TTA 模型融合策略 : advanced_tutorials/test_time_augmentation.html#id2 - advanced_tutorials/test_time_augmentation.md#快速上手 快速上手 : advanced_tutorials/test_time_augmentation.html#id1 - advanced_tutorials/test_time_augmentation.md#改写测试脚本 改写测试脚本 : advanced_tutorials/test_time_augmentation.html#id3 - advanced_tutorials/test_time_augmentation.md#数据流 数据流 : advanced_tutorials/test_time_augmentation.html#id5 - advanced_tutorials/test_time_augmentation.md#测试时增强test-time-augmentation 测试时增强(Test time augmentation) : advanced_tutorials/test_time_augmentation.html#test-time-augmentation - advanced_tutorials/test_time_augmentation.md#进阶使用 进阶使用 : advanced_tutorials/test_time_augmentation.html#id4 - advanced_tutorials/visualization.md#任意点位进行可视化 任意点位进行可视化 : advanced_tutorials/visualization.html#id6 - advanced_tutorials/visualization.md#可视化 可视化 : advanced_tutorials/visualization.html#id1 - advanced_tutorials/visualization.md#基础存储接口 基础存储接口 : advanced_tutorials/visualization.html#id4 - advanced_tutorials/visualization.md#基础绘制接口 基础绘制接口 : advanced_tutorials/visualization.html#id2 - advanced_tutorials/visualization.md#多后端存储 多后端存储 : advanced_tutorials/visualization.html#id5 - advanced_tutorials/visualization.md#扩展存储后端和可视化器 扩展存储后端和可视化器 : advanced_tutorials/visualization.html#id7 - advanced_tutorials/visualization.md#特征图绘制 特征图绘制 : advanced_tutorials/visualization.html#id3 - common_usage/resume_training.md#恢复训练 恢复训练 : common_usage/resume_training.html#id1 - common_usage/resume_training.md#指定-checkpoint-路径 指定 checkpoint 路径 : common_usage/resume_training.html#checkpoint - common_usage/resume_training.md#自动恢复训练 自动恢复训练 : common_usage/resume_training.html#id2 - common_usage/save_gpu_memory.md#大模型训练 大模型训练 : common_usage/save_gpu_memory.html#id3 - common_usage/save_gpu_memory.md#梯度累加 梯度累加 : common_usage/save_gpu_memory.html#id2 - common_usage/save_gpu_memory.md#节省显存 节省显存 : common_usage/save_gpu_memory.html#id1 - common_usage/speed_up_training.md#分布式训练 分布式训练 : common_usage/speed_up_training.html#id2 - common_usage/speed_up_training.md#加速训练 加速训练 : common_usage/speed_up_training.html#id1 - common_usage/speed_up_training.md#混合精度训练 混合精度训练 : common_usage/speed_up_training.html#id3 - design/evaluation.md#增加自定义评测指标 增加自定义评测指标 : design/evaluation.html#id4 - design/evaluation.md#模型精度评测 模型精度评测 : design/evaluation.html#id1 - design/evaluation.md#模型精度评测流程 模型精度评测流程 : design/evaluation.html#id3 - design/evaluation.md#评测指标与评测器 评测指标与评测器 : design/evaluation.html#id2 - design/evaluation.md#评测指标基类-basemetric 评测指标基类 BaseMetric : design/evaluation.html#basemetric - design/hook.md#mmengine-中钩子的设计 MMEngine 中钩子的设计 : design/hook.html#mmengine - design/hook.md#钩子 钩子 : design/hook.html#id1 - design/hook.md#钩子示例 钩子示例 : design/hook.html#id2 - design/infer.md#__call__ __call__() : design/infer.html#call - design/infer.md#__init__ __init__() : design/infer.html#init - design/infer.md#_init_collate _init_collate() : design/infer.html#init-collate - design/infer.md#_init_pipeline _init_pipeline() : design/infer.html#init-pipeline - design/infer.md#_init_visualizer _init_visualizer() : design/infer.html#init-visualizer - design/infer.md#forward forward() : design/infer.html#forward - design/infer.md#postprocess postprocess() : design/infer.html#postprocess - design/infer.md#preprocess preprocess() : design/infer.html#preprocess - design/infer.md#visualize visualize() : design/infer.html#visualize - design/infer.md#使用样例 使用样例 : design/infer.html#id2 - design/infer.md#定义推理器 定义推理器 : design/infer.html#id3 - design/infer.md#执行推理 执行推理 : design/infer.html#id5 - design/infer.md#推理接口 推理接口 : design/infer.html#id1 - design/infer.md#推理接口开发规范 推理接口开发规范 : design/infer.html#id6 - design/infer.md#构建推理器 构建推理器 : design/infer.html#id4 - design/logging.md#mmlogger MMLogger : design/logging.html#mmlogger - design/logging.md#使用样例 使用样例 : design/logging.html#id8 - design/logging.md#分布式训练时导出日志 分布式训练时导出日志 : design/logging.html#id17 - design/logging.md#创建-mmlogger 创建 MMLogger : design/logging.html#id15 - design/logging.md#历史缓冲区historybuffer 历史缓冲区(HistoryBuffer) : design/logging.html#historybuffer - design/logging.md#历史缓冲区初始化 历史缓冲区初始化 : design/logging.html#id3 - design/logging.md#基本统计方法 基本统计方法 : design/logging.html#id5 - design/logging.md#导出日志 导出日志 : design/logging.html#id16 - design/logging.md#日志处理器logprocessor 日志处理器(LogProcessor) : design/logging.html#logprocessor - design/logging.md#日志系统 日志系统 : design/logging.html#id1 - design/logging.md#更新历史缓冲区 更新历史缓冲区 : design/logging.html#id4 - design/logging.md#更新获取训练日志 更新/获取训练日志 : design/logging.html#id9 - design/logging.md#更新获取运行时信息 更新/获取运行时信息 : design/logging.html#id10 - design/logging.md#最简配置 最简配置 : design/logging.html#id13 - design/logging.md#概述 概述 : design/logging.html#id2 - design/logging.md#注册统计方法 注册统计方法 : design/logging.html#id7 - design/logging.md#消息枢纽messagehub 消息枢纽(MessageHub) : design/logging.html#messagehub - design/logging.md#消息枢纽的跨组件通讯 消息枢纽的跨组件通讯 : design/logging.html#id11 - design/logging.md#添加自定义日志 添加自定义日志 : design/logging.html#id12 - design/logging.md#统计方法的统一入口 统计方法的统一入口 : design/logging.html#id6 - design/logging.md#自定义的统计方式 自定义的统计方式 : design/logging.html#id14 - design/runner.md#循环控制器 循环控制器 : design/runner.html#id2 - design/runner.md#执行器 执行器 : design/runner.html#id1 - design/runner.md#自定义执行器 自定义执行器 : design/runner.html#id3 - design/visualization.md#1-总体设计 1 总体设计 : design/visualization.html#id2 - design/visualization.md#2-可视化器-visualizer 2 可视化器 Visualizer : design/visualization.html#visualizer - design/visualization.md#3-可视化存储后端-visbackend 3 可视化存储后端 VisBackend : design/visualization.html#visbackend - design/visualization.md#可视化 可视化 : design/visualization.html#id1 - examples/train_a_gan.md#使用执行器进行训练 使用执行器进行训练 : examples/train_a_gan.html#id7 - examples/train_a_gan.md#构建一个生成对抗网络模型 构建一个生成对抗网络模型 : examples/train_a_gan.html#id5 - examples/train_a_gan.md#构建优化器 构建优化器 : examples/train_a_gan.html#id6 - examples/train_a_gan.md#构建数据加载器 构建数据加载器 : examples/train_a_gan.html#id2 - examples/train_a_gan.md#构建数据集 构建数据集 : examples/train_a_gan.html#id3 - examples/train_a_gan.md#构建生成器网络和判别器网络 构建生成器网络和判别器网络 : examples/train_a_gan.html#id4 - examples/train_a_gan.md#训练生成对抗网络 训练生成对抗网络 : examples/train_a_gan.html#id1 - genindex 索引 : genindex.html - get_started/15_minutes.md#15-分钟上手-mmengine 15 分钟上手 MMEngine : get_started/15_minutes.html#mmengine - get_started/15_minutes.md#构建执行器并执行任务 构建执行器并执行任务 : get_started/15_minutes.html#id4 - get_started/15_minutes.md#构建数据集和数据加载器 构建数据集和数据加载器 : get_started/15_minutes.html#id2 - get_started/15_minutes.md#构建模型 构建模型 : get_started/15_minutes.html#id1 - get_started/15_minutes.md#构建评测指标 构建评测指标 : get_started/15_minutes.html#id3 - get_started/installation.md#使用-docker-镜像 使用 docker 镜像 : get_started/installation.html#docker - get_started/installation.md#使用-mim-安装 使用 mim 安装 : get_started/installation.html#mim - get_started/installation.md#使用-pip-安装 使用 pip 安装 : get_started/installation.html#pip - get_started/installation.md#准备环境 准备环境 : get_started/installation.html#id3 - get_started/installation.md#安装 安装 : get_started/installation.html#id1 - get_started/installation.md#安装-mmengine 安装 MMEngine : get_started/installation.html#mmengine - get_started/installation.md#源码安装 源码安装 : get_started/installation.html#id4 - get_started/installation.md#环境依赖 环境依赖 : get_started/installation.html#id2 - get_started/installation.md#验证安装 验证安装 : get_started/installation.html#id5 - get_started/introduction.md#介绍 介绍 : get_started/introduction.html#id1 - get_started/introduction.md#公共基础模块 公共基础模块 : get_started/introduction.html#id5 - get_started/introduction.md#架构 架构 : get_started/introduction.html#id2 - get_started/introduction.md#核心模块与相关组件 核心模块与相关组件 : get_started/introduction.html#id4 - get_started/introduction.md#模块介绍 模块介绍 : get_started/introduction.html#id3 - migration/hook.md#功能差异 功能差异 : migration/hook.html#id2 - migration/hook.md#实现差异 实现差异 : migration/hook.html#id5 - migration/hook.md#点位差异 点位差异 : migration/hook.html#id3 - migration/hook.md#用法差异 用法差异 : migration/hook.html#id4 - migration/hook.md#简介 简介 : migration/hook.html#id1 - migration/hook.md#迁移-mmcv-钩子到-mmengine 迁移 MMCV 钩子到 MMEngine : migration/hook.html#mmcv-mmengine - migration/model.md#优化流程的迁移 优化流程的迁移 : migration/model.html#id2 - migration/model.md#常用的参数更新流程 常用的参数更新流程 : migration/model.html#id3 - migration/model.md#简介 简介 : migration/model.html#id1 - migration/model.md#自定义的参数更新流程 自定义的参数更新流程 : migration/model.html#id4 - migration/model.md#迁移-mmcv-模型到-mmengine 迁移 MMCV 模型到 MMEngine : migration/model.html#mmcv-mmengine - migration/model.md#迁移分布式训练 迁移分布式训练 : migration/model.html#id6 - migration/model.md#验证测试流程的迁移 验证/测试流程的迁移 : migration/model.html#id5 - migration/param_scheduler.md#cosineannealing-学习率cosineannealinglrupdaterhook迁移 CosineAnnealing 学习率(CosineAnnealingLrUpdaterHook)迁移: migration/param_scheduler.html#cosineannealing-cosineannealinglrupdaterhook - migration/param_scheduler.md#cosinerestart-学习率cosinerestartlrupdaterhook迁移 CosineRestart 学习率(CosineRestartLrUpdaterHook)迁移: migration/param_scheduler.html#cosinerestart-cosinerestartlrupdaterhook - migration/param_scheduler.md#exp-学习率explrupdaterhook迁移 exp 学习率(ExpLrUpdaterHook)迁移 : migration/param_scheduler.html#exp-explrupdaterhook - migration/param_scheduler.md#fixed-学习率fixedlrupdaterhook迁移 fixed 学习率(FixedLrUpdaterHook)迁移 : migration/param_scheduler.html#fixed-fixedlrupdaterhook - migration/param_scheduler.md#flatcosineannealing-学习率flatcosineannealinglrupdaterhook迁移 FlatCosineAnnealing 学习率(FlatCosineAnnealingLrUpdaterHook)迁移: migration/param_scheduler.html#flatcosineannealing-flatcosineannealinglrupdaterhook - migration/param_scheduler.md#linearannealing-学习率linearannealinglrupdaterhook迁移 LinearAnnealing 学习率(LinearAnnealingLrUpdaterHook)迁移: migration/param_scheduler.html#linearannealing-linearannealinglrupdaterhook - migration/param_scheduler.md#onecycle-学习率onecyclelrupdaterhook迁移 OneCycle 学习率(OneCycleLrUpdaterHook)迁移 : migration/param_scheduler.html#onecycle-onecyclelrupdaterhook - migration/param_scheduler.md#poly-学习率polylrupdaterhook迁移 poly 学习率(PolyLrUpdaterHook)迁移 : migration/param_scheduler.html#poly-polylrupdaterhook - migration/param_scheduler.md#step-学习率steplrupdaterhook迁移 step 学习率(StepLrUpdaterHook)迁移 : migration/param_scheduler.html#step-steplrupdaterhook - migration/param_scheduler.md#动量调度器momentumupdater迁移 动量调度器(MomentumUpdater)迁移 : migration/param_scheduler.html#momentumupdater - migration/param_scheduler.md#参数更新频率相关配置迁移 参数更新频率相关配置迁移 : migration/param_scheduler.html#id1 - migration/param_scheduler.md#学习率调度器lrupdater迁移 学习率调度器(LrUpdater)迁移 : migration/param_scheduler.html#lrupdater - migration/param_scheduler.md#学习率预热warmup迁移 学习率预热(Warmup)迁移 : migration/param_scheduler.html#warmup - migration/param_scheduler.md#常数预热constant 常数预热(constant) : migration/param_scheduler.html#constant - migration/param_scheduler.md#指数预热exp 指数预热(exp) : migration/param_scheduler.html#exp - migration/param_scheduler.md#线性预热linear 线性预热(linear) : migration/param_scheduler.html#linear - migration/param_scheduler.md#迁移-mmcv-参数调度器到-mmengine 迁移 MMCV 参数调度器到 MMEngine : migration/param_scheduler.html#mmcv-mmengine - migration/runner.md#准备logger 准备logger : migration/runner.html#logger - migration/runner.md#准备优化器 准备优化器 : migration/runner.html#id9 - migration/runner.md#准备数据 准备数据 : migration/runner.html#id7 - migration/runner.md#准备模型 准备模型 : migration/runner.html#id8 - migration/runner.md#准备训练钩子 准备训练钩子 : migration/runner.html#id10 - migration/runner.md#准备验证模块 准备验证模块 : migration/runner.html#id11 - migration/runner.md#初始化训练环境 初始化训练环境 : migration/runner.html#id6 - migration/runner.md#启动脚本的迁移 启动脚本的迁移 : migration/runner.html#id4 - migration/runner.md#执行入口 执行入口 : migration/runner.html#id2 - migration/runner.md#执行器加载检查点 执行器加载检查点 : migration/runner.html#id13 - migration/runner.md#执行器测试流程 执行器测试流程 : migration/runner.html#id15 - migration/runner.md#执行器训练流程 执行器训练流程 : migration/runner.html#id14 - migration/runner.md#构建执行器 构建执行器 : migration/runner.html#id12 - migration/runner.md#简介 简介 : migration/runner.html#id1 - migration/runner.md#设置随机种子 设置随机种子 : migration/runner.html#id5 - migration/runner.md#迁移-mmcv-执行器到-mmengine 迁移 MMCV 执行器到 MMEngine : migration/runner.html#mmcv-mmengine - migration/runner.md#迁移执行器runner 迁移执行器(Runner) : migration/runner.html#runner - migration/runner.md#迁移自定义执行流程 迁移自定义执行流程 : migration/runner.html#id16 - migration/runner.md#配置文件的迁移 配置文件的迁移 : migration/runner.html#id3 - migration/transform.md#功能差异 功能差异 : migration/transform.html#id3 - migration/transform.md#实现差异 实现差异 : migration/transform.html#id4 - migration/transform.md#数据变换类的迁移 数据变换类的迁移 : migration/transform.html#id1 - migration/transform.md#简介 简介 : migration/transform.html#id2 - modindex 模块索引 : py-modindex.html - notes/changelog.md#bug-fixes Bug Fixes : notes/changelog.html#bug-fixes - notes/changelog.md#bug-fixes-1 Bug Fixes : notes/changelog.html#id3 - notes/changelog.md#bug-fixes-2 Bug Fixes : notes/changelog.html#id7 - notes/changelog.md#bug-fixes-3 Bug Fixes : notes/changelog.html#id11 - notes/changelog.md#bug-fixes-4 Bug Fixes : notes/changelog.html#id15 - notes/changelog.md#bug-fixes-5 Bug Fixes : notes/changelog.html#id18 - notes/changelog.md#changelog-of-v0x Changelog of v0.x : notes/changelog.html#changelog-of-v0-x - notes/changelog.md#contributors Contributors : notes/changelog.html#contributors - notes/changelog.md#contributors-1 Contributors : notes/changelog.html#id5 - notes/changelog.md#docs Docs : notes/changelog.html#docs - notes/changelog.md#docs-1 Docs : notes/changelog.html#id4 - notes/changelog.md#docs-2 Docs : notes/changelog.html#id8 - notes/changelog.md#docs-3 Docs : notes/changelog.html#id12 - notes/changelog.md#docs-4 Docs : notes/changelog.html#id14 - notes/changelog.md#docs-5 Docs : notes/changelog.html#id17 - notes/changelog.md#highlights Highlights : notes/changelog.html#highlights - notes/changelog.md#highlights-1 Highlights : notes/changelog.html#id1 - notes/changelog.md#highlights-2 Highlights : notes/changelog.html#id9 - notes/changelog.md#new-contributors New Contributors : notes/changelog.html#new-contributors - notes/changelog.md#new-contributors-1 New Contributors : notes/changelog.html#id19 - notes/changelog.md#new-features--enhancements New Features & Enhancements : notes/changelog.html#new-features-enhancements - notes/changelog.md#new-features--enhancements-1 New Features & Enhancements : notes/changelog.html#id2 - notes/changelog.md#new-features--enhancements-2 New Features & Enhancements : notes/changelog.html#id6 - notes/changelog.md#new-features--enhancements-3 New Features & Enhancements : notes/changelog.html#id10 - notes/changelog.md#new-features--enhancements-4 New Features & Enhancements : notes/changelog.html#id13 - notes/changelog.md#new-features--enhancements-5 New Features & Enhancements : notes/changelog.html#id16 - notes/changelog.md#v020-11102022 v0.2.0 (11/10/2022) : notes/changelog.html#v0-2-0-11-10-2022 - notes/changelog.md#v030-11022022 v0.3.0 (11/02/2022) : notes/changelog.html#v0-3-0-11-02-2022 - notes/changelog.md#v031-11092022 v0.3.1 (11/09/2022) : notes/changelog.html#v0-3-1-11-09-2022 - notes/changelog.md#v032-11242022 v0.3.2 (11/24/2022) : notes/changelog.html#v0-3-2-11-24-2022 - notes/changelog.md#v040-12282022 v0.4.0 (12/28/2022) : notes/changelog.html#v0-4-0-12-28-2022 - notes/changelog.md#v050-01202023 v0.5.0 (01/20/2023) : notes/changelog.html#v0-5-0-01-20-2023 - notes/code_style.md#docstring-规范 docstring 规范 : notes/code_style.html#docstring - notes/code_style.md#google-开源项目风格指南 Google 开源项目风格指南 : notes/code_style.html#google - notes/code_style.md#pep-8--python-官方代码规范 PEP 8 —— Python 官方代码规范 : notes/code_style.html#pep-8-python - notes/code_style.md#为什么要写-docstring 为什么要写 docstring : notes/code_style.html#id7 - notes/code_style.md#为什么要写注释 为什么要写注释 : notes/code_style.html#id10 - notes/code_style.md#为什么要写类型注解 为什么要写类型注解 : notes/code_style.html#id14 - notes/code_style.md#代码规范 代码规范 : notes/code_style.html#id1 - notes/code_style.md#代码规范标准 代码规范标准 : notes/code_style.html#id2 - notes/code_style.md#命名技巧 命名技巧 : notes/code_style.html#id6 - notes/code_style.md#命名规范 命名规范 : notes/code_style.html#id3 - notes/code_style.md#命名规范的重要性 命名规范的重要性 : notes/code_style.html#id4 - notes/code_style.md#基础命名规范 基础命名规范 : notes/code_style.html#id5 - notes/code_style.md#如何写-docstring 如何写 docstring : notes/code_style.html#id8 - notes/code_style.md#如何写注释 如何写注释 : notes/code_style.html#id11 - notes/code_style.md#如何写类型注解 如何写类型注解 : notes/code_style.html#id15 - notes/code_style.md#注释示例 注释示例 : notes/code_style.html#id12 - notes/code_style.md#注释规范 注释规范 : notes/code_style.html#id9 - notes/code_style.md#类型注解 类型注解 : notes/code_style.html#id13 - notes/code_style.md#类型注解检查工具 类型注解检查工具 : notes/code_style.html#id16 - notes/contributing.md#1-复刻仓库 1. 复刻仓库 : notes/contributing.html#id3 - notes/contributing.md#2-配置-pre-commit 2. 配置 pre-commit : notes/contributing.html#pre-commit - notes/contributing.md#3-创建开发分支 3. 创建开发分支 : notes/contributing.html#id4 - notes/contributing.md#4-提交代码并在本地通过单元测试 4. 提交代码并在本地通过单元测试 : notes/contributing.html#id5 - notes/contributing.md#5-推送代码到远程 5. 推送代码到远程 : notes/contributing.html#id6 - notes/contributing.md#6-提交拉取请求pr 6. 提交拉取请求(PR) : notes/contributing.html#pr - notes/contributing.md#7-解决冲突 7. 解决冲突 : notes/contributing.html#id7 - notes/contributing.md#python-代码风格 Python 代码风格 : notes/contributing.html#python - notes/contributing.md#单元测试 单元测试 : notes/contributing.html#id9 - notes/contributing.md#拉取请求工作流 拉取请求工作流 : notes/contributing.html#id2 - notes/contributing.md#拉取请求规范 拉取请求规范 : notes/contributing.html#id11 - notes/contributing.md#指引 指引 : notes/contributing.html#id8 - notes/contributing.md#文档渲染 文档渲染 : notes/contributing.html#id10 - notes/contributing.md#贡献代码 贡献代码 : notes/contributing.html#id1 - py-modindex Python 模块索引 : py-modindex.html - search 搜索页面 : search.html - switch_language.md#english English : switch_language.html#a-href-https-mmengine-readthedocs-io-en-latest-english-a - switch_language.md#简体中文 简体中文 : switch_language.html#a-href-https-mmengine-readthedocs-io-zh-cn-latest-a - tutorials/dataset.md#defaultsampler DefaultSampler : tutorials/dataset.html#defaultsampler - tutorials/dataset.md#sampler-与-shuffle sampler 与 shuffle : tutorials/dataset.html#sampler-shuffle - tutorials/dataset.md#不起眼的-collate_fn 不起眼的 collate_fn : tutorials/dataset.html#collate-fn - tutorials/dataset.md#使用-mmengine-的数据集基类 使用 MMEngine 的数据集基类 : tutorials/dataset.html#mmengine - tutorials/dataset.md#使用-torchvision-数据集 使用 torchvision 数据集 : tutorials/dataset.html#torchvision - tutorials/dataset.md#数据加载器详解 数据加载器详解 : tutorials/dataset.html#id1 - tutorials/dataset.md#数据集dataset与数据加载器dataloader 数据集(Dataset)与数据加载器(DataLoader) : tutorials/dataset.html#dataset-dataloader - tutorials/dataset.md#数据集详解 数据集详解 : tutorials/dataset.html#id2 - tutorials/dataset.md#自定义数据集 自定义数据集 : tutorials/dataset.html#id3 - tutorials/evaluation.md#使用单个评测指标 使用单个评测指标 : tutorials/evaluation.html#id2 - tutorials/evaluation.md#使用多个评测指标 使用多个评测指标 : tutorials/evaluation.html#id3 - tutorials/evaluation.md#使用离线结果进行评测 使用离线结果进行评测 : tutorials/evaluation.html#id5 - tutorials/evaluation.md#在模型训练或测试中进行评测 在模型训练或测试中进行评测 : tutorials/evaluation.html#id1 - tutorials/evaluation.md#模型精度评测evaluation 模型精度评测(Evaluation) : tutorials/evaluation.html#evaluation - tutorials/evaluation.md#自定义评测指标 自定义评测指标 : tutorials/evaluation.html#id4 - tutorials/hook.md#checkpointhook CheckpointHook : tutorials/hook.html#checkpointhook - tutorials/hook.md#distsamplerseedhook DistSamplerSeedHook : tutorials/hook.html#distsamplerseedhook - tutorials/hook.md#emahook EMAHook : tutorials/hook.html#emahook - tutorials/hook.md#emptycachehook EmptyCacheHook : tutorials/hook.html#emptycachehook - tutorials/hook.md#itertimerhook IterTimerHook : tutorials/hook.html#itertimerhook - tutorials/hook.md#loggerhook LoggerHook : tutorials/hook.html#loggerhook - tutorials/hook.md#paramschedulerhook ParamSchedulerHook : tutorials/hook.html#paramschedulerhook - tutorials/hook.md#runtimeinfohook RuntimeInfoHook : tutorials/hook.html#runtimeinfohook - tutorials/hook.md#syncbuffershook SyncBuffersHook : tutorials/hook.html#syncbuffershook - tutorials/hook.md#内置钩子 内置钩子 : tutorials/hook.html#id1 - tutorials/hook.md#自定义钩子 自定义钩子 : tutorials/hook.html#id2 - tutorials/hook.md#钩子hook 钩子(Hook) : tutorials/hook.html#hook - tutorials/model.md#runner-与-model Runner 与 model : tutorials/model.html#runner-model - tutorials/model.md#接口约定 接口约定 : tutorials/model.html#id1 - tutorials/model.md#数据预处理器datapreprocessor 数据预处理器(DataPreprocessor) : tutorials/model.html#datapreprocessor - tutorials/model.md#模型model 模型(Model) : tutorials/model.html#model - tutorials/optim_wrapper.md#为不同类型的参数设置不同的超参系数 为不同类型的参数设置不同的超参系数 : tutorials/optim_wrapper.html#id7 - tutorials/optim_wrapper.md#为模型不同部分的参数设置不同的超参系数 为模型不同部分的参数设置不同的超参系数 : tutorials/optim_wrapper.html#id8 - tutorials/optim_wrapper.md#优化器封装-vs-优化器 优化器封装 vs 优化器 : tutorials/optim_wrapper.html#vs - tutorials/optim_wrapper.md#优化器封装optimwrapper 优化器封装(OptimWrapper) : tutorials/optim_wrapper.html#optimwrapper - tutorials/optim_wrapper.md#使用多个优化器 使用多个优化器 : tutorials/optim_wrapper.html#id4 - tutorials/optim_wrapper.md#在执行器中配置优化器封装 在执行器中配置优化器封装 : tutorials/optim_wrapper.html#id5 - tutorials/optim_wrapper.md#在训练过程中调整超参 在训练过程中调整超参 : tutorials/optim_wrapper.html#id10 - tutorials/optim_wrapper.md#导出加载状态字典 导出/加载状态字典 : tutorials/optim_wrapper.html#id3 - tutorials/optim_wrapper.md#自定义优化器构造策略 自定义优化器构造策略 : tutorials/optim_wrapper.html#id9 - tutorials/optim_wrapper.md#获取学习率动量 获取学习率/动量 : tutorials/optim_wrapper.html#id2 - tutorials/optim_wrapper.md#训练模型 训练模型 : tutorials/optim_wrapper.html#id1 - tutorials/optim_wrapper.md#进阶配置 进阶配置 : tutorials/optim_wrapper.html#id6 - tutorials/param_scheduler.md#优化器参数调整策略parameter-scheduler 优化器参数调整策略(Parameter Scheduler) : tutorials/param_scheduler.html#parameter-scheduler - tutorials/param_scheduler.md#使用单一的学习率调度器 使用单一的学习率调度器 : tutorials/param_scheduler.html#id2 - tutorials/param_scheduler.md#动量 动量 : tutorials/param_scheduler.html#id5 - tutorials/param_scheduler.md#参数调度器的使用 参数调度器的使用 : tutorials/param_scheduler.html#id1 - tutorials/param_scheduler.md#如何调整其他参数 如何调整其他参数 : tutorials/param_scheduler.html#id4 - tutorials/param_scheduler.md#组合多个学习率调度器以学习率预热为例 组合多个学习率调度器(以学习率预热为例) : tutorials/param_scheduler.html#id3 - tutorials/param_scheduler.md#通用的参数调度器 通用的参数调度器 : tutorials/param_scheduler.html#id6 - tutorials/runner.md#下一步的建议 下一步的建议 : tutorials/runner.html#id7 - tutorials/runner.md#为什么使用执行器可选 为什么使用执行器(可选) : tutorials/runner.html#id6 - tutorials/runner.md#基本数据流 基本数据流 : tutorials/runner.html#id5 - tutorials/runner.md#执行器runner 执行器(Runner) : tutorials/runner.html#runner - tutorials/runner.md#执行器最佳实践配置文件 执行器最佳实践——配置文件 : tutorials/runner.html#id4 - tutorials/runner.md#执行器示例 执行器示例 : tutorials/runner.html#id1 - tutorials/runner.md#示例代码讲解 示例代码讲解 : tutorials/runner.html#id3 - tutorials/runner.md#面向初学者的示例代码 面向初学者的示例代码 : tutorials/runner.html#id2 diff --git a/mmengine/visualization/vis_backend.py b/mmengine/visualization/vis_backend.py index cab54528b8..140565b48a 100644 --- a/mmengine/visualization/vis_backend.py +++ b/mmengine/visualization/vis_backend.py @@ -324,7 +324,7 @@ def _dump(self, value_dict: dict, file_path: str, class WandbVisBackend(BaseVisBackend): """Wandb visualization backend class. - Examples + Examples: >>> from mmengine.visualization import WandbVisBackend >>> import numpy as np >>> wandb_vis_backend = WandbVisBackend()