intel / openvino-plugins-ai-audacity

A set of AI-enabled effects, generators, and analyzers for Audacity®.
GNU General Public License v3.0
908 stars 57 forks source link

Hugging face / Facebook (?) / OpenVino models failed to download #231

Closed oxidian24 closed 3 months ago

oxidian24 commented 3 months ago

So now I just wanted to finished the job by downloading the models git clone https://huggingface.co/Intel/musicgen-static-openvino but only the decoders has been downloaded and unzipped.

I am logged on Hugging Face so I could donwload them manually, but I don't see any Intel models, only for use in Transformers or Audiocraft (the stereo version). https://huggingface.co/facebook/musicgen-stereo-small

Then Transformers for this one called "small" - is this the mono version? https://huggingface.co/facebook/musicgen-small

So I quest I should download the Transformers version, but not sure.

BTW: I am new user of this git app so I just want to make sure, if I use git clone https://huggingface.co/facebook/musicgen-stereo-small git clone https://huggingface.co/facebook/musicgen-small is it the right thing to do?

oxidian24 commented 3 months ago

how much space is needed to download and extract all the models? This looks huge.

RyanMetcalfeInt8 commented 3 months ago

Hi @oxidian24,

Sorry, I don't really get it -- what are you trying to do?

If you're trying to download the models manually (instead of having the installer do it), you can reference here: https://github.com/intel/openvino-plugins-ai-audacity/blob/main/doc/build_doc/windows/README.md#installing-the-openvino-models

Thanks, Ryan

oxidian24 commented 3 months ago

Originally I have tried to use the install script. https://github.com/intel/openvino-plugins-ai-audacity/tree/43de3af6087480ab2030404aba3f122fafa9bd73/doc/build_doc/linux

I will describe my beginners problems later.

Now, I would like to ask you. You do this and then extract the archives. mkdir openvino-models/musicgen Should there be "openvino-models/musicgen/mono" and "openvino-models/musicgen/stereo" created when unziping the archives? I got them here: "openvino-models/mono" and "openvino-models/stereo" ???

I am writing my own script to install it with better control, logs and checks over the files. For the case the installation will be interuppted, this could fix the problems I had during installation.

NOTE: I have some modules installed, but now I am comparing two open-vino folders . On the left side what I have created by incident in openvino-models/openvino-models (probably I will delete it) and on the right side this is in /usr/local/lib/openvino-models screenshot

What is strange is that there are some models on the left which have the bigger size. Maybe that are the once I have downloaded from incorrect link, from the HF Facebook model.

Bellow there is the confusion I went through last days. Please do not reply to that, this is old message, I did not post it. There might be some problems during installation if the user has not enough disk space.

I think the problem was here, emote: Enumerating objects: 27, done. remote: Counting objects: 100% (23/23), done. remote: Compressing objects: 100% (23/23), done. remote: Total 27 (delta 7), reused 0 (delta 0), pack-reused 4 (from 1) Unpacking objects: 100% (27/27), 8.57 KiB | 675.00 KiB/s, done.

Nothing happens long time with the static models or with the whisper models. So I aborted the process. I thought it was not downloaded because of the wrong url, so I went on the openvino page with models and I downloaded incorrect models from facebook (like 9GB total of the small musicgen).

But the script has tricky parts if something goes wrong like not enough space on disk, interuption. I would prefer script with better control. I am preparing such one, so if you want I can post it here.

It's not clear to me how long do I have to wait, I am still waiting for the two files, I have one only.

/OpenVino/openvino-models/whisper.cpp-openvino-models$ ls . ggml-base-models.zip README.md

oxidian24 commented 3 months ago

I've written installation script that maintains control over the files, logs every action (download, extraction, move). The script uses sudo to get your permission to create the folder and move the files to /usr/local/lib/openvino-models.

There might be some things to improve or to check like the paths.

mkdir openvino-models is just temporary directory for the logs and git folders, don't copy that to your libraries.

