{"record":{"id":"200156d340a7b914","repo":"open-mmlab/mmdetection","slug":"please-run-pip-install-openmim-and-run-mim-inst","errorCode":null,"errorMessage":"Please run \"pip install openmim\" and run \"mim install mmpretrain\" to install mmpretrain first.","messagePattern":"Please run \"pip install openmim\" and run \"mim install mmpretrain\" to install mmpretrain first\\.","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"mmdet/models/data_preprocessors/reid_data_preprocessor.py","lineNumber":90,"sourceCode":"        to_onehot (bool): Whether to generate one-hot format gt-labels and set\n            to data samples. Defaults to False.\n        num_classes (int, optional): The number of classes. Defaults to None.\n        batch_augments (dict, optional): The batch augmentations settings,\n            including \"augments\" and \"probs\". For more details, see\n            :class:`mmpretrain.models.RandomBatchAugment`.\n    \"\"\"\n\n    def __init__(self,\n                 mean: Sequence[Number] = None,\n                 std: Sequence[Number] = None,\n                 pad_size_divisor: int = 1,\n                 pad_value: Number = 0,\n                 to_rgb: bool = False,\n                 to_onehot: bool = False,\n                 num_classes: Optional[int] = None,\n                 batch_augments: Optional[dict] = None):\n        if mmpretrain is None:\n            raise RuntimeError('Please run \"pip install openmim\" and '\n                               'run \"mim install mmpretrain\" to '\n                               'install mmpretrain first.')\n        super().__init__()\n        self.pad_size_divisor = pad_size_divisor\n        self.pad_value = pad_value\n        self.to_rgb = to_rgb\n        self.to_onehot = to_onehot\n        self.num_classes = num_classes\n\n        if mean is not None:\n            assert std is not None, 'To enable the normalization in ' \\\n                'preprocessing, please specify both `mean` and `std`.'\n            # Enable the normalization in preprocessing.\n            self._enable_normalize = True\n            self.register_buffer('mean',\n                                 torch.tensor(mean).view(-1, 1, 1), False)\n            self.register_buffer('std',\n                                 torch.tensor(std).view(-1, 1, 1), False)","sourceCodeStart":72,"sourceCodeEnd":108,"githubUrl":"https://github.com/open-mmlab/mmdetection/blob/cfd5d3a985b0249de009b67d04f37263e11cdf3d/mmdet/models/data_preprocessors/reid_data_preprocessor.py#L72-L108","documentation":"ReIDDataPreprocessor.__init__ raises RuntimeError when the optional mmpretrain package is not importable. The ReID training pipeline (e.g. for MOT/DeepSORT) depends on mmpretrain for its loss utilities.","triggerScenarios":"Instantiating ReIDDataPreprocessor in a tracking (ByteTrack/DeepSORT) training config without mmpretrain installed; only mmdet is installed in the environment.","commonSituations":"Setting up MOT ReID training environments; missing optional dependency after a fresh mmdet install.","solutions":["pip install openmim && mim install mmpretrain","Verify with python -c 'import mmpretrain'","Or avoid ReID configs if mmpretrain is not needed"],"exampleFix":"// shell\npip install openmim\nmim install mmpretrain","handlingStrategy":"validation","validationCode":"try:\\n    import mmpretrain  # noqa\\nexcept ImportError:\\n    raise SystemExit('Run: mim install mmpretrain')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Install optional dependencies before running tracking/ReID configs","Smoke-test imports of optional packages in environment setup scripts"],"tags":["mmdet","mmpretrain","missing-dependency","reid","tracking"],"backgroundTag":"missing-python-package","analyzedSha":"cfd5d3a985b0249de009b67d04f37263e11cdf3d","analyzedAt":"2026-08-27T20:54:20.183Z","schemaVersion":2},"datasetVersion":"2026-08-28T00:17:15.603Z"}