Skip to content

Commit b629bf9

Browse files
authored
Merge pull request #39 from huggingface/add-pip-install-entrypoint
added entrypoint for pip install if exists
2 parents ec43212 + 0ad6c1e commit b629bf9

File tree

6 files changed

+35
-10
lines changed

6 files changed

+35
-10
lines changed

dockerfiles/starlette/pytorch/Dockerfile.cpu

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ COPY starlette_requirements.txt /tmp/requirements.txt
55
RUN pip install --no-cache-dir -r /tmp/requirements.txt && rm /tmp/requirements.txt
66

77
# Think about a better solution -> base contaienr has pt 1.13. thats why need below 0.14
8-
RUN pip install --no-cache-dir sentence_transformers torchvision~="0.14.0" diffusers=="0.9.0" accelerate=="0.14.0"
8+
RUN pip install --no-cache-dir sentence_transformers=="2.2.2" torchvision=="0.14.0" diffusers=="0.9.0" accelerate=="0.14.0"
99

1010
# Add upgrade due to issue in base container upgrade https://github.com/mamba-org/mamba/issues/2170
1111
RUN pip install transformers==4.25.1 --no-cache-dir --upgrade
@@ -14,7 +14,11 @@ RUN pip install transformers==4.25.1 --no-cache-dir --upgrade
1414
COPY src/huggingface_inference_toolkit huggingface_inference_toolkit
1515
COPY src/huggingface_inference_toolkit/webservice_starlette.py webservice_starlette.py
1616

17+
# copy entrypoint and change permissions
18+
COPY scripts/entrypoint.sh entrypoint.sh
19+
RUN chmod +x entrypoint.sh
20+
1721
# run app
18-
ENTRYPOINT ["uvicorn", "webservice_starlette:app", "--host", "0.0.0.0", "--port", "5000"]
22+
ENTRYPOINT ["/bin/bash", "entrypoint.sh"]
1923

2024

dockerfiles/starlette/pytorch/Dockerfile.gpu

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ COPY starlette_requirements.txt /tmp/requirements.txt
55
RUN pip install --no-cache-dir -r /tmp/requirements.txt && rm /tmp/requirements.txt
66

77
# Think about a better solution -> base contaienr has pt 1.13. thats why need below 0.14
8-
RUN pip install --no-cache-dir sentence_transformers torchvision=="0.14.0" diffusers=="0.9.0" accelerate=="0.14.0" --extra-index-url https://download.pytorch.org/whl/cu116
8+
RUN pip install --no-cache-dir sentence_transformers=="2.2.2" torchvision=="0.14.0" diffusers=="0.9.0" accelerate=="0.14.0" --extra-index-url https://download.pytorch.org/whl/cu116
99

1010
# Add upgrade due to issue in base container upgrade https://github.com/mamba-org/mamba/issues/2170
1111
RUN pip install transformers==4.25.1 --no-cache-dir --upgrade
@@ -14,6 +14,9 @@ RUN pip install transformers==4.25.1 --no-cache-dir --upgrade
1414
COPY src/huggingface_inference_toolkit huggingface_inference_toolkit
1515
COPY src/huggingface_inference_toolkit/webservice_starlette.py webservice_starlette.py
1616

17-
# run app
18-
ENTRYPOINT ["uvicorn", "webservice_starlette:app", "--host", "0.0.0.0", "--port", "5000"]
17+
# copy entrypoint and change permissions
18+
COPY scripts/entrypoint.sh entrypoint.sh
19+
RUN chmod +x entrypoint.sh
1920

21+
# run app
22+
ENTRYPOINT ["/bin/bash", "entrypoint.sh"]

dockerfiles/starlette/tensorflow/Dockerfile.cpu

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ RUN pip install --no-cache-dir -r /tmp/requirements.txt && rm /tmp/requirements
88
COPY src/huggingface_inference_toolkit huggingface_inference_toolkit
99
COPY src/huggingface_inference_toolkit/webservice_starlette.py webservice_starlette.py
1010

11-
# run app
12-
ENTRYPOINT ["uvicorn", "webservice_starlette:app", "--host", "0.0.0.0", "--port", "5000"]
13-
11+
# copy entrypoint and change permissions
12+
COPY scripts/entrypoint.sh entrypoint.sh
13+
RUN chmod +x entrypoint.sh
1414

15+
# run app
16+
ENTRYPOINT ["/bin/bash", "entrypoint.sh"]

dockerfiles/starlette/tensorflow/Dockerfile.gpu

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,9 @@ RUN pip install --no-cache-dir -r /tmp/requirements.txt && rm /tmp/requirements
88
COPY src/huggingface_inference_toolkit huggingface_inference_toolkit
99
COPY src/huggingface_inference_toolkit/webservice_starlette.py webservice_starlette.py
1010

11+
# copy entrypoint and change permissions
12+
COPY scripts/entrypoint.sh entrypoint.sh
13+
RUN chmod +x entrypoint.sh
14+
1115
# run app
12-
ENTRYPOINT ["uvicorn", "webservice_starlette:app","--host", "0.0.0.0", "--port", "5000"]
16+
ENTRYPOINT ["/bin/bash", "entrypoint.sh"]

scripts/entrypoint.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# /bin/bash
2+
3+
# check if HF_MODEL_DIR is set and if not skip installing custom dependencies
4+
if [ -z "${HF_MODEL_DIR}" ]; then
5+
# check if requirements.txt exists and if so install dependencies
6+
if [ -f "${HF_MODEL_DIR}/requirements.txt" ]; then
7+
echo "Installing custom dependencies from ${HF_MODEL_DIR}/requirements.txt"
8+
pip install -r ${HF_MODEL_DIR}/requirements.txt --no-cache-dir;
9+
fi
10+
fi
11+
12+
# start the server
13+
uvicorn webservice_starlette:app --host 0.0.0.0 --port 5000

src/huggingface_inference_toolkit/diffusers_utils.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ def check_supported_pipeline(model_dir):
3030

3131
class DiffusersPipelineImageToText:
3232
def __init__(self, model_dir: str, device: str = None): # needs "cuda" for GPU
33-
3433
self.pipeline = StableDiffusionPipeline.from_pretrained(model_dir, torch_dtype=torch.float16)
3534
# try to use DPMSolverMultistepScheduler
3635
try:

0 commit comments

Comments
 (0)