{"record":{"id":"d69f13705c48f86a","repo":"open-mmlab/mmdetection","slug":"please-run-pip-install-openmim-and-run-mim-inst-d69f13","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":"critical","filePath":"mmdet/models/reid/linear_reid_head.py","lineNumber":59,"sourceCode":"            Defaults to dict(type='Normal',layer='Linear', mean=0, std=0.01,\n            bias=0).\n    \"\"\"\n\n    def __init__(self,\n                 num_fcs: int,\n                 in_channels: int,\n                 fc_channels: int,\n                 out_channels: int,\n                 norm_cfg: Optional[dict] = None,\n                 act_cfg: Optional[dict] = None,\n                 num_classes: Optional[int] = None,\n                 loss_cls: Optional[dict] = None,\n                 loss_triplet: Optional[dict] = None,\n                 topk: Union[int, Tuple[int]] = (1, ),\n                 init_cfg: Union[dict, List[dict]] = dict(\n                     type='Normal', layer='Linear', mean=0, std=0.01, bias=0)):\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(LinearReIDHead, self).__init__(init_cfg=init_cfg)\n\n        assert isinstance(topk, (int, tuple))\n        if isinstance(topk, int):\n            topk = (topk, )\n        for _topk in topk:\n            assert _topk > 0, 'Top-k should be larger than 0'\n        self.topk = topk\n\n        if loss_cls is None:\n            if isinstance(num_classes, int):\n                warnings.warn('Since cross entropy is not set, '\n                              'the num_classes will be ignored.')\n            if loss_triplet is None:\n                raise ValueError('Please choose at least one loss in '\n                                 'triplet loss and cross entropy loss.')","sourceCodeStart":41,"sourceCodeEnd":77,"githubUrl":"https://github.com/open-mmlab/mmdetection/blob/cfd5d3a985b0249de009b67d04f37263e11cdf3d/mmdet/models/reid/linear_reid_head.py#L41-L77","documentation":"LinearReIDHead requires mmpretrain because it extends mmpretrain's BaseModuleClsHead; if the mmpretrain import failed (mmpretrain is None), __init__ raises RuntimeError immediately with installation instructions.","triggerScenarios":"Instantiating LinearReIDHead (all ReID heads built on it, e.g. in QDTrack/DeepSORT reid configs) in an environment where mmpretrain is missing or fails to import.","commonSituations":"Optional mmpretrain dependency not installed; mmpretrain version incompatible with installed mmengine/mmcv so the import errors and is swallowed.","solutions":["pip install openmim && mim install mmpretrain","Pin a compatible mmpretrain release matching your mmdet version","Run python -c \"import mmpretrain\" to confirm it imports cleanly"],"exampleFix":"# before\nRuntimeError at head construction\n# after\nmim install mmpretrain  # then rebuild/train","handlingStrategy":"validation","validationCode":"import importlib.util\nassert importlib.util.find_spec('mmpretrain') is not None, 'mmpretrain required for LinearReIDHead'","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Install mmpretrain via mim","Pin compatible mmengine/mmpretrain/mmdet versions together"],"tags":["mmdetection","mmpretrain","reid","missing-dependency"],"backgroundTag":"missing-optional-dependency","analyzedSha":"cfd5d3a985b0249de009b67d04f37263e11cdf3d","analyzedAt":"2026-08-27T20:54:20.183Z","schemaVersion":2},"datasetVersion":"2026-08-28T00:17:15.603Z"}