/usr/local/lib/openvino-models# ls * -hC1 --size 142M ggml-base.bin 40M ggml-base-encoder-openvino.bin 284K ggml-base-encoder-openvino.xml 7,4M ggml-medium.bin 8,2M ggml-medium-encoder-openvino.bin 1000K ggml-medium-encoder-openvino.xml 69M ggml-small.bin 169M ggml-small-encoder-openvino.bin 804K ggml-small-encoder-openvino.xml 18M ggml-small.en-tdrz.bin 33M ggml-small.en-tdrz-encoder-openvino.bin 512K ggml-small.en-tdrz-encoder-openvino.xml 97M htdemucs_v4.bin 1,8M htdemucs_v4.xml 5,9M noise-suppression-denseunet-ll-0001.bin 676K noise-suppression-denseunet-ll-0001.xml

deepfilternet2: total 9,3M 3,2M df_dec.bin 112K df_dec.xml 2,5M enc.bin 176K enc.xml 3,2M erb_dec.bin 184K erb_dec.xml

deepfilternet3: celkem 8,7M 3,2M df_dec.bin 124K df_dec.xml 1,9M enc.bin 188K enc.xml 3,2M erb_dec.bin 188K erb_dec.xml

/usr/local/lib/openvino-models/musicgen# ls * -hC1 --size 2,0M attention_mask_from_prepare_4d_causal_10s.raw 500K attention_mask_from_prepare_4d_causal_5s.raw 57M encodec_combined_weights.bin 57M encodec_encoder_combined_weights.bin 444K encodec_encoder_10s.xml 444K encodec_encoder_5s.xml 260K encodec_20s.xml 264K encodec_5s.xml 780K musicgen-small-tokenizer.bin 8,0K musicgen-small-tokenizer.xml 53M t5.bin 556K t5.xml

/usr/local/lib/openvino-models/musicgen/mono: total 1,1G 17M embed_tokens.bin 16K embed_tokens.xml 3,1M enc_to_dec_proj.bin 4,0K enc_to_dec_proj.xml 43M initial_cross_attn_kv_producer.bin 176K initial_cross_attn_kv_producer.xml 17M lm_heads.bin 12K lm_heads.xml 673M musicgen_decoder_combined_weights.bin 338M musicgen_decoder_combined_weights_int8.bin 3,1M musicgen_decoder_static_batch1_int8.xml 2,5M musicgen_decoder_static_batch1.xml 3,1M musicgen_decoder_static_int8.xml 2,5M musicgen_decoder_static.xml 2,5M musicgen_decoder_static0_10s.xml 2,5M musicgen_decoder_static0_5s.xml 8,0M sinusoidal_positional_embedding_weights_2048_1024.raw

/usr/local/lib/openvino-models/musicgen/stereo: total 1,3G 13M embed_tokens.bin 32K embed_tokens.xml 3,1M enc_to_dec_proj.bin 4,0K enc_to_dec_proj.xml 193M initial_cross_attn_kv_producer.bin 148K initial_cross_attn_kv_producer.xml 33M lm_heads.bin 24K lm_heads.xml 673M musicgen_decoder_combined_weights.bin 338M musicgen_decoder_combined_weights_int8.bin 3,1M musicgen_decoder_static_batch1_int8.xml 2,5M musicgen_decoder_static_batch1.xml 3,1M musicgen_decoder_static_int8.xml 2,5M musicgen_decoder_static.xml 2,5M musicgen_decoder_static0_10s.xml 2,5M musicgen_decoder_static0_5s.xml 8,0M sinusoidal_positional_embedding_weights_2048_1024.raw

The Whisper section might be very long, I wanted to keep the selection of the models which one to download. You can use any function or complete script if you want, but would be good to test it once more. And to edit the large models names, I did not really test the large models name, because I did not see the content of the archives.

#!/bin/bash

