593 lines
20 KiB
Bash
593 lines
20 KiB
Bash
#!/bin/bash
|
|
|
|
# ANSI color codes
|
|
RED='\033[1;31m'
|
|
GREEN='\033[1;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[1;34m'
|
|
CYAN='\033[1;36m'
|
|
MAGENTA='\033[1;35m'
|
|
WHITE='\033[1;37m'
|
|
L_RED='\033[1;91m'
|
|
L_GREEN='\033[1;92m'
|
|
L_YELLOW='\033[1;93m'
|
|
L_BLUE='\033[1;94m'
|
|
L_CYAN='\033[1;96m'
|
|
L_MAGENTA='\033[1;95m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Navigate to the script's directory
|
|
cd "$(dirname "$0")"
|
|
|
|
# Function to check if curl is installed
|
|
check_curl() {
|
|
if ! command -v curl &> /dev/null; then
|
|
echo "curl is not available on this system. Please install curl then re-run the script https://curl.se/"
|
|
echo "or perform a manual installation of a Conda Python environment."
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# Check if the current directory path contains a space
|
|
containsSpace=false
|
|
currentPath=$(pwd)
|
|
if echo "$currentPath" | grep -q ' '; then
|
|
containsSpace=true
|
|
fi
|
|
|
|
if [ "$containsSpace" = true ]; then
|
|
echo
|
|
echo -e " ${L_BLUE}ALLTALK LINUX SETUP UTILITY${NC}"
|
|
echo
|
|
echo
|
|
echo -e " You are trying to install AllTalk in a folder that has a space in the"
|
|
echo -e " folder path e.g."
|
|
echo
|
|
echo -e " /home/${L_RED}program files${NC}/alltalk_tts"
|
|
echo
|
|
echo -e " This causes errors with Conda and Python scripts. Please follow this"
|
|
echo -e " link for reference:"
|
|
echo
|
|
echo -e " ${L_CYAN}https://docs.anaconda.com/free/working-with-conda/reference/faq/#installing-anaconda${NC}"
|
|
echo
|
|
echo -e " Please use a folder path that has no spaces in it e.g."
|
|
echo
|
|
echo -e " /home/myfiles/alltalk_tts/"
|
|
echo
|
|
echo
|
|
read -p "Press Enter to continue..."
|
|
exit 1
|
|
else
|
|
# Continue with the main menu
|
|
echo "Continue with the main menu."
|
|
fi
|
|
|
|
# Main Menu
|
|
main_menu() {
|
|
while true; do
|
|
clear
|
|
echo
|
|
echo -e " ${L_BLUE}ALLTALK LINUX SETUP UTILITY${NC}"
|
|
echo
|
|
echo " INSTALLATION TYPE"
|
|
echo -e " 1) I am using AllTalk as part of ${L_GREEN}Text-generation-webui${NC}"
|
|
echo -e " 2) I am using AllTalk as a ${L_GREEN}Standalone Application${NC}"
|
|
echo
|
|
echo -e " 9)${L_RED} Exit/Quit${NC}"
|
|
echo
|
|
read -p " Enter your choice: " user_option
|
|
|
|
case $user_option in
|
|
1) webui_menu ;;
|
|
2) standalone_menu ;;
|
|
9) exit 0 ;;
|
|
*) echo "Invalid option"; sleep 2 ;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
# Text-generation-webui Menu
|
|
webui_menu() {
|
|
while true; do
|
|
clear
|
|
echo
|
|
echo -e " ${L_BLUE}TEXT-GENERATION-WEBUI SETUP${NC}"
|
|
echo
|
|
echo -e " Please ensure you have started your Text-generation-webui Python"
|
|
echo -e " environment. If you have NOT done this, please run ${L_GREEN}/cmd_linux.sh${NC}"
|
|
echo -e " in the ${L_GREEN}text-generation-webui${NC} folder and then re-run this script."
|
|
echo
|
|
echo " BASE REQUIREMENTS"
|
|
echo -e " 1) Apply/Re-Apply the requirements for an ${L_GREEN}Text-generation-webui${NC}"
|
|
echo
|
|
echo " OPTIONAL"
|
|
echo " 2) Git Pull the latest AllTalk updates from Github"
|
|
echo
|
|
echo " DEEPSPEED"
|
|
echo " 4) Install DeepSpeed."
|
|
echo " 5) Uninstall DeepSpeed."
|
|
echo
|
|
echo " OTHER"
|
|
echo " 6) Generate a diagnostics file."
|
|
echo
|
|
echo -e " 9)${L_RED} Exit/Quit${NC}"
|
|
echo
|
|
read -p " Enter your choice: " webui_option
|
|
|
|
case $webui_option in
|
|
1) install_nvidia_textgen ;;
|
|
2) tg_gitpull ;;
|
|
4) install_deepspeed ;;
|
|
5) uninstall_deepspeed ;;
|
|
6) generate_diagnostics_textgen ;;
|
|
9) exit 0 ;;
|
|
*) echo "Invalid option"; sleep 2 ;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
install_nvidia_textgen() {
|
|
local requirements_file="system/requirements/requirements_textgen.txt"
|
|
echo " Installing Requirements from $requirements_file..."
|
|
if ! pip install -r "$requirements_file"; then
|
|
echo
|
|
echo " There was an error pulling from Github."
|
|
echo " Please check the output for details."
|
|
read -p " Press any key to return to the menu. " -n 1
|
|
echo
|
|
return
|
|
fi
|
|
echo
|
|
echo " Requirements installed successfully."
|
|
|
|
echo " Installing additional requirements..."
|
|
if ! pip install -r system/requirements/requirements_textgen2.txt; then
|
|
echo
|
|
echo " There was an error installing additional requirements."
|
|
echo " Please check the output for details."
|
|
read -p " Press any key to return to the menu. " -n 1
|
|
echo
|
|
return
|
|
fi
|
|
|
|
if ! conda install -y pytorch::faiss-cpu; then
|
|
echo
|
|
echo " There was an error installing faiss-cpu."
|
|
echo " Please check the output for details."
|
|
read -p " Press any key to return to the menu. " -n 1
|
|
echo
|
|
return
|
|
fi
|
|
|
|
if ! conda install -y conda-forge::ffmpeg; then
|
|
echo
|
|
echo " There was an error installing ffmpeg."
|
|
echo " Please check the output for details."
|
|
read -p " Press any key to return to the menu. " -n 1
|
|
echo
|
|
return
|
|
fi
|
|
|
|
echo
|
|
echo " Additional requirements installed successfully."
|
|
echo
|
|
echo -e " To install ${L_YELLOW}DeepSpeed${NC} on Linux, there are additional"
|
|
echo -e " steps required. Please see the Github or documentation on DeepSeed."
|
|
echo
|
|
read -p " Press any key to continue. " -n 1
|
|
echo
|
|
}
|
|
|
|
|
|
tg_gitpull() {
|
|
echo
|
|
if ! git pull; then
|
|
echo
|
|
echo " There was an error installing the requirements."
|
|
echo " Please check the output for details."
|
|
echo
|
|
read -p " Press any key to return to the menu. " -n 1
|
|
echo
|
|
return
|
|
fi
|
|
echo
|
|
echo " AllTalk Updated from Github. Please re-apply"
|
|
echo " the latest requirements file. (Option 1)"
|
|
echo
|
|
read -p " Press any key to continue. " -n 1
|
|
echo
|
|
}
|
|
|
|
# Function to install DeepSpeed
|
|
install_deepspeed() {
|
|
clear
|
|
echo
|
|
echo -e " ${L_BLUE}DEEPSPEED INSTALLATION REQUIREMENTS${NC}"
|
|
echo
|
|
echo -e " - Please go see this link as the instructions are there.${NC}"
|
|
echo -e " The instructions there are making it as simple as posisble.${NC}"
|
|
echo -e " ${L_GREEN}https://github.com/erew123/alltalk_tts/releases/tag/DeepSpeed-14.2-Linux${NC}"
|
|
echo
|
|
read -p " Have you completed all the above steps? (y/n): " confirm
|
|
|
|
if [ "$confirm" != "y" ]; then
|
|
echo -e " ${RED}DeepSpeed installation cannot proceed without completing the prerequisites.${NC}"
|
|
return
|
|
fi
|
|
|
|
echo -e "\n ${GREEN}Proceeding with DeepSpeed installation...${NC}"
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo -e " ${RED}There was an error installing DeepSpeed.${NC}"
|
|
return
|
|
fi
|
|
|
|
echo -e " ${GREEN}DeepSpeed installed successfully.${NC}"
|
|
read -p " Press any key to continue. " -n 1
|
|
echo
|
|
}
|
|
|
|
uninstall_deepspeed() {
|
|
echo "Uninstalling DeepSpeed..."
|
|
pip uninstall -y deepspeed
|
|
if [ $? -ne 0 ]; then
|
|
echo
|
|
echo " There was an error uninstalling DeepSpeed."
|
|
echo
|
|
echo " Press any key to return to the menu."
|
|
read -n 1
|
|
return
|
|
fi
|
|
echo
|
|
echo " DeepSpeed uninstalled successfully."
|
|
echo
|
|
echo " Press any key to continue."
|
|
read -n 1
|
|
}
|
|
|
|
generate_diagnostics_textgen() {
|
|
# Run diagnostics
|
|
if ! python diagnostics.py; then
|
|
echo
|
|
echo " There was an error running diagnostics."
|
|
echo
|
|
read -p " Press any key to return to the menu. " -n 1
|
|
echo
|
|
return
|
|
fi
|
|
echo
|
|
echo " Diagnostics log file generated successfully."
|
|
echo " Please see diagnostics.log"
|
|
echo
|
|
read -p " Press any key to continue. " -n 1
|
|
echo
|
|
}
|
|
|
|
# Standalone Menu
|
|
standalone_menu() {
|
|
while true; do
|
|
clear
|
|
echo
|
|
echo -e " ${L_BLUE}ALLTALK STANDALONE APPLICATION SETUP${NC}"
|
|
echo
|
|
echo " BASE REQUIREMENTS"
|
|
echo " 1) Install AllTalk as a Standalone Application"
|
|
echo
|
|
echo " OPTIONAL"
|
|
echo " 2) Git Pull the latest AllTalk updates from Github"
|
|
echo " 3) Re-Apply/Update the requirements file"
|
|
echo " 4) Delete AllTalk's custom Python environment"
|
|
echo " 5) Purge the PIP cache"
|
|
echo
|
|
echo " OTHER"
|
|
echo " 8) Generate a diagnostics file"
|
|
echo
|
|
echo -e " 9)${L_RED} Exit/Quit${NC}"
|
|
echo
|
|
read -p " Enter your choice: " standalone_option
|
|
|
|
case $standalone_option in
|
|
1) install_custom_standalone ;;
|
|
2) gitpull_standalone ;;
|
|
3) reapply_standalone ;;
|
|
4) delete_custom_standalone ;;
|
|
5) pippurge_standalone ;;
|
|
8) generate_diagnostics_standalone ;;
|
|
9) exit 0 ;;
|
|
*) echo "Invalid option"; sleep 2 ;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
|
|
install_custom_standalone() {
|
|
cd "$(dirname "${BASH_SOURCE[0]}")"
|
|
|
|
if [[ "$(pwd)" =~ " " ]]; then
|
|
echo "This script relies on Miniconda which can not be silently installed under a path with spaces."
|
|
exit
|
|
fi
|
|
|
|
# Deactivate existing conda envs as needed to avoid conflicts
|
|
{ conda deactivate && conda deactivate && conda deactivate; } 2> /dev/null
|
|
|
|
OS_ARCH=$(uname -m)
|
|
case "${OS_ARCH}" in
|
|
x86_64*) OS_ARCH="x86_64" ;;
|
|
arm64* | aarch64*) OS_ARCH="aarch64" ;;
|
|
*) echo "Unknown system architecture: $OS_ARCH! This script runs only on x86_64 or arm64" && exit ;;
|
|
esac
|
|
|
|
# Config
|
|
INSTALL_DIR="$(pwd)/alltalk_environment"
|
|
CONDA_ROOT_PREFIX="${INSTALL_DIR}/conda"
|
|
INSTALL_ENV_DIR="${INSTALL_DIR}/env"
|
|
MINICONDA_DOWNLOAD_URL="https://repo.anaconda.com/miniconda/Miniconda3-py311_24.4.0-0-Linux-${OS_ARCH}.sh"
|
|
if [ ! -x "${CONDA_ROOT_PREFIX}/bin/conda" ]; then
|
|
echo "Downloading Miniconda from $MINICONDA_DOWNLOAD_URL to ${INSTALL_DIR}/miniconda_installer.sh"
|
|
mkdir -p "${INSTALL_DIR}"
|
|
curl -L "${MINICONDA_DOWNLOAD_URL}" -o "${INSTALL_DIR}/miniconda_installer.sh"
|
|
chmod +x "${INSTALL_DIR}/miniconda_installer.sh"
|
|
bash "${INSTALL_DIR}/miniconda_installer.sh" -b -p "${CONDA_ROOT_PREFIX}"
|
|
echo "Miniconda installed."
|
|
fi
|
|
|
|
if [ ! -d "${INSTALL_ENV_DIR}" ]; then
|
|
"${CONDA_ROOT_PREFIX}/bin/conda" create -y --prefix "${INSTALL_ENV_DIR}" -c conda-forge python=3.11.9
|
|
echo "Conda environment created at ${INSTALL_ENV_DIR}."
|
|
fi
|
|
|
|
# Activate the environment and install requirements
|
|
source "${CONDA_ROOT_PREFIX}/etc/profile.d/conda.sh"
|
|
conda activate "${INSTALL_ENV_DIR}"
|
|
# pip install torch==2.2.1+cu121 torchaudio==2.2.1+cu121 --upgrade --force-reinstall --extra-index-url https://download.pytorch.org/whl/cu121 --no-cache-dir
|
|
conda install -y pytorch=2.2.1 torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
|
|
conda install -y nvidia/label/cuda-12.1.0::cuda-toolkit=12.1
|
|
conda install -y pytorch::faiss-cpu
|
|
conda install -y conda-forge::ffmpeg
|
|
echo
|
|
echo
|
|
echo
|
|
echo " Fix Nvidia's broken symlinks in the /env/lib folder"
|
|
echo
|
|
# Define the environment path
|
|
env_path="${INSTALL_ENV_DIR}/lib"
|
|
|
|
# List of broken symlinks and their correct targets
|
|
declare -A symlinks=(
|
|
["libcufile.so"]="libcufile.so.1.10.0"
|
|
["libcufile_rdma.so"]="libcufile_rdma.so.1.10.0"
|
|
["libcudart.so"]="libcudart.so.12"
|
|
["libnvjpeg.so"]="libnvjpeg.so.12.1.1.14"
|
|
["libcurand.so"]="libcurand.so.10.3.6.39"
|
|
["libnvJitLink.so"]="libnvJitLink.so.12.1.105"
|
|
["libnvrtc-builtins.so"]="libnvrtc-builtins.so.12.1.105"
|
|
["libnvrtc.so"]="libnvrtc.so.12.1.105"
|
|
)
|
|
|
|
# Function to fix broken symlinks
|
|
fix_broken_symlinks() {
|
|
echo "Fixing broken symlinks..."
|
|
for link in "${!symlinks[@]}"; do
|
|
target="${symlinks[$link]}"
|
|
if [ -L "$env_path/$link" ] && [ ! -e "$env_path/$link" ]; then
|
|
echo "Removing broken link: $env_path/$link"
|
|
rm "$env_path/$link"
|
|
fi
|
|
|
|
if [ -e "$env_path/$target" ]; then
|
|
echo "Creating new symlink: $env_path/$link -> $env_path/$target"
|
|
ln -s "$env_path/$target" "$env_path/$link"
|
|
else
|
|
echo "Target file does not exist: $env_path/$target"
|
|
fi
|
|
done
|
|
echo "Verification of symbolic links:"
|
|
ls -l $env_path | grep -E "libcufile.so|libcudart.so|libcufile_rdma.so|libnvjpeg.so|libcurand.so|libnvJitLink.so|libnvrtc-builtins.so|libnvrtc.so"
|
|
}
|
|
|
|
# Call the function to fix broken symlinks
|
|
fix_broken_symlinks
|
|
echo " Installing additional requirements."
|
|
echo
|
|
pip install -r system/requirements/requirements_standalone.txt
|
|
curl -LO https://github.com/erew123/alltalk_tts/releases/download/DeepSpeed-14.0/deepspeed-0.14.2+cu121torch2.2-cp311-cp311-manylinux_2_24_x86_64.whl
|
|
pip install --upgrade gradio==4.32.2
|
|
echo Installing DeepSpeed...
|
|
pip install deepspeed-0.14.2+cu121torch2.2-cp311-cp311-manylinux_2_24_x86_64.whl
|
|
rm deepspeed-0.14.2+cu121torch2.2-cp311-cp311-manylinux_2_24_x86_64.whl
|
|
pip install -r system/requirements/requirements_parler.txt
|
|
conda clean --all --force-pkgs-dirs -y
|
|
Create start_environment.sh to run AllTalk
|
|
cat << EOF > start_environment.sh
|
|
#!/bin/bash
|
|
cd "$(dirname "${BASH_SOURCE[0]}")"
|
|
if [[ "$(pwd)" =~ " " ]]; then echo This script relies on Miniconda which can not be silently installed under a path with spaces. && exit; fi
|
|
# deactivate existing conda envs as needed to avoid conflicts
|
|
{ conda deactivate && conda deactivate && conda deactivate; } 2> /dev/null
|
|
# config
|
|
CONDA_ROOT_PREFIX="$(pwd)/alltalk_environment/conda"
|
|
INSTALL_ENV_DIR="$(pwd)/alltalk_environment/env"
|
|
# environment isolation
|
|
export PYTHONNOUSERSITE=1
|
|
unset PYTHONPATH
|
|
unset PYTHONHOME
|
|
export CUDA_PATH="$INSTALL_ENV_DIR"
|
|
export CUDA_HOME="$CUDA_PATH"
|
|
# activate env
|
|
bash --init-file <(echo "source \"$CONDA_ROOT_PREFIX/etc/profile.d/conda.sh\" && conda activate \"$INSTALL_ENV_DIR\"")
|
|
EOF
|
|
cat << EOF > start_alltalk.sh
|
|
#!/bin/bash
|
|
source "${CONDA_ROOT_PREFIX}/etc/profile.d/conda.sh"
|
|
conda activate "${INSTALL_ENV_DIR}"
|
|
python script.py
|
|
EOF
|
|
cat << EOF > start_finetune.sh
|
|
#!/bin/bash
|
|
export TRAINER_TELEMETRY=0
|
|
source "${CONDA_ROOT_PREFIX}/etc/profile.d/conda.sh"
|
|
conda activate "${INSTALL_ENV_DIR}"
|
|
python finetune.py
|
|
EOF
|
|
cat << EOF > start_diagnostics.sh
|
|
#!/bin/bash
|
|
source "${CONDA_ROOT_PREFIX}/etc/profile.d/conda.sh"
|
|
conda activate "${INSTALL_ENV_DIR}"
|
|
python diagnostics.py
|
|
EOF
|
|
chmod +x start_alltalk.sh
|
|
chmod +x start_environment.sh
|
|
chmod +x start_finetune.sh
|
|
chmod +x start_diagnostics.sh
|
|
echo
|
|
echo
|
|
echo -e " Run ${L_YELLOW}./start_alltalk.sh${NC} to start AllTalk."
|
|
echo -e " Run ${L_YELLOW}./start_diagnostics.sh${NC} to start Diagnostics."
|
|
echo -e " Run ${L_YELLOW}./start_finetune.sh${NC} to start Finetuning."
|
|
echo -e " Run ${L_YELLOW}./start_environment.sh${NC} to start the AllTalk Python environment."
|
|
echo
|
|
echo -e " To install ${L_YELLOW}DeepSpeed${NC} on Linux, there are additional"
|
|
echo -e " steps required. Please see the Github or documentation on DeepSeed."
|
|
echo
|
|
read -p " Press any key to continue. " -n 1
|
|
}
|
|
|
|
delete_custom_standalone() {
|
|
local env_dir="$PWD/alltalk_environment"
|
|
# Check if the alltalk_environment directory exists
|
|
if [ ! -d "$env_dir" ]; then
|
|
echo " \"$env_dir\" directory does not exist. No need to delete."
|
|
read -p " Press any key to continue. " -n 1
|
|
echo
|
|
return
|
|
fi
|
|
# Check if a Conda environment is active and deactivate it
|
|
if [ -n "$CONDA_PREFIX" ]; then
|
|
echo " Exiting the Conda environment. You may need to start ./atstart.sh again"
|
|
conda deactivate
|
|
fi
|
|
echo "Deleting \"$env_dir\". Please wait."
|
|
rm -rf "$env_dir"
|
|
if [ -d "$env_dir" ]; then
|
|
echo " Failed to delete \"$env_dir\" folder."
|
|
echo " Please make sure it is not in use and try again."
|
|
else
|
|
echo " Environment \"$env_dir\" deleted successfully."
|
|
fi
|
|
read -p " Press any key to continue. " -n 1
|
|
echo
|
|
}
|
|
|
|
generate_diagnostics_standalone() {
|
|
local env_dir="$PWD/alltalk_environment"
|
|
local conda_root_prefix="${env_dir}/conda"
|
|
local install_env_dir="${env_dir}/env"
|
|
if [ ! -d "${install_env_dir}" ]; then
|
|
echo
|
|
echo " The Conda environment at '${install_env_dir}' does not exist."
|
|
echo " Please install the environment before proceeding."
|
|
echo
|
|
read -p " Press any key to return to the menu. " -n 1
|
|
echo
|
|
return
|
|
fi
|
|
source "${conda_root_prefix}/etc/profile.d/conda.sh"
|
|
conda activate "${install_env_dir}"
|
|
if ! python diagnostics.py; then
|
|
echo
|
|
echo " There was an error running diagnostics."
|
|
echo
|
|
read -p " Press any key to return to the menu. " -n 1
|
|
echo
|
|
return
|
|
fi
|
|
echo
|
|
echo " Diagnostics completed successfully."
|
|
read -p " Press any key to continue. " -n 1
|
|
echo
|
|
}
|
|
|
|
gitpull_standalone() {
|
|
local env_dir="$PWD/alltalk_environment"
|
|
local conda_root_prefix="${env_dir}/conda"
|
|
local install_env_dir="${env_dir}/env"
|
|
if [ ! -d "${install_env_dir}" ]; then
|
|
echo
|
|
echo " The Conda environment at '${install_env_dir}' does not exist."
|
|
echo " Please install the environment before proceeding."
|
|
echo
|
|
read -p " Press any key to return to the menu. " -n 1
|
|
echo
|
|
return
|
|
fi
|
|
source "${conda_root_prefix}/etc/profile.d/conda.sh"
|
|
conda activate "${install_env_dir}"
|
|
if ! git pull; then
|
|
echo
|
|
echo " There was an error pulling from Github."
|
|
echo
|
|
read -p " Press any key to return to the menu. " -n 1
|
|
echo
|
|
return
|
|
fi
|
|
echo
|
|
echo " AllTalk Updated from Github. Please re-apply."
|
|
echo " the latest requirements file. (Option 3)"
|
|
echo
|
|
read -p " Press any key to continue. " -n 1
|
|
echo
|
|
}
|
|
|
|
pippurge_standalone() {
|
|
if ! pip cache purge; then
|
|
echo
|
|
echo " There was an error."
|
|
echo
|
|
read -p " Press any key to return to the menu. " -n 1
|
|
echo
|
|
return
|
|
fi
|
|
echo
|
|
echo " The PIP cache has been purged."
|
|
echo
|
|
read -p " Press any key to continue. " -n 1
|
|
echo
|
|
}
|
|
|
|
reapply_standalone() {
|
|
local env_dir="$PWD/alltalk_environment"
|
|
local conda_root_prefix="${env_dir}/conda"
|
|
local install_env_dir="${env_dir}/env"
|
|
if [ ! -d "${install_env_dir}" ]; then
|
|
echo
|
|
echo " The Conda environment at '${install_env_dir}' does not exist."
|
|
echo " Please install the environment before proceeding."
|
|
echo
|
|
read -p " Press any key to return to the menu. " -n 1
|
|
echo
|
|
return
|
|
fi
|
|
source "${conda_root_prefix}/etc/profile.d/conda.sh"
|
|
conda activate "${install_env_dir}"
|
|
echo
|
|
echo " Downloading and installing PyTorch. This step can take a long time"
|
|
echo " depending on your internet connection and hard drive speed. Please"
|
|
echo " be patient."
|
|
pip install torch>=2.2.1+cu121 torchaudio>=2.2.1+cu121 --upgrade --force-reinstall --extra-index-url https://download.pytorch.org/whl/cu121
|
|
echo
|
|
echo " Installing additional requirements."
|
|
echo
|
|
pip install -r system/requirements/requirements_standalone.txt
|
|
pip install -r system/requirements/requirements_parler.txt
|
|
echo
|
|
echo " Requirements have been re-applied/updated."
|
|
echo
|
|
read -p " Press any key to continue. " -n 1
|
|
echo
|
|
}
|
|
|
|
|
|
# Start the main menu
|
|
main_menu
|