Download install.sh from ajh-code/Fish-Audio-S2-Pro-NVFP4-Balanced: direct link, hf CLI and curl.
- Browser
- Download file 2.52 kB
-
https://huggingface.co/ajh-code/Fish-Audio-S2-Pro-NVFP4-Balanced/resolve/main/install.sh
- Command line
-
hf download hf://ajh-code/Fish-Audio-S2-Pro-NVFP4-Balanced/install.sh
-
curl -L -o install.sh https://huggingface.co/ajh-code/Fish-Audio-S2-Pro-NVFP4-Balanced/resolve/main/install.sh
2.52 kB
| set -euo pipefail | |
| release_root="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | |
| python_bin="${PYTHON_BIN:-python3.12}" | |
| venv_dir="${release_root}/.venv" | |
| build_dir="${release_root}/.build" | |
| scales_revision="a04c1b63b1a7a670840fb3e97a82c0dbe2a35ded" | |
| scales_dir="${build_dir}/fish-scales-ops-${scales_revision}" | |
| cuda_root="${CUDA_HOME:-/usr/local/cuda}" | |
| for command_name in "${python_bin}" git; do | |
| if ! command -v "${command_name}" >/dev/null 2>&1; then | |
| echo "Missing required command: ${command_name}" >&2 | |
| exit 1 | |
| fi | |
| done | |
| if [[ ! -x "${cuda_root}/bin/nvcc" ]]; then | |
| echo "CUDA compiler not found at ${cuda_root}/bin/nvcc" >&2 | |
| exit 1 | |
| fi | |
| mkdir -p "${build_dir}" "${release_root}/runtime-data/torch-extensions" | |
| if [[ ! -x "${venv_dir}/bin/python" ]]; then | |
| "${python_bin}" -m venv "${venv_dir}" | |
| fi | |
| "${venv_dir}/bin/python" -m pip install --upgrade "pip>=25" "uv==0.12.3" | |
| uv_bin="${venv_dir}/bin/uv" | |
| "${uv_bin}" pip install --python "${venv_dir}/bin/python" \ | |
| "setuptools>=75" wheel ninja packaging \ | |
| "torch==2.11.0" "torchaudio==2.11.0" \ | |
| --torch-backend=cu130 | |
| "${uv_bin}" pip install --python "${venv_dir}/bin/python" \ | |
| --overrides "${release_root}/runtime/torch-overrides.txt" \ | |
| --torch-backend=cu130 \ | |
| "${release_root}/vendor/fish-speech" \ | |
| -r "${release_root}/requirements.txt" | |
| if [[ ! -d "${scales_dir}/.git" ]]; then | |
| if [[ -e "${scales_dir}" ]]; then | |
| echo "${scales_dir} exists but is not the expected Git checkout; move it aside and retry." >&2 | |
| exit 1 | |
| fi | |
| git init "${scales_dir}" | |
| git -C "${scales_dir}" remote add origin https://github.com/fishaudio/fish-scales-ops.git | |
| git -C "${scales_dir}" fetch --depth 1 origin "${scales_revision}" | |
| git -C "${scales_dir}" checkout --detach FETCH_HEAD | |
| git -C "${scales_dir}" submodule update --init --recursive --depth 1 | |
| fi | |
| if [[ "$(git -C "${scales_dir}" rev-parse HEAD)" != "${scales_revision}" ]]; then | |
| echo "Unexpected fish-scales-ops revision in ${scales_dir}" >&2 | |
| exit 1 | |
| fi | |
| git -C "${scales_dir}" submodule update --init --recursive --depth 1 | |
| CUTLASS_DIR="${scales_dir}/3rdparty/cutlass" \ | |
| CUDA_HOME="${cuda_root}" \ | |
| MAX_JOBS="${MAX_JOBS:-2}" \ | |
| TORCH_CUDA_ARCH_LIST=12.0a \ | |
| "${uv_bin}" pip install --python "${venv_dir}/bin/python" \ | |
| --no-build-isolation "${scales_dir}/python" | |
| "${venv_dir}/bin/python" -c \ | |
| "import comfy_kitchen, fish_scales_ops, fish_speech, torch; print('installed', torch.__version__, torch.version.cuda)" | |
| echo "Installation complete. Start the service with ./launch.sh" | |