|
| 1 | +#!/usr/bin/env bash |
| 2 | + |
| 3 | +set -e |
| 4 | + |
| 5 | +MODEL_NAMES="$@" |
| 6 | +[ -z "$MODEL_NAMES" ] && { echo "Usage: $0 [fastpitch|waveglow|hifigan|hifigan-finetuned-fastpitch]"; exit 1; } |
| 7 | + |
| 8 | +function download_ngc_model() { |
| 9 | + mkdir -p "$MODEL_DIR" |
| 10 | + |
| 11 | + if [ ! -f "${MODEL_DIR}/${MODEL_ZIP}" ]; then |
| 12 | + echo "Downloading ${MODEL_ZIP} ..." |
| 13 | + wget --content-disposition -O ${MODEL_DIR}/${MODEL_ZIP} ${MODEL_URL} \ |
| 14 | + || { echo "ERROR: Failed to download ${MODEL_ZIP} from NGC"; exit 1; } |
| 15 | + fi |
| 16 | + |
| 17 | + if [ ! -f "${MODEL_DIR}/${MODEL}" ]; then |
| 18 | + echo "Extracting ${MODEL} ..." |
| 19 | + unzip -qo ${MODEL_DIR}/${MODEL_ZIP} -d ${MODEL_DIR} \ |
| 20 | + || { echo "ERROR: Failed to extract ${MODEL_ZIP}"; exit 1; } |
| 21 | + |
| 22 | + echo "OK" |
| 23 | + |
| 24 | + else |
| 25 | + echo "${MODEL} already downloaded." |
| 26 | + fi |
| 27 | + |
| 28 | +} |
| 29 | + |
| 30 | +for MODEL_NAME in $MODEL_NAMES |
| 31 | +do |
| 32 | + case $MODEL_NAME in |
| 33 | + "fastpitch") |
| 34 | + MODEL_DIR="pretrained_models/fastpitch" |
| 35 | + MODEL_ZIP="fastpitch_pyt_fp32_ckpt_v1_1_21.05.0.zip" |
| 36 | + MODEL="nvidia_fastpitch_210824.pt" |
| 37 | + MODEL_URL="https://api.ngc.nvidia.com/v2/models/nvidia/fastpitch_pyt_fp32_ckpt_v1_1/versions/21.05.0/zip" |
| 38 | + ;; |
| 39 | + "hifigan") |
| 40 | + MODEL_DIR="pretrained_models/hifigan" |
| 41 | + MODEL_ZIP="hifigan__pyt_ckpt_ds-ljs22khz_21.08.0_amp.zip" |
| 42 | + MODEL="hifigan_gen_checkpoint_6500.pt" |
| 43 | + MODEL_URL="https://api.ngc.nvidia.com/v2/models/nvidia/dle/hifigan__pyt_ckpt_ds-ljs22khz/versions/21.08.0_amp/zip" |
| 44 | + ;; |
| 45 | + "hifigan-finetuned-fastpitch") |
| 46 | + MODEL_DIR="pretrained_models/hifigan" |
| 47 | + MODEL_ZIP="hifigan__pyt_ckpt_mode-finetune_ds-ljs22khz_21.08.0_amp.zip" |
| 48 | + MODEL="hifigan_gen_checkpoint_10000_ft.pt" |
| 49 | + MODEL_URL="https://api.ngc.nvidia.com/v2/models/nvidia/dle/hifigan__pyt_ckpt_mode-finetune_ds-ljs22khz/versions/21.08.0_amp/zip" |
| 50 | + ;; |
| 51 | + "waveglow") |
| 52 | + MODEL_DIR="pretrained_models/waveglow" |
| 53 | + MODEL_ZIP="waveglow_ckpt_amp_256_20.01.0.zip" |
| 54 | + MODEL="nvidia_waveglow256pyt_fp16.pt" |
| 55 | + MODEL_URL="https://api.ngc.nvidia.com/v2/models/nvidia/waveglow_ckpt_amp_256/versions/20.01.0/zip" |
| 56 | + ;; |
| 57 | + *) |
| 58 | + echo "Unrecognized model: ${MODEL_NAME}" |
| 59 | + exit 2 |
| 60 | + ;; |
| 61 | + esac |
| 62 | + download_ngc_model "$MODEL_DIR" "$MODEL_ZIP" "$MODEL" "$MODEL_URL" |
| 63 | +done |
0 commit comments