mirror of
https://github.com/RVC-Boss/GPT-SoVITS.git
synced 2025-04-05 04:22:46 +08:00
* Update requirements.txt * Create constraints.txt * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * pyopenjtalk and onnx fix * Update requirements.txt * Update requirements.txt * Update install.sh * update shell install.sh * update docs * Update Install.sh * fix bugs * Update .gitignore * Update .gitignore * Update install.sh * Update install.sh * Update extra-req.txt * Update requirements.txt
110 lines
2.9 KiB
Bash
110 lines
2.9 KiB
Bash
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# 安装构建工具
|
|
# Install build tools
|
|
echo "Installing GCC..."
|
|
conda install -c conda-forge gcc=14 -y
|
|
|
|
echo "Installing G++..."
|
|
conda install -c conda-forge gxx -y
|
|
|
|
echo "Installing ffmpeg and cmake..."
|
|
conda install ffmpeg cmake -y
|
|
|
|
# 设置编译环境
|
|
# Set up build environment
|
|
export CMAKE_MAKE_PROGRAM="$CONDA_PREFIX/bin/cmake"
|
|
export CC="$CONDA_PREFIX/bin/gcc"
|
|
export CXX="$CONDA_PREFIX/bin/g++"
|
|
|
|
echo "Checking for CUDA installation..."
|
|
if command -v nvidia-smi &>/dev/null; then
|
|
USE_CUDA=true
|
|
echo "CUDA found."
|
|
else
|
|
echo "CUDA not found."
|
|
USE_CUDA=false
|
|
fi
|
|
|
|
if [ "$USE_CUDA" = false ]; then
|
|
echo "Checking for ROCm installation..."
|
|
if [ -d "/opt/rocm" ]; then
|
|
USE_ROCM=true
|
|
echo "ROCm found."
|
|
if grep -qi "microsoft" /proc/version; then
|
|
echo "You are running WSL."
|
|
IS_WSL=true
|
|
else
|
|
echo "You are NOT running WSL."
|
|
IS_WSL=false
|
|
fi
|
|
else
|
|
echo "ROCm not found."
|
|
USE_ROCM=false
|
|
fi
|
|
fi
|
|
|
|
if [ "$USE_CUDA" = true ]; then
|
|
echo "Installing PyTorch with CUDA support..."
|
|
conda install pytorch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 pytorch-cuda=11.8 -c pytorch -c nvidia
|
|
elif [ "$USE_ROCM" = true ]; then
|
|
echo "Installing PyTorch with ROCm support..."
|
|
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/rocm6.2
|
|
else
|
|
echo "Installing PyTorch for CPU..."
|
|
conda install pytorch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 cpuonly -c pytorch
|
|
fi
|
|
|
|
echo "Installing Python dependencies from requirements.txt..."
|
|
|
|
# 刷新环境
|
|
# Refresh environment
|
|
hash -r
|
|
|
|
# pyopenjtalk Installation
|
|
conda install jq -y
|
|
|
|
OS_TYPE=$(uname)
|
|
|
|
PACKAGE_NAME="pyopenjtalk"
|
|
|
|
VERSION=$(curl -s https://pypi.org/pypi/$PACKAGE_NAME/json | jq -r .info.version)
|
|
|
|
wget "https://files.pythonhosted.org/packages/source/${PACKAGE_NAME:0:1}/$PACKAGE_NAME/$PACKAGE_NAME-$VERSION.tar.gz"
|
|
|
|
TAR_FILE=$(ls ${PACKAGE_NAME}-*.tar.gz)
|
|
DIR_NAME="${TAR_FILE%.tar.gz}"
|
|
|
|
tar -xzf "$TAR_FILE"
|
|
rm "$TAR_FILE"
|
|
|
|
CMAKE_FILE="$DIR_NAME/lib/open_jtalk/src/CMakeLists.txt"
|
|
|
|
if [[ "$OS_TYPE" == "darwin"* ]]; then
|
|
sed -i '' -E 's/cmake_minimum_required\(VERSION[^\)]*\)/cmake_minimum_required(VERSION 3.5...3.31)/' "$CMAKE_FILE"
|
|
else
|
|
sed -i -E 's/cmake_minimum_required\(VERSION[^\)]*\)/cmake_minimum_required(VERSION 3.5...3.31)/' "$CMAKE_FILE"
|
|
fi
|
|
|
|
tar -czf "$TAR_FILE" "$DIR_NAME"
|
|
|
|
pip install "$TAR_FILE"
|
|
|
|
rm -rf "$TAR_FILE" "$DIR_NAME"
|
|
|
|
pip install -r extra-req.txt --no-deps
|
|
|
|
pip install -r requirements.txt
|
|
|
|
if [ "$USE_ROCM" = true ] && [ "$IS_WSL" = true ]; then
|
|
echo "Update to WSL compatible runtime lib..."
|
|
location=$(pip show torch | grep Location | awk -F ": " '{print $2}')
|
|
cd "${location}"/torch/lib/ || exit
|
|
rm libhsa-runtime64.so*
|
|
cp /opt/rocm/lib/libhsa-runtime64.so.1.2 libhsa-runtime64.so
|
|
fi
|
|
|
|
echo "Installation completed successfully!"
|