target_dir="/usr/local/lib/openvino-models"

if [ ! -d "$target_dir" ]; then
    sudo mkdir -p "$target_dir"
fi

mkdir openvino-models
cd openvino-models

# download_and_move_files() can download and move individual files, if they are listed
# it downloads usually xml. and .bin files ; Not for archives (no unzip)
download_and_move_files() {
    local base_url="$1"
    shift
    local filenames=()
    while [ "$1" != "::" ]; do
        filenames+=("$1")
        shift
    done
    shift  # skip "--"
    local extensions=()
    while [ "$1" != "::" ]; do
        extensions+=("$1")
        shift
    done
    shift  # skip "--"
    local log_file="$1"

    for filename in "${filenames[@]}"; do
        for ext in "${extensions[@]}"; do
            local full_filename="${filename}.${ext}"

            if [ -f "$full_filename" ]; then
                echo "$full_filename already exists, skipping download. Moving the file to /usr/local/lib/openvino-modules."
                sudo mv "$full_filename" /usr/local/lib/openvino-models        
                echo "moved $full_filename to /usr/local/lib/openvino-models" >> "$log_file"
            else
                if [[ ! $answer =~ ^[YyAaNn]$ ]]; then
                  read -p "Do you want to download noise-suppression-denseunet files? (y/n) " answer
                fi
                if [[ $answer =~ ^[YyAa]$ ]]; then
                    echo "I try to download $full_filename."
                    if wget "${base_url}/${full_filename}"; then
                        echo "downloaded $full_filename" >> "$log_file"
                        sudo mv "$full_filename" /usr/local/lib/openvino-models        
                        echo "moved $full_filename to /usr/local/lib/openvino-models" >> "$log_file"
                    fi
                fi
            fi
        done
    done
}

# OPENVINO, OPENVINO TOOLS AND OPENVINO PLUGINS COMPILED

# WHISPER COMPILED

# AUDACITY COMPILED WITH OPENVINO MODULES

# MODULES FINISHED

# Since many of these models will come from huggingface repos, 
# let's make sure git lfs is installed

if ! command -v git-lfs &> /dev/null
then
  sudo apt install git-lfs
fi

# To actually use these modules, we need to generate / populate 
#  /usr/local/lib/ with the OpenVINO models that the plugins will look for. 

#************
#* MusicGen *
#************

# clone the HF repo
read -p "Do you want to clone the MusicGen HF repo? (y/n) " answer
if [[ $answer =~ ^[Yy] ]]; then
    git clone https://huggingface.co/Intel/musicgen-static-openvino
else
    echo "Skipped musicgen-static-openvino"
fi

folder_static="musicgen-static-openvino"

# Seznam souborů k ověření (s cestou k složce)
files_static=(
    "$folder_static/musicgen_small_enc_dec_tok_openvino_models.zip"
    "$folder_static/musicgen_small_mono_openvino_models.zip"
    "$folder_static/musicgen_small_stereo_openvino_models.zip"
)

for file in "${files_static[@]}"
do
    if [ -f "$file" ]; then
        filename=$(basename "$file")
        echo "Downloaded '$filename'." >> "$folder_static.log"
    fi
done

# @TODO: NOT NECESSARY!! clone the HF Facebook repo
read -p "Do you want to clone the MusicGen stereo HF Facebook repo cca 9GB? (y/n) This package is not needed for OpenVino!" answer
if [[ $answer =~ ^[YyAa]$ ]]; then
    git clone https://huggingface.co/facebook/musicgen-stereo-small
fi

# There is more files than that, but these are the biggest onenes!
folder_facebook="musicgen-stereo-small"
files_facebook=(
    "$folder_facebook/state_dict.bin"
    "$folder_facebook/model.safetensors"
    "$folder_facebook/pytorch_model.bin"
    "$folder_facebook/model.fp32.safetensors"
    "$folder_facebook/pytorch_model.fp32.bin"
    "$folder_facebook/tokenizer.json"
)

