Update Dockerfile
Browse files- Dockerfile +12 -24
Dockerfile
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
-
FROM python:3.
|
| 2 |
|
| 3 |
# ------------------------------------------------
|
| 4 |
-
# システムパッケージ & jemalloc の導入
|
| 5 |
# ------------------------------------------------
|
| 6 |
RUN apt-get update && \
|
| 7 |
apt-get install -y --no-install-recommends \
|
|
@@ -16,26 +16,18 @@ RUN apt-get update && \
|
|
| 16 |
RUN useradd -rm -d /home/hf -s /bin/bash -g root -G sudo -u 1001 hf
|
| 17 |
|
| 18 |
# ------------------------------------------------
|
| 19 |
-
# 基本環境変数
|
| 20 |
# ------------------------------------------------
|
| 21 |
ENV TRANSFORMERS_CACHE=/tmp/hf_cache
|
| 22 |
ENV HF_HOME=/tmp/hf_cache
|
| 23 |
ENV PYTHONUNBUFFERED=1
|
| 24 |
ENV PYTHONDONTWRITEBYTECODE=1
|
| 25 |
|
| 26 |
-
# 💡 バグ修正:構文エラーを直し、jemallocによるメモリ断片化抑制を確実に有効化
|
| 27 |
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
|
| 28 |
ENV MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:20000,muzzy_decay_ms:20000"
|
| 29 |
|
| 30 |
-
#
|
| 31 |
-
|
| 32 |
-
# ------------------------------------------------
|
| 33 |
-
# 💡 仮想化(vCPU)コンテナ環境の鉄則である「PASSIVE」に変更。
|
| 34 |
-
# 無駄なスレッドのスピン(CPUの奪い合い)を排除し、処理効率を劇的に向上させます。
|
| 35 |
-
ENV OMP_WAIT_POLICY=PASSIVE
|
| 36 |
-
ENV KMP_BLOCKTIME=0
|
| 37 |
-
|
| 38 |
-
# oneDNN チューニング(BF16高速化を有効化)
|
| 39 |
ENV DNNL_DEFAULT_FPMATH_MODE=BF16
|
| 40 |
ENV ONEDNN_PRIMITIVE_CACHE_CAPACITY=512
|
| 41 |
|
|
@@ -43,7 +35,7 @@ WORKDIR /home/hf
|
|
| 43 |
USER hf
|
| 44 |
|
| 45 |
# ------------------------------------------------
|
| 46 |
-
# ComfyUI の
|
| 47 |
# ------------------------------------------------
|
| 48 |
RUN git clone https://github.com/comfyanonymous/ComfyUI
|
| 49 |
WORKDIR /home/hf/ComfyUI
|
|
@@ -52,15 +44,14 @@ ENV VIRTUAL_ENV=/home/hf/ComfyUI/venv
|
|
| 52 |
RUN python3 -m venv $VIRTUAL_ENV
|
| 53 |
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
| 54 |
|
| 55 |
-
# 💡
|
| 56 |
-
#
|
| 57 |
RUN pip install --no-cache-dir --upgrade pip && \
|
| 58 |
-
pip install --no-cache-dir
|
| 59 |
-
pip install --no-cache-dir
|
| 60 |
-
pip install --no-cache-dir intel-extension-for-pytorch
|
| 61 |
|
| 62 |
# ------------------------------------------------
|
| 63 |
-
# モデルのダウンロード
|
| 64 |
# ------------------------------------------------
|
| 65 |
RUN wget -nv -c https://huggingface.co/circlestone-labs/Anima/resolve/main/split_files/diffusion_models/anima-base-v1.0.safetensors -P ./models/diffusion_models/ && \
|
| 66 |
wget -nv -c https://huggingface.co/circlestone-labs/Anima/resolve/main/split_files/text_encoders/qwen_3_06b_base.safetensors -P ./models/text_encoders/ && \
|
|
@@ -69,11 +60,8 @@ RUN wget -nv -c https://huggingface.co/circlestone-labs/Anima/resolve/main/split
|
|
| 69 |
RUN mkdir temp && chmod 777 temp
|
| 70 |
|
| 71 |
# ------------------------------------------------
|
| 72 |
-
# 5. 起動コマンド(
|
| 73 |
# ------------------------------------------------
|
| 74 |
-
# 💡 完璧な修正:Pythonのインデントエラーを徹底排除。
|
| 75 |
-
# Linux標準のシェル演算 $(( (quota + period - 1) / period )) を使い、
|
| 76 |
-
# cgroupsから割り当てられた実効コア数を安全かつ正確に自動計算(切り上げ)します。
|
| 77 |
CMD quota_v2="/sys/fs/cgroup/cpu.max"; \
|
| 78 |
quota_v1="/sys/fs/cgroup/cpu/cpu.cfs_quota_us"; \
|
| 79 |
period_v1="/sys/fs/cgroup/cpu/cpu.cfs_period_us"; \
|
|
|
|
| 1 |
+
FROM python:3.11-slim
|
| 2 |
|
| 3 |
# ------------------------------------------------
|
| 4 |
+
# 1. システムパッケージ & jemalloc の導入
|
| 5 |
# ------------------------------------------------
|
| 6 |
RUN apt-get update && \
|
| 7 |
apt-get install -y --no-install-recommends \
|
|
|
|
| 16 |
RUN useradd -rm -d /home/hf -s /bin/bash -g root -G sudo -u 1001 hf
|
| 17 |
|
| 18 |
# ------------------------------------------------
|
| 19 |
+
# 2. 基本環境変数 & メモリアロケータ最適化
|
| 20 |
# ------------------------------------------------
|
| 21 |
ENV TRANSFORMERS_CACHE=/tmp/hf_cache
|
| 22 |
ENV HF_HOME=/tmp/hf_cache
|
| 23 |
ENV PYTHONUNBUFFERED=1
|
| 24 |
ENV PYTHONDONTWRITEBYTECODE=1
|
| 25 |
|
|
|
|
| 26 |
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
|
| 27 |
ENV MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:20000,muzzy_decay_ms:20000"
|
| 28 |
|
| 29 |
+
# 💡 チューニング:全力でCPUを回すため WAIT_POLICY をデフォルト(ACTIVE側)に戻します
|
| 30 |
+
ENV KMP_BLOCKTIME=1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
ENV DNNL_DEFAULT_FPMATH_MODE=BF16
|
| 32 |
ENV ONEDNN_PRIMITIVE_CACHE_CAPACITY=512
|
| 33 |
|
|
|
|
| 35 |
USER hf
|
| 36 |
|
| 37 |
# ------------------------------------------------
|
| 38 |
+
# 3. ComfyUI の展開と、デグレードを起こさない pip インストール
|
| 39 |
# ------------------------------------------------
|
| 40 |
RUN git clone https://github.com/comfyanonymous/ComfyUI
|
| 41 |
WORKDIR /home/hf/ComfyUI
|
|
|
|
| 44 |
RUN python3 -m venv $VIRTUAL_ENV
|
| 45 |
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
| 46 |
|
| 47 |
+
# 💡 完璧な修正:すべてのインストールで一貫して --index-url を指定。
|
| 48 |
+
# かつ、最後に CPU専用版の torch を上書きすることで、確実に OpenMP/oneDNN 最適化バイナリを固定します。
|
| 49 |
RUN pip install --no-cache-dir --upgrade pip && \
|
| 50 |
+
pip install --no-cache-dir -r requirements.txt --index-url https://download.pytorch.org/whl/cpu && \
|
| 51 |
+
pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
|
|
|
|
| 52 |
|
| 53 |
# ------------------------------------------------
|
| 54 |
+
# 4. モデルのダウンロード
|
| 55 |
# ------------------------------------------------
|
| 56 |
RUN wget -nv -c https://huggingface.co/circlestone-labs/Anima/resolve/main/split_files/diffusion_models/anima-base-v1.0.safetensors -P ./models/diffusion_models/ && \
|
| 57 |
wget -nv -c https://huggingface.co/circlestone-labs/Anima/resolve/main/split_files/text_encoders/qwen_3_06b_base.safetensors -P ./models/text_encoders/ && \
|
|
|
|
| 60 |
RUN mkdir temp && chmod 777 temp
|
| 61 |
|
| 62 |
# ------------------------------------------------
|
| 63 |
+
# 5. 起動コマンド(動的検知 + 確実なコア割り当て)
|
| 64 |
# ------------------------------------------------
|
|
|
|
|
|
|
|
|
|
| 65 |
CMD quota_v2="/sys/fs/cgroup/cpu.max"; \
|
| 66 |
quota_v1="/sys/fs/cgroup/cpu/cpu.cfs_quota_us"; \
|
| 67 |
period_v1="/sys/fs/cgroup/cpu/cpu.cfs_period_us"; \
|