Refactor dockerfile and entrypoint script
This commit is contained in:
@@ -1,8 +1 @@
|
|||||||
Dockerfile
|
Dockerfile
|
||||||
.venv
|
|
||||||
checkpoints/
|
|
||||||
metadata/
|
|
||||||
wavs/
|
|
||||||
*.wav
|
|
||||||
*.ckpt
|
|
||||||
*.csv
|
|
||||||
+1
-12
@@ -1,12 +1 @@
|
|||||||
.venv
|
.DS_Store
|
||||||
*.wav
|
|
||||||
*.ckpt
|
|
||||||
*.csv
|
|
||||||
*.onnx
|
|
||||||
*.json
|
|
||||||
*.yaml
|
|
||||||
*.yml
|
|
||||||
*events*
|
|
||||||
.venv
|
|
||||||
.mypy_cache
|
|
||||||
.drafts/
|
|
||||||
|
|||||||
+30
-25
@@ -1,34 +1,39 @@
|
|||||||
FROM nvidia/cuda:12.9.1-cudnn-devel-ubuntu24.04
|
FROM nvidia/cuda:12.1.1-cudnn8-runtime-ubuntu22.04
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive \
|
ENV DEBIAN_FRONTEND=noninteractive \
|
||||||
LANG=C.UTF-8 \
|
PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
||||||
LC_ALL=C.UTF-8 \
|
PYTHONUNBUFFERED=1 \
|
||||||
PATH="/usr/local/bin:/root/.local/bin:/root/bin:/piper/.venv/bin:${PATH}"
|
VENV_PATH=/opt/venv
|
||||||
|
|
||||||
RUN apt-get update && apt upgrade -y && apt-get install -y --no-install-recommends \
|
ENV PATH="${VENV_PATH}/bin:${PATH}"
|
||||||
bash coreutils vim nano \
|
|
||||||
git curl wget ca-certificates gnupg \
|
|
||||||
build-essential pkg-config ninja-build cmake \
|
|
||||||
python3 python3-pip python3-venv python3-dev \
|
|
||||||
ffmpeg espeak-ng \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
|
|
||||||
RUN chmod +x /usr/local/bin/uv
|
|
||||||
|
|
||||||
WORKDIR /piper
|
WORKDIR /piper
|
||||||
|
|
||||||
RUN git clone --depth 1 --branch v1.3.0 https://github.com/OHF-voice/piper1-gpl.git .
|
RUN apt-get update \
|
||||||
# RUN if ! [ -d wavs ]; then mkdir wavs; fi && if ! [ -d metadata ]; then mkdir metadata; fi && if ! [ -d checkpoints ]; then mkdir checkpoints; fi && if ! [ -d lightning_logs ]; then mkdir lightning_logs; fi && if ! [ -d cache ]; then mkdir cache; fi
|
&& apt-get install -y --no-install-recommends \
|
||||||
RUN uv python install 3.13 && uv python pin 3.13 && uv venv .venv --python 3.13
|
build-essential \
|
||||||
|
cmake \
|
||||||
|
espeak-ng \
|
||||||
|
git \
|
||||||
|
ninja-build \
|
||||||
|
pkg-config \
|
||||||
|
python3 \
|
||||||
|
python3-dev \
|
||||||
|
python3-venv \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN uv pip install -e .[train] torch==2.5.1 lightning==2.1.0 numpy "ml_dtypes>=0.5.0" scikit-build \
|
RUN git clone --depth 1 https://github.com/OHF-voice/piper1-gpl.git .
|
||||||
--index https://download.pytorch.org/whl/cu124 \
|
|
||||||
--index https://pypi.org/simple \
|
|
||||||
--index-strategy=unsafe-best-match \
|
|
||||||
--compile-bytecode
|
|
||||||
|
|
||||||
RUN uv run python3 setup.py build_ext --inplace
|
RUN python3 -m venv ${VENV_PATH}
|
||||||
RUN . .venv/bin/activate && ./build_monotonic_align.sh
|
|
||||||
|
|
||||||
ENV UV_OFFLINE=1
|
RUN pip install --upgrade pip wheel setuptools \
|
||||||
|
&& pip install --no-cache-dir cmake scikit-build \
|
||||||
|
&& pip install --no-cache-dir -e '.[train]'
|
||||||
|
|
||||||
|
RUN ./build_monotonic_align.sh \
|
||||||
|
&& python3 setup.py build_ext --inplace
|
||||||
|
|
||||||
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
|
RUN chmod +x /entrypoint.sh
|
||||||
|
|
||||||
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
CKPT_DIR="/piper/lightning_logs"
|
||||||
|
CKPT=""
|
||||||
|
|
||||||
|
if compgen -G "${CKPT_DIR}/version_*/checkpoints/*.ckpt" > /dev/null; then
|
||||||
|
CKPT=$(ls -t ${CKPT_DIR}/version_*/checkpoints/*.ckpt | head -n1)
|
||||||
|
RESUME_ARG="--trainer.resume_from_checkpoint $CKPT"
|
||||||
|
|
||||||
|
echo "Resuming: $CKPT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec python3 -m piper.train fit \
|
||||||
|
--data.voice_name pt_BR-well \
|
||||||
|
--data.espeak_voice pt-br \
|
||||||
|
--data.audio_dir /data/wav/ \
|
||||||
|
--data.batch_size 16 \
|
||||||
|
--data.cache_dir /data/.cache/ \
|
||||||
|
--data.config_path /data/config.json \
|
||||||
|
--data.csv_path /data/metadata.csv \
|
||||||
|
--model.sample_rate 22050 \
|
||||||
|
--trainer.check_val_every_n_epoch 1 \
|
||||||
|
--trainer.max_epochs 10000 \
|
||||||
|
$RESUME_ARG
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
absl-py==2.3.1
|
|
||||||
aiohappyeyeballs==2.6.1
|
|
||||||
aiohttp==3.13.2
|
|
||||||
aiosignal==1.4.0
|
|
||||||
attrs==25.4.0
|
|
||||||
audioop-lts==0.2.2
|
|
||||||
audioread==3.1.0
|
|
||||||
certifi==2025.11.12
|
|
||||||
cffi==2.0.0
|
|
||||||
charset-normalizer==3.4.4
|
|
||||||
coloredlogs==15.0.1
|
|
||||||
cython==3.2.1
|
|
||||||
decorator==5.2.1
|
|
||||||
distro==1.9.0
|
|
||||||
docstring-parser==0.17.0
|
|
||||||
filelock==3.20.0
|
|
||||||
flatbuffers==25.9.23
|
|
||||||
frozenlist==1.8.0
|
|
||||||
fsspec==2024.12.0
|
|
||||||
grpcio==1.76.0
|
|
||||||
humanfriendly==10.0
|
|
||||||
idna==3.11
|
|
||||||
importlib-resources==6.5.2
|
|
||||||
jinja2==3.1.6
|
|
||||||
joblib==1.5.2
|
|
||||||
jsonargparse==4.43.0
|
|
||||||
lazy-loader==0.4
|
|
||||||
librosa==0.11.0
|
|
||||||
lightning==2.1.0
|
|
||||||
lightning-utilities==0.15.2
|
|
||||||
llvmlite==0.45.1
|
|
||||||
markdown==3.10
|
|
||||||
markupsafe==3.0.3
|
|
||||||
ml-dtypes==0.5.3
|
|
||||||
mpmath==1.3.0
|
|
||||||
msgpack==1.1.2
|
|
||||||
multidict==6.7.0
|
|
||||||
networkx==3.5
|
|
||||||
numba==0.62.1
|
|
||||||
numpy==2.3.4
|
|
||||||
nvidia-cublas-cu12==12.4.5.8
|
|
||||||
nvidia-cuda-cupti-cu12==12.4.127
|
|
||||||
nvidia-cuda-nvrtc-cu12==12.4.127
|
|
||||||
nvidia-cuda-runtime-cu12==12.4.127
|
|
||||||
nvidia-cudnn-cu12==9.1.0.70
|
|
||||||
nvidia-cufft-cu12==11.2.1.3
|
|
||||||
nvidia-curand-cu12==10.3.5.147
|
|
||||||
nvidia-cusolver-cu12==11.6.1.9
|
|
||||||
nvidia-cusparse-cu12==12.3.1.170
|
|
||||||
nvidia-nccl-cu12==2.21.5
|
|
||||||
nvidia-nvjitlink-cu12==12.4.127
|
|
||||||
nvidia-nvtx-cu12==12.4.127
|
|
||||||
onnx==1.19.1
|
|
||||||
onnxruntime==1.23.2
|
|
||||||
packaging==24.2
|
|
||||||
pathvalidate==3.3.1
|
|
||||||
pillow==12.0.0
|
|
||||||
piper-tts==1.3.0
|
|
||||||
platformdirs==4.5.0
|
|
||||||
pooch==1.8.2
|
|
||||||
propcache==0.4.1
|
|
||||||
protobuf==6.33.1
|
|
||||||
pycparser==2.23
|
|
||||||
pysilero-vad==2.1.1
|
|
||||||
pytorch-lightning==2.5.6
|
|
||||||
pyyaml==6.0.3
|
|
||||||
requests==2.32.5
|
|
||||||
scikit-build==0.18.1
|
|
||||||
scikit-learn==1.7.2
|
|
||||||
scipy==1.16.3
|
|
||||||
setuptools==80.9.0
|
|
||||||
soundfile==0.13.1
|
|
||||||
soxr==1.0.0
|
|
||||||
standard-aifc==3.13.0
|
|
||||||
standard-chunk==3.13.0
|
|
||||||
standard-sunau==3.13.0
|
|
||||||
sympy==1.13.1
|
|
||||||
tensorboard==2.20.0
|
|
||||||
tensorboard-data-server==0.7.2
|
|
||||||
tensorboardx==2.6.4
|
|
||||||
threadpoolctl==3.6.0
|
|
||||||
torch==2.5.1+cu124
|
|
||||||
torchmetrics==1.8.2
|
|
||||||
tqdm==4.67.1
|
|
||||||
typeshed-client==2.8.2
|
|
||||||
typing-extensions==4.15.0
|
|
||||||
urllib3==2.5.0
|
|
||||||
werkzeug==3.1.3
|
|
||||||
wheel==0.45.1
|
|
||||||
yarl==1.22.0
|
|
||||||
Reference in New Issue
Block a user