for file in "${files_facebook[@]}"
do
    if [ -f "$file" ]; then
        echo "File '$file' created." >> "$folder_facebook.log"
    fi
done

folder_static="musicgen-static-openvino"
zip_files=(
    "$folder_static/musicgen_small_enc_dec_tok_openvino_models.zip"
    "$folder_static/musicgen_small_mono_openvino_models.zip"
    "$folder_static/musicgen_small_stereo_openvino_models.zip"
)

log_files=(
    "static_encdec.log"
    "static_small.log"
    "static_stereo.log"
)

# Loop through each zip file, unzip it, log the extraction and delete the zip file
for i in "${!zip_files[@]}"; do
    zip_file="${zip_files[i]}"
    log_file="${log_files[i]}"
    if unzip "$zip_file" -d "musicgen"; then
        echo "extracted $(basename "$zip_file")" >> "$log_file"
        rm "$zip_file"
        echo "  --> deleted $(basename "$zip_file")" >> "$log_file"
    fi
done

#*************************
#* Whisper Transcription *
#*************************

# This section requires admin permissions

# clone the HF repo - https://huggingface.co/Intel/whisper.cpp-openvino-models/tree/main
read -p "Do you want to clone the Whisper HF repo using choice mode? (y/n) " answer
if [[ $answer =~ ^[YyAa]$ ]]; then
    # It's just too big!!!
    read -p "Download small and medium Whisper models using wget?" answer
    if [[ $answer =~ ^[YyAa]$ ]]; then
        if ! grep -q "downloaded ggml-base-models.zip" whisper_base.log; then
         if [ ! -f "ggml-base-models.zip" ]; then
            wget https://huggingface.co/Intel/whisper.cpp-openvino-models/resolve/main/ggml-base-models.zip
         fi
        fi
        if ! grep -q "downloaded ggml-medium-models.zip" whisper_medium.log; then
         if [ ! -f "ggml-medium-models.zip" ]; then
            wget https://huggingface.co/Intel/whisper.cpp-openvino-models/resolve/main/ggml-medium-models.zip
         fi
        fi
        if ! grep -q "ggml-small.en-tdrz-models.zip" whisper_small_en_tdrz.log; then
         if [ ! -f "ggml-small.en-tdrz-models.zip" ]; then
            wget https://huggingface.co/Intel/whisper.cpp-openvino-models/resolve/main/ggml-small.en-tdrz-models.zip
         fi
        fi
        if ! grep -q "ggml-small-models.zip" whisper_small.log; then
         if [ ! -f "ggml-small-models.zip" ]; then
            wget https://huggingface.co/Intel/whisper.cpp-openvino-models/resolve/main/ggml-small-models.zip
         fi
        fi
    else    
        read -p "Download small and medium Whisper models using git/git-lfs?" answer
        if [[ $answer =~ ^[YyAa]$ ]]; then
          git init
          git remote add origin https://huggingface.co/Intel/whisper.cpp-openvino-models
          git config core.sparseCheckout true
          if ! grep -q "downloaded ggml-base-models.zip" whisper_base.log; then
            if [ ! -f "ggml-base-models.zip" ]; then
                echo "ggml-base-models.zip" > .git/info/sparse-checkout
            fi
          fi
          if ! grep -q "downloaded ggml-medium-models.zip" whisper_medium.log; then
           if [ ! -f "ggml-medium-models.zip" ]; then
             echo "ggml-medium-models.zip" >> .git/info/sparse-checkout
           fi
          fi
          if ! grep -q "ggml-small.en-tdrz-models.zip" whisper_small_en_tdrz.log; then          
            if [ ! -f "ggml-small.en-tdrz-models.zip" ]; then
              echo "ggml-small.en-tdrz-models.zip" >> .git/info/sparse-checkout
            fi
          fi

          if ! grep -q "ggml-small-models.zip" whisper_small.log; then
           if [ ! -f "ggml-small-models.zip" ]; then
             echo "ggml-small-models.zip" >> .git/info/sparse-checkout
           fi
          fi
          git pull origin main
        else
            read -p "Download small, medium and large v3 Whisper models using git/git-lfs?" answer
            if [[ $answer =~ ^[YyAa]$ ]]; then
                  git init
                  git remote add origin https://huggingface.co/Intel/whisper.cpp-openvino-models
                  git config core.sparseCheckout true
                  if ! grep -q "downloaded ggml-base-models.zip" whisper_base.log; then
                     if [ ! -f "ggml-base-models.zip" ]; then
                          echo "ggml-base-models.zip" > .git/info/sparse-checkout
                     fi
                  fi
                  if ! grep -q "downloaded ggml-medium-models.zip" whisper_medium.log; then
                     if [ ! -f "ggml-medium-models.zip" ]; then
                          echo "ggml-medium-models.zip" >> .git/info/sparse-checkout
                     fi
                  fi
                  if ! grep -q "ggml-small-models.zip" whisper_small.log; then
                      if [ ! -f "ggml-small-models.zip" ]; then
                        echo "ggml-small-models.zip" >> .git/info/sparse-checkout
                      fi
                  fi
                  if [ ! -f "ggml-small.en-tdrz-models.zip" ]; then
                    echo "ggml-small.en-tdrz-models.zip" >> .git/info/sparse-checkout
                  fi
                  if ! grep -q "ggml-large-v3-models.zip" whisper_large_v3_models.log; then
                      if [ ! -f "ggml-large-v3-models.zip" ]; then
                        echo "ggml-large-v3-models.zip" >> .git/info/sparse-checkout
                      fi
                  fi
                  git pull origin main
            else
                read -p "Download all Whisper models including large models assumed (40-60GB) using git/git-lfs?" answer
                if [[ $answer =~ ^[YyAa]$ ]]; then
                  git clone https://huggingface.co/Intel/whisper.cpp-openvino-models
                fi
            fi
        fi
    fi
