Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- # This hacky script was built because I had many gcloud ml-engine models left hanging around with many versions
- # deleting everything manually is tedious and gcloud does not appear to have a method to delete a model with versions
- # usage: ./script.sh -m model_name -d
- # -d to delete the default model version and the model itself
- # If the script is funky, change `grep -e` usage to `grep -P` (IIRC MacOS uses legacy grep)
- # Initialize our own variables:
- model_name=""
- delete_default=0
- while getopts "dm:" opt; do
- case "$opt" in
- d) delete_default=1
- ;;
- m) model_name=$OPTARG
- ;;
- esac
- done
- if [ -z "$model_name" ]; then
- echo "Please define a model name to delete with -m"
- exit 1
- fi
- default_model_version=$(gcloud ml-engine models list | grep -e "$model_name[[:space:]]" | awk '{print $2}' )
- model_versions=$(gcloud ml-engine versions list --model="$model_name" | grep 'READY' | awk '{print $1}' | grep -v "$default_model_version$")
- if [ $model_versions ]; then
- # delete non defaults
- for version in $model_versions
- do
- echo "Deleting version: $version"
- gcloud ml-engine versions delete $version --model="$model_name" --quiet &
- wait
- done
- fi
- # delete the default & nuke the model
- if [ $delete_default ]; then
- if [ $default_model_version ]; then
- gcloud ml-engine versions delete $default_model_version --model="$model_name" --quiet
- fi
- gcloud ml-engine models delete $model_name --quiet
- fi
Add Comment
Please, Sign In to add comment