Guest User

Untitled

a guest
May 24th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. # This hacky script was built because I had many gcloud ml-engine models left hanging around with many versions
  4. # deleting everything manually is tedious and gcloud does not appear to have a method to delete a model with versions
  5.  
  6. # usage: ./script.sh -m model_name -d
  7. # -d to delete the default model version and the model itself
  8.  
  9. # If the script is funky, change `grep -e` usage to `grep -P` (IIRC MacOS uses legacy grep)
  10.  
  11. # Initialize our own variables:
  12. model_name=""
  13. delete_default=0
  14.  
  15. while getopts "dm:" opt; do
  16. case "$opt" in
  17. d) delete_default=1
  18. ;;
  19. m) model_name=$OPTARG
  20. ;;
  21. esac
  22. done
  23.  
  24. if [ -z "$model_name" ]; then
  25. echo "Please define a model name to delete with -m"
  26. exit 1
  27. fi
  28.  
  29. default_model_version=$(gcloud ml-engine models list | grep -e "$model_name[[:space:]]" | awk '{print $2}' )
  30. model_versions=$(gcloud ml-engine versions list --model="$model_name" | grep 'READY' | awk '{print $1}' | grep -v "$default_model_version$")
  31.  
  32. if [ $model_versions ]; then
  33. # delete non defaults
  34. for version in $model_versions
  35. do
  36. echo "Deleting version: $version"
  37. gcloud ml-engine versions delete $version --model="$model_name" --quiet &
  38. wait
  39. done
  40. fi
  41.  
  42. # delete the default & nuke the model
  43. if [ $delete_default ]; then
  44. if [ $default_model_version ]; then
  45. gcloud ml-engine versions delete $default_model_version --model="$model_name" --quiet
  46. fi
  47. gcloud ml-engine models delete $model_name --quiet
  48. fi
Add Comment
Please, Sign In to add comment