fi

# Unzip the files and log the extraction

folder_whisper="whisper.cpp-openvino-models"
target_dir="/usr/local/lib/openvino-models"
zip_files=(
    "$folder_whisper/ggml-base-models.zip"
    "$folder_whisper/ggml-small-models.zip"
    "$folder_whisper/ggml-small.en-tdrz-models.zip"
    "$folder_whisper/ggml-medium-models.zip"
    "$folder_whisper/ggml-large-v1-models.zip"
    "$folder_whisper/ggml-large-v2-models.zip"
    "$folder_whisper/ggml-large-v3-models.zip"
)

log_files=(
    "whisper_base.log"
    "whisper_small.log"
    "whisper_small_en_tdrz.log"
    "whisper_medium-models.log"
    "whisper_large-v1-models.log"
    "whisper_large-v2-models.log"
    "whisper_large-v3-models.log"
)

declare -A extracted_files
extracted_files["$folder_whisper/ggml-base-models.zip"]="ggml-base-encoder-openvino.bin ggml-base-encoder-openvino.xml ggml-base.bin"
extracted_files["$folder_whisper/ggml-small-models.zip"]="ggml-small-encoder-openvino.bin ggml-small-encoder-openvino.xml ggml-small.bin"

extracted_files["$folder_whisper/ggml-small.en-tdrz-models.zip"]="ggml-small.en-tdrz-encoder-openvino.bin ggml-small.en-tdrz-encoder-openvino.xml ggml-small.en-tdrz.bin"

extracted_files["$folder_whisper/ggml-medium-models.zip"]="ggml-medium-encoder-openvino.bin ggml-medium-encoder-openvino.xml ggml-medium.bin"

