diff --git a/official/cv/ssd/scripts/run_distribute_train.sh b/official/cv/ssd/scripts/run_distribute_train.sh
index 962586894aab463f99236cdf4b23fbe41b22a8fd..4d37196688ce069f7c06831268e3bbd76b82f6bb 100644
--- a/official/cv/ssd/scripts/run_distribute_train.sh
+++ b/official/cv/ssd/scripts/run_distribute_train.sh
@@ -28,10 +28,19 @@ then
     exit 1
 fi
 
+get_real_path(){
+  if [ "${1:0:1}" == "/" ]; then
+    echo "$1"
+  else
+    echo "$(realpath -m $PWD/$1)"
+  fi
+}
+
+CONFIG_PATH=$(get_real_path $6)
 # Before start distribute train, first create mindrecord files.
 BASE_PATH=$(cd "`dirname $0`" || exit; pwd)
 cd $BASE_PATH/../ || exit
-python train.py --only_create_dataset=True --dataset=$4
+python train.py --only_create_dataset=True --dataset=$4 --config_path=$CONFIG_PATH
 
 echo "After running the script, the network runs in the background. The log will be generated in LOGx/log.txt"
 
@@ -40,7 +49,6 @@ EPOCH_SIZE=$2
 LR=$3
 DATASET=$4
 PRE_TRAINED=$7
-CONFIG_PATH=$6
 PRE_TRAINED_EPOCH_SIZE=$8
 export RANK_TABLE_FILE=$5
 
diff --git a/official/cv/ssd/scripts/run_distribute_train_gpu.sh b/official/cv/ssd/scripts/run_distribute_train_gpu.sh
index 9bd9ecaaa21db928d4ac45647a9e93f4e38f687b..0778ad70ff9414d874f0d1e3ce2ffc9d77c499f5 100644
--- a/official/cv/ssd/scripts/run_distribute_train_gpu.sh
+++ b/official/cv/ssd/scripts/run_distribute_train_gpu.sh
@@ -28,10 +28,19 @@ then
     exit 1
 fi
 
+get_real_path(){
+  if [ "${1:0:1}" == "/" ]; then
+    echo "$1"
+  else
+    echo "$(realpath -m $PWD/$1)"
+  fi
+}
+
+CONFIG_PATH=$(get_real_path $5)
 # Before start distribute train, first create mindrecord files.
 BASE_PATH=$(cd "`dirname $0`" || exit; pwd)
 cd $BASE_PATH/../ || exit
-python train.py --only_create_dataset=True --device_target="GPU" --dataset=$4
+python train.py --only_create_dataset=True --device_target="GPU" --dataset=$4 --config_path=$CONFIG_PATH
 
 echo "After running the script, the network runs in the background. The log will be generated in LOG/log.txt"
 
@@ -39,7 +48,6 @@ export RANK_SIZE=$1
 EPOCH_SIZE=$2
 LR=$3
 DATASET=$4
-CONFIG_PATH=$5
 PRE_TRAINED=$6
 PRE_TRAINED_EPOCH_SIZE=$7
 
diff --git a/official/cv/ssd/scripts/run_standalone_train.sh b/official/cv/ssd/scripts/run_standalone_train.sh
index e0b09b98d269f0f3f91bb3a59bf1d68c0fe5b424..5fbd7316b8f3897f6c3d23de4a165fbfbe3bb80a 100644
--- a/official/cv/ssd/scripts/run_standalone_train.sh
+++ b/official/cv/ssd/scripts/run_standalone_train.sh
@@ -28,17 +28,25 @@ then
     exit 1
 fi
 
-# Before start distribute train, first create mindrecord files.
+get_real_path(){
+  if [ "${1:0:1}" == "/" ]; then
+    echo "$1"
+  else
+    echo "$(realpath -m $PWD/$1)"
+  fi
+}
+
+CONFIG_PATH=$(get_real_path $5)
+# Before start training, first create mindrecord files.
 BASE_PATH=$(cd "`dirname $0`" || exit; pwd)
 cd $BASE_PATH/../ || exit
-python train.py --only_create_dataset=True --dataset=$4
+python train.py --only_create_dataset=True --dataset=$4 --config_path=$CONFIG_PATH
 
 echo "After running the script, the network runs in the background. The log will be generated in LOGx/log.txt"
 DEVICE_ID=$1
 EPOCH_SIZE=$2
 LR=$3
 DATASET=$4
-CONFIG_PATH=$5
 PRE_TRAINED=$6
 PRE_TRAINED_EPOCH_SIZE=$7