diff --git a/.gitignore b/.gitignore
index d5ef5f5a1a6676ef198d259715640f67fbd14bcc..01c47d6e277dba0d7b880dff88f9695f9a8eec50 100644
--- a/.gitignore
+++ b/.gitignore
@@ -105,4 +105,5 @@ venv.bak/
 
 # cython generated cpp
 mmdet/ops/nms/*.cpp
+mmdet/version.py
 data
diff --git a/tools/train.py b/tools/train.py
index dde6b06b5c3ae6e27da01e21109ccbc0b34d2337..78f8a553c5f6f59f0d23ac6367643cffe6a1bdeb 100644
--- a/tools/train.py
+++ b/tools/train.py
@@ -9,7 +9,7 @@ import torch
 from mmcv import Config
 from mmcv.torchpack import Runner, obj_from_dict
 
-from mmdet import datasets
+from mmdet import datasets, __version__
 from mmdet.core import (init_dist, DistOptimizerHook, DistSamplerSeedHook,
                         MMDataParallel, MMDistributedDataParallel,
                         CocoDistEvalRecallHook, CocoDistEvalmAPHook)
@@ -89,6 +89,8 @@ def main():
     if args.work_dir is not None:
         cfg.work_dir = args.work_dir
     cfg.gpus = args.gpus
+    # add mmdet version to checkpoint as meta data
+    cfg.checkpoint_config.meta = dict(mmdet_version=__version__)
 
     logger = get_logger(cfg.log_level)