# @TODO: To check the file names for the large files - near version
extracted_files["$folder_whisper/ggml-large-v1-models.zip"]="ggml-large-v1-encoder-openvino.bin ggml-large-v1-encoder-openvino.xml ggml-large-v1.bin"

extracted_files["$folder_whisper/ggml-large-v2-models.zip"]="ggml-large-v2-encoder-openvino.bin ggml-large-v2-encoder-openvino.xml ggml-large-v2.bin"

extracted_files["$folder_whisper/ggml-large-v3-models.zip"]="ggml-large-v3-encoder-openvino.bin ggml-large-v3-encoder-openvino.xml ggml-large-v3.bin"

# Function to check if all files from a zip archive are present in the target directory
check_and_extract() {
    local archive_folder="$1"
    local target_directory="$2"
    local zip_file="$3"
    local log_file="$4"
    local all_files_extracted=true

    for file in ${extracted_files[$zip_file]}; do
        if ! grep -q "extracted $file" "$log_file"; then
            all_files_extracted=false
            break
        fi
    done

    if [ "$all_files_extracted" = false ]; then    
        echo "Extracting $zip_file..."
        for file in ${extracted_files[$zip_file]}; do
            echo "I look for $file ..."
            if [ ! -f "$target_directory/$file" ]; then
                if [ -f "$archive_folder/$file" ]; then
                    echo "Moving $archive_folder/$file to $target_directory/$file"
                    sudo mv "$archive_folder/$file" "$target_directory/$file" && echo "moved $file from $(basename "$zip_file")" >> "$log_file"
                else
                    echo "unziping with options -qq -n $zip_file , file $file to $target_directory ..."
                    sudo unzip -qq -n "$zip_file" "$file" -d "$target_directory" && echo "extracted and moved $file from $(basename "$zip_file")" >> "$log_file"
                fi
            else
                echo "already extracted $file from $(basename "$zip_file")" >> "$log_file"
            fi
        done
    else
        echo "All files should be extracted. Check the logs."
        read -p "Do you want to delete the archive $zip_file that has been extracted to $target_dir? (y/n)" answer
        if [[ $answer =~ ^[Yy] ]]; then
            echo "Deleting archive..."
            rm "$zip_file"
        fi
    fi
}

# Note Special Variable Syntax of Exclamation mark "!"
# ${!zip_files[@]}: Retrieves all indices of the zip_files array.
# Looping through indices: for i in "${!zip_files[@]}" sequentially iterates through indices of zip_files.
# The ! in ${!zip_files[@]} fetches array indices

echo "----------------------------------------------"
echo "<<<<<<<<< Detecting Whisper files >>>>>>>>>>>>"
echo "----------------------------------------------"
for i in "${!zip_files[@]}"; do
    zip_file="${zip_files[i]}"
    log_file="${log_files[i]}"
    if [ -f "$zip_file" ]; then
        echo "downloaded $(basename "$zip_file")" >> "$log_file"
        check_and_extract "$folder_whisper" "$target_dir" "$zip_file" "$log_file"
    fi
done

#********************
#* Music Separation *
#********************

touch demucs.log
if ! grep -q "demucs-openvino/htdemucs_v4.bin moved to /usr" demucs.log && \
   ! grep -q "demucs-openvino/htdemucs_v4.xml moved to /usr" demucs.log; then
    # clone the HF repo
    read -p "Do you want to clone the Demucs HF repo? (y/n) " answer
    if [[ $answer =~ ^[YyAa]$ ]]; then
        if [ ! -f "demucs-openvino/htdemucs_v4.bin" ] || [ ! -f "demucs-openvino/htdemucs_v4.xml" ]; then
        git clone https://huggingface.co/Intel/demucs-openvino
        fi
    fi
fi

