diff --git a/paddleseg/core/train.py b/paddleseg/core/train.py
index a2c4072adc..fab5925944 100644
--- a/paddleseg/core/train.py
+++ b/paddleseg/core/train.py
@@ -111,7 +111,7 @@ def train(model,
     if not os.path.isdir(save_dir):
         if os.path.exists(save_dir):
             os.remove(save_dir)
-        os.makedirs(save_dir)
+        os.makedirs(save_dir, exist_ok=True)
 
     # use amp
     if precision == 'fp16':