runAll_maxwell_mscn_var.sh 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #! bin/bash
  2. # erase "results/models_comparisons.csv" file and write new header
  3. file_path='results/models_comparisons.csv'
  4. list="all, center, split"
  5. if [ -z "$1" ]
  6. then
  7. echo "No argument supplied"
  8. echo "Need argument from [${list}]"
  9. exit 1
  10. fi
  11. if [[ "$1" =~ ^(all|center|split)$ ]]; then
  12. echo "$1 is in the list"
  13. else
  14. echo "$1 is not in the list"
  15. fi
  16. data=$1
  17. erased=$2
  18. if [ "${erased}" == "Y" ]; then
  19. echo "Previous data file erased..."
  20. rm ${file_path}
  21. mkdir -p results
  22. touch ${file_path}
  23. # add of header
  24. echo 'model_name; vector_size; start_index; end; nb_zones; feature; mode; tran_size; val_size; test_size; train_pct_size; val_pct_size; test_pct_size; train_acc; val_acc; test_acc; all_acc; F1_train; recall_train; roc_auc_train; F1_val; recall_val; roc_auc_val; F1_test; recall_test; roc_auc_test; F1_all; recall_all; roc_auc_all;' >> ${file_path}
  25. fi
  26. start_index=0
  27. end_index=4
  28. # selection of four scenes (only maxwell)
  29. scenes="A, D, G, H"
  30. declare -A features_size
  31. features_size=( ["mscn_var_4"]=4 ["mscn_var_16"]=16 ["mscn_var_64"]=64 ["mscn_var_16_max"]=4 ["mscn_var_64_max"]=16)
  32. for nb_zones in {4,6,8,10,12}; do
  33. for mode in {"svd","svdn","svdne"}; do
  34. for feature in {"mscn_var_4","mscn_var_16","mscn_var_64","mscn_var_16_max","mscn_var_64_max"}; do
  35. for model in {"svm_model","ensemble_model","ensemble_model_v2"}; do
  36. end_index=${features_size[${feature}]}
  37. FILENAME="data/${model}_N${end_index}_B${start_index}_E${end_index}_nb_zones_${nb_zones}_${feature}_${mode}"
  38. MODEL_NAME="${model}_N${end_index}_B${start_index}_E${end_index}_nb_zones_${nb_zones}_${feature}_${mode}"
  39. echo $FILENAME
  40. # only compute if necessary (perhaps server will fall.. Just in case)
  41. if grep -q "${MODEL_NAME}" "${file_path}"; then
  42. echo "${MODEL_NAME} results already generated..."
  43. else
  44. python generate/generate_data_model_random_${data}.py --output ${FILENAME} --interval "${start_index},${end_index}" --kind ${mode} --feature ${feature} --scenes "${scenes}" --nb_zones "${nb_zones}" --percent 1 --renderer "maxwell" --step 10 --random 1
  45. python train_model.py --data ${FILENAME} --output ${MODEL_NAME} --choice ${model}
  46. python others/save_model_result_in_md_maxwell.py --interval "${start_index},${end_index}" --model "saved_models/${MODEL_NAME}.joblib" --mode "${mode}" --feature ${feature}
  47. fi
  48. done
  49. done
  50. done
  51. done