# Copy the demucs OpenVINO IR files
# Copy the demucs OpenVINO IR files
echo "Moving demucs files ... htdemucs_v4.bin & htdemucs_v4.xml"
if sudo mv demucs-openvino/htdemucs_v4.bin /usr/local/lib/openvino-models && sudo mv demucs-openvino/htdemucs_v4.xml /usr/local/lib/openvino-models; then
  # Now that the required models are copied, remove non-log files
  # find demucs-openvino -type f ! -name '*.log' -exec rm -f {} +
  echo "demucs-openvino/htdemucs_v4.bin moved to /usr/local/lib/openvino-models" >> demucs.log
  echo "demucs-openvino/htdemucs_v4.xml moved to /usr/local/lib/openvino-models" >> demucs.log
fi

# Now that the required models are extracted, feel free to delete the cloned 'demucs-openvino' directory.

#*********************
#* Noise Suppression *
#*********************

# Clone the deepfilternet HF repo
read -p "Do you want to clone the DeepFilterNet HF repo? (y/n) " answer
if [[ $answer =~ ^[YyAa]$ ]]; then
    git clone https://huggingface.co/Intel/deepfilternet-openvino
    if [ -f deepfilternet-openvino/deepfilternet2.zip ]; then
      echo "downloaded deepfilternet2.zip" > deepfilter.log
    fi
    if [ -f deepfilternet-openvino/deepfilternet3.zip ]; then
      echo "downloaded deepfilternet3.zip" > deepfilter.log
    fi
fi

touch deepfilter.log
# Check and extract deepfilternet2.zip
if grep -q "extracted deepfilternet2.zip" deepfilter.log; then
   rm deepfilternet-openvino/deepfilternet2.zip
else
   if unzip deepfilternet-openvino/deepfilternet2.zip -d deepfilternet2; then
     echo "extracted deepfilternet2.zip" >> deepfilter.log
     rm deepfilternet-openvino/deepfilternet2.zip
     echo "deleted deepfilternet2.zip" >> deepfilter.log
     sudo mv deepfilternet2 /usr/local/lib/openvino-models
     echo "moved deepfilternet2 to /usr/local/lib/openvino-models" >> deepfilter.log
   fi
fi

# Check and extract deepfilternet3.zip
if grep -q "extracted deepfilternet3.zip" deepfilter.log; then
    if unzip deepfilternet-openvino/deepfilternet3.zip -d deepfilternet3; then
      echo "extracted deepfilternet3.zip" >> deepfilter.log
      rm deepfilternet-openvino/deepfilternet3.zip
      echo "deleted deepfilternet3.zip" >> deepfilter.log
      sudo mv deepfilternet3 /usr/local/lib/openvino-models
      echo "moved deepfilternet to /usr/local/lib/openvino-models" >> deepfilter.log
    fi
else
    rm deepfilternet-openvino/deepfilternet3.zip
fi

####################
# NOISE SUPPRESSION
####################
# DOWNLOAD INDIVIDUAL FILES
# For noise-suppression-denseunet-ll-0001, we can wget IR from openvino repo

base_url="https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/noise-suppression-denseunet-ll-0001/FP16"
filenames=("noise-suppression-denseunet-ll-0001") # you can add more file base names here
extensions=("xml" "bin") # it will try to download all specified files in .xml and .bin
log_file="noise_suppression.log"
download_and_move_files "$base_url" "${filenames[@]}" :: "${extensions[@]}" :: "$log_file"
RyanMetcalfeInt8 commented 3 months ago

Hi @oxidian24,

Thanks for preparing an installation script. I do think that such a script would be useful, although I think that you should submit a PR (pull request) for this 'feature'. Also that way, you'll get credit.

oxidian24 commented 3 months ago

I have pull the request, but merging is blocked. Is that problem? I hope I have managed to pull it. I have never done this before. screenshot

RyanMetcalfeInt8 commented 3 months ago

Thanks @oxidian24 -- yep, that is normal. I'll need to review and approve it before it can be 'merged' back to the main branch. I'll try to take a look within the next couple of days. Thanks for your efforts!!

oxidian24 commented 3 months ago

we can close this issue