Skip to content

Latest commit

 

History

History
113 lines (87 loc) · 5.03 KB

package.md

File metadata and controls

113 lines (87 loc) · 5.03 KB

Package structures changes

This section is included if you are curious about what has changed between MMSeg 0.x and 1.x.

MMSegmentation 0.x MMSegmentation 1.x
mmseg.api mmseg.api
- mmseg.core + mmseg.engine
mmseg.datasets mmseg.datasets
mmseg.models mmseg.models
- mmseg.ops + mmseg.structure
mmseg.utils mmseg.utils
+ mmseg.evaluation
+ mmseg.registry

Removed packages

mmseg.core

In OpenMMLab 2.0, core package has been removed. hooks and optimizers of core are moved in mmseg.engine, and evaluation in core is mmseg.evaluation currently.

mmseg.ops

ops package included encoding and wrappers, which are moved in mmseg.models.utils.

Added packages

mmseg.engine

OpenMMLab 2.0 adds a new foundational library for training deep learning, MMEngine. It servers as the training engine of all OpenMMLab codebases. engine package of mmseg is some customized modules for semantic segmentation task, like SegVisualizationHook which works for visualizing segmentation mask.

mmseg.structure

In OpenMMLab 2.0, we designed data structure for computer vision task, and in mmseg, we implements SegDataSample in structure package.

mmseg.evaluation

We move all evaluation metric in mmseg.evaluation.

mmseg.registry

We moved registry implementations for all kinds of modules in MMSegmentation in mmseg.registry.

Modified packages

mmseg.apis

OpenMMLab 2.0 tries to support unified interface for multitasking of Computer Vision, and releases much stronger Runner, so MMSeg 1.x removed modules in train.py and test.py renamed init_segmentor to init_model and inference_segmentor to inference_model.

Here is the changes of mmseg.apis:

Function Changes
init_segmentor Renamed to init_model
inference_segmentor Rename to inference_model
show_result_pyplot Implemented based on SegLocalVisualizer
train_model Removed, use runner.train to train.
multi_gpu_test Removed, use runner.test to test.
single_gpu_test Removed, use runner.test to test.
set_random_seed Removed, use mmengine.runner.set_random_seed.
init_random_seed Removed, use mmengine.dist.sync_random_seed.

mmseg.datasets

OpenMMLab 2.0 defines the BaseDataset to function and interface of dataset, and MMSegmentation 1.x also follow this protocol and defines the BaseSegDataset inherited from BaseDataset. MMCV 2.x collects general data transforms for multiple tasks e.g. classification, detection, segmentation, so MMSegmentation 1.x uses these data transforms and removes them from mmseg.datasets.

Packages/Modules Changes
mmseg.pipelines Moved in mmcv.transforms
mmseg.sampler Moved in mmengine.dataset.sampler
CustomDataset Renamed to BaseSegDataset and inherited from BaseDataset in MMEngine
DefaultFormatBundle Replaced with PackSegInputs
LoadImageFromFile Moved in mmcv.transforms.LoadImageFromFile
LoadAnnotations Moved in mmcv.transforms.LoadAnnotations
Resize Moved in mmcv.transforms and split into Resize, RandomResize and RandomChoiceResize
RandomFlip Moved in mmcv.transforms.RandomFlip
Pad Moved in mmcv.transforms.Pad
Normalize Moved in mmcv.transforms.Normalize
Compose Moved in mmcv.transforms.Compose
ImageToTensor Moved in mmcv.transforms.ImageToTensor

mmseg.models

models has not changed a lot, just added the encoding and wrappers from previous mmseg.ops