You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
1.7 KiB
Bash
83 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
|
|
|
cd "$SCRIPT_DIR" || exit 1
|
|
|
|
set -e
|
|
|
|
if ! command -v docker &>/dev/null; then
|
|
echo "Docker Not Found"
|
|
exit 1
|
|
fi
|
|
|
|
trap 'echo "Error Occured at \"$BASH_COMMAND\" with exit code $?"; exit 1' ERR
|
|
|
|
LITE=false
|
|
CUDA_VERSION=12.6
|
|
|
|
print_help() {
|
|
echo "Usage: bash docker_build.sh [OPTIONS]"
|
|
echo ""
|
|
echo "Options:"
|
|
echo " --cuda 12.6|12.8 Specify the CUDA VERSION (REQUIRED)"
|
|
echo " --lite Build a Lite Image"
|
|
echo " -h, --help Show this help message and exit"
|
|
echo ""
|
|
echo "Examples:"
|
|
echo " bash docker_build.sh --cuda 12.6 --funasr --faster-whisper"
|
|
}
|
|
|
|
# Show help if no arguments provided
|
|
if [[ $# -eq 0 ]]; then
|
|
print_help
|
|
exit 0
|
|
fi
|
|
|
|
# Parse arguments
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
--cuda)
|
|
case "$2" in
|
|
12.6)
|
|
CUDA_VERSION=12.6
|
|
;;
|
|
12.8)
|
|
CUDA_VERSION=12.8
|
|
;;
|
|
*)
|
|
echo "Error: Invalid CUDA_VERSION: $2"
|
|
echo "Choose From: [12.6, 12.8]"
|
|
exit 1
|
|
;;
|
|
esac
|
|
shift 2
|
|
;;
|
|
--lite)
|
|
LITE=true
|
|
shift
|
|
;;
|
|
*)
|
|
echo "Unknown Argument: $1"
|
|
echo "Use -h or --help to see available options."
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
TARGETPLATFORM=$(uname -m | grep -q 'x86' && echo "linux/amd64" || echo "linux/arm64")
|
|
|
|
if [ $LITE = true ]; then
|
|
TORCH_BASE="lite"
|
|
else
|
|
TORCH_BASE="full"
|
|
fi
|
|
|
|
docker build \
|
|
--build-arg CUDA_VERSION=$CUDA_VERSION \
|
|
--build-arg LITE=$LITE \
|
|
--build-arg TARGETPLATFORM="$TARGETPLATFORM" \
|
|
--build-arg TORCH_BASE=$TORCH_BASE \
|
|
-t "${USER}/gpt-sovits:local" \
|
|
.
|