|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
function func_parser_key() {
|
|
|
|
strs=$1
|
|
|
|
IFS=":"
|
|
|
|
array=(${strs})
|
|
|
|
tmp=${array[0]}
|
|
|
|
echo ${tmp}
|
|
|
|
}
|
|
|
|
|
|
|
|
function func_parser_value() {
|
|
|
|
strs=$1
|
|
|
|
IFS=":"
|
|
|
|
array=(${strs})
|
|
|
|
tmp=${array[1]}
|
|
|
|
echo ${tmp}
|
|
|
|
}
|
|
|
|
|
|
|
|
function func_parser_value_lite() {
|
|
|
|
strs=$1
|
|
|
|
IFS=$2
|
|
|
|
array=(${strs})
|
|
|
|
tmp=${array[1]}
|
|
|
|
echo ${tmp}
|
|
|
|
}
|
|
|
|
|
|
|
|
function func_set_params() {
|
|
|
|
key=$1
|
|
|
|
value=$2
|
|
|
|
if [ ${key}x = "null"x ];then
|
|
|
|
echo " "
|
|
|
|
elif [[ ${value} = "null" ]] || [[ ${value} = " " ]] || [ ${#value} -le 0 ];then
|
|
|
|
echo " "
|
|
|
|
else
|
|
|
|
echo "${key}=${value}"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
function func_parser_params() {
|
|
|
|
strs=$1
|
|
|
|
IFS=":"
|
|
|
|
array=(${strs})
|
|
|
|
key=${array[0]}
|
|
|
|
tmp=${array[1]}
|
|
|
|
IFS="|"
|
|
|
|
res=""
|
|
|
|
for _params in ${tmp[*]}; do
|
|
|
|
IFS="="
|
|
|
|
array=(${_params})
|
|
|
|
mode=${array[0]}
|
|
|
|
value=${array[1]}
|
|
|
|
if [[ ${mode} = ${MODE} ]]; then
|
|
|
|
IFS="|"
|
|
|
|
#echo $(func_set_params "${mode}" "${value}")
|
|
|
|
echo $value
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
IFS="|"
|
|
|
|
done
|
|
|
|
echo ${res}
|
|
|
|
}
|
|
|
|
|
|
|
|
function status_check() {
|
|
|
|
local last_status=$1 # the exit code
|
|
|
|
local run_command=$2
|
|
|
|
local run_log=$3
|
|
|
|
local model_name=$4
|
|
|
|
|
|
|
|
if [ $last_status -eq 0 ]; then
|
|
|
|
echo -e "\033[33m Run successfully with command - ${model_name} - ${run_command}! \033[0m" | tee -a ${run_log}
|
|
|
|
else
|
|
|
|
echo -e "\033[33m Run failed with command - ${model_name} - ${run_command}! \033[0m" | tee -a ${run_log}
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
function download_and_unzip_dataset() {
|
|
|
|
local ds_dir="$1"
|
|
|
|
local ds_name="$2"
|
|
|
|
local url="$3"
|
|
|
|
local clear="${4-True}"
|
|
|
|
|
|
|
|
local ds_path="${ds_dir}/${ds_name}"
|
|
|
|
local zip_name="${url##*/}"
|
|
|
|
|
|
|
|
if [ ${clear} = 'True' ]; then
|
|
|
|
rm -rf "${ds_path}"
|
|
|
|
fi
|
|
|
|
|
|
|
|
wget -O "${ds_dir}/${zip_name}" "${url}" --no-check-certificate
|
|
|
|
|
|
|
|
# The extracted file/directory must have the same name as the zip file.
|
|
|
|
cd "${ds_dir}" && unzip "${zip_name}"
|
|
|
|
if [ "${zip_name%.*}" != "${ds_name}" ]; then
|
|
|
|
mv "${zip_name%.*}" "${ds_name}"
|
|
|
|
fi
|
|
|
|
cd -
|
|
|
|
}
|
|
|
|
|
|
|
|
function parse_extra_args() {
|
|
|
|
local lines=("$@")
|
|
|
|
local last_idx=$((${#lines[@]}-1))
|
|
|
|
local IFS=';'
|
|
|
|
extra_args=(${lines[last_idx]})
|
|
|
|
}
|
|
|
|
|
|
|
|
function add_suffix() {
|
|
|
|
local ori_path="$1"
|
|
|
|
local suffix=$2
|
|
|
|
local ext="${ori_path##*.}"
|
|
|
|
echo "${ori_path%.*}${suffix}.${ext}"
|
|
|
|
}
|
|
|
|
|
|
|
|
function parse_first_value() {
|
|
|
|
local key_values=$1
|
|
|
|
local IFS=":"
|
|
|
|
local arr=(${key_values})
|
|
|
|
echo ${arr[1]}
|
|
|
|
}
|
|
|
|
|
|
|
|
function parse_second_value() {
|
|
|
|
local key_values=$1
|
|
|
|
local IFS=":"
|
|
|
|
local arr=(${key_values})
|
|
|
|
echo ${arr[2]}
|
|
|
|
}
|
|
|
|
|
|
|
|
function run_command() {
|
|
|
|
local cmd="$1"
|
|
|
|
local log_path="$2"
|
|
|
|
if [ -n "${log_path}" ]; then
|
|
|
|
eval ${cmd} | tee "${log_path}"
|
|
|
|
test ${PIPESTATUS[0]} -eq 0
|
|
|
|
else
|
|
|
|
eval ${cmd}
|
|
|
|
fi
|
|
|
|
}
|