From af74035be6dde3b371a29d5dc8d0f3e413ad09a7 Mon Sep 17 00:00:00 2001 From: chucklesb <33965069+chucklesb@users.noreply.github.com> Date: Mon, 8 Apr 2024 01:12:47 -0600 Subject: [PATCH] Create setup-cuda-cpu.sh Linux equivalent of setup-cuda-cpu.bat --- setup-cuda-cpu.sh | 83 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 setup-cuda-cpu.sh diff --git a/setup-cuda-cpu.sh b/setup-cuda-cpu.sh new file mode 100644 index 0000000..d5b3dd6 --- /dev/null +++ b/setup-cuda-cpu.sh @@ -0,0 +1,83 @@ +#!/bin/bash + +# Check if Python 3.9 is installed +python_bin='python3.9' +min_python_version='"3.9.0"' + +$python_bin -m pip install --upgrade packaging +$python_bin -c "import platform; from packaging.version import Version; exit(Version(platform.python_version()) < Version(${min_python_version}))" +if [[ $? = 1 ]]; then + echo "Python >= ${min_python_version} is not installed. Please install it and try again." + exit 1 +fi + +# Initialize and update git submodules +git submodule init +git submodule update --remote + +# Set up virtual environment with Python 3.9 +$python_bin -m venv venv +source ./venv/bin/activate + +# Upgrade pip and install required packages +pip install --upgrade pip +pip install torch torchvision torchaudio +pip install -r ./modules/tortoise-tts/requirements.txt +pip install -e ./modules/tortoise-tts/ +pip install -r ./modules/dlas/requirements.txt +pip install -e ./modules/dlas/ + +# Download and extract RVC if not already done +file_name='rvc.zip' +download_rvc='https://huggingface.co/Jmica/rvc/resolve/main/rvc_lightweight.zip?download=true' +extracted_folder='rvc' + +if [ -d $extracted_folder ]; then + echo "The folder ${extracted_folder} already exists." + read -p "Do you want to delete it and re-extract? [y/N] " choice + if [[ $choice == [Yy]* ]]; then + echo "Deleting ${extracted_folder}..." + rm -rf $extracted_folder + fi +fi + +if ! [ -f $file_name ]; then + echo "Downloading ${file_name}..." + curl -L $download_rvc -o $file_name +else + echo "File ${file_name} already exists, skipping download." +fi + +echo "Extracting ${file_name}..." +$python_bin -m zipfile -e $file_name ./ +echo "RVC has finished downloading and Extracting." + +# Install RVC requirements +pip install -r ./rvc/requirements.txt + +# Prepare fairseq +fairseq_repo='https://github.com/pytorch/fairseq' +fairseq_folder='fairseq' + +if [ -d $fairseq_folder ]; then + git -C $fairseq_folder pull +else + git clone $fairseq_repo +fi + +if [ -d $fairseq_folder/wheels ]; then + rm -rf $fairseq_folder/wheels +fi + +# Install Fairseq and RVC TTS Pipeline +pip wheel ./$fairseq_folder/ -w ./$fairseq_folder/wheels/ +pip install ./$fairseq_folder/wheels/fairseq-*.whl +pip install git+https://github.com/JarodMica/rvc-tts-pipeline.git@lightweight#egg=rvc_tts_pipe + +# Install other requirements (this is done last due to potential package conflicts) +pip install -r requirements.txt + +# Clean up +rm -f *.bat + +deactivate