open-mmlab/mmdetection · critical · RuntimeError
Please run "pip install openmim" and run "mim install mmpret
Error message
Please run "pip install openmim" and run "mim install mmpretrain" to install mmpretrain first.
What it means
LinearReIDHead requires mmpretrain because it extends mmpretrain's BaseModuleClsHead; if the mmpretrain import failed (mmpretrain is None), __init__ raises RuntimeError immediately with installation instructions.
Source
Thrown at mmdet/models/reid/linear_reid_head.py:59
Defaults to dict(type='Normal',layer='Linear', mean=0, std=0.01,
bias=0).
"""
def __init__(self,
num_fcs: int,
in_channels: int,
fc_channels: int,
out_channels: int,
norm_cfg: Optional[dict] = None,
act_cfg: Optional[dict] = None,
num_classes: Optional[int] = None,
loss_cls: Optional[dict] = None,
loss_triplet: Optional[dict] = None,
topk: Union[int, Tuple[int]] = (1, ),
init_cfg: Union[dict, List[dict]] = dict(
type='Normal', layer='Linear', mean=0, std=0.01, bias=0)):
if mmpretrain is None:
raise RuntimeError('Please run "pip install openmim" and '
'run "mim install mmpretrain" to '
'install mmpretrain first.')
super(LinearReIDHead, self).__init__(init_cfg=init_cfg)
assert isinstance(topk, (int, tuple))
if isinstance(topk, int):
topk = (topk, )
for _topk in topk:
assert _topk > 0, 'Top-k should be larger than 0'
self.topk = topk
if loss_cls is None:
if isinstance(num_classes, int):
warnings.warn('Since cross entropy is not set, '
'the num_classes will be ignored.')
if loss_triplet is None:
raise ValueError('Please choose at least one loss in '
'triplet loss and cross entropy loss.')View on GitHub (pinned to cfd5d3a985)
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
Example fix
# before RuntimeError at head construction # after mim install mmpretrain # then rebuild/train
Defensive patterns
Strategy: validation
Validate before calling
import importlib.util
assert importlib.util.find_spec('mmpretrain') is not None, 'mmpretrain required for LinearReIDHead' Prevention
- Install mmpretrain via mim
- Pin compatible mmengine/mmpretrain/mmdet versions together
When it happens
Trigger: 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.
Common situations: Optional mmpretrain dependency not installed; mmpretrain version incompatible with installed mmengine/mmcv so the import errors and is swallowed.
Related errors
- Please run "pip install openmim" and run "mim install mmpret
- Please run "pip install openmim" and run "mim install mmpret
- panopticapi is not installed, please install it by: pip inst
- Please run "pip install instaboostfast" to install instaboos
- panopticapi is not installed, please install it by: pip inst
AI-assisted analysis of open-mmlab/mmdetection@cfd5d3a985 (2026-08-27).
Data as JSON: /api/errors/d69f13705c48f86a.
Report an issue: GitHub.