소스 검색

Revert "feat(server): Machine learning's image optimisations (#1908)" (#1915)

This reverts commit 977740045a6c1c29ea5edc4f22ad9377523c422d.
Zack Pollard 2 년 전
부모
커밋
1cc184ed10
3개의 변경된 파일10개의 추가작업 그리고 79개의 파일을 삭제
  1. 10 17
      machine-learning/Dockerfile
  2. 0 29
      machine-learning/gunicorn.conf.py
  3. 0 33
      machine-learning/requirements.txt

+ 10 - 17
machine-learning/Dockerfile

@@ -1,26 +1,19 @@
-FROM python:3.10 as builder
-
-ENV PYTHONDONTWRITEBYTECODE=1 \
-    PYTHONUNBUFFERED=1 \
-    PIP_NO_CACHE_DIR=true
-
-COPY requirements.txt ./
-
-RUN python -m venv /opt/venv && \
-    /opt/venv/bin/pip install --upgrade pip setuptools wheel && \
-    /opt/venv/bin/pip install --no-deps -r requirements.txt
-
-FROM python:3.10-slim
-
-COPY --from=builder /opt/venv /opt/venv
+FROM python:3.10
 
 ENV TRANSFORMERS_CACHE=/cache \
     PYTHONDONTWRITEBYTECODE=1 \
     PYTHONUNBUFFERED=1 \
-    PATH="/opt/venv/bin:$PATH"
+    PIP_NO_CACHE_DIR=true
 
 WORKDIR /usr/src/app
 
+RUN python -m venv /opt/venv
+ENV PATH="/opt/venv/bin:$PATH"
+
+RUN pip install --pre torch  -f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html
+RUN pip install transformers tqdm numpy scikit-learn scipy nltk sentencepiece flask Pillow
+RUN pip install --no-deps sentence-transformers
+
 COPY . .
 
-CMD ["gunicorn", "src.main:server"]
+CMD ["python", "src/main.py"]

+ 0 - 29
machine-learning/gunicorn.conf.py

@@ -1,29 +0,0 @@
-"""
-Gunicorn configuration options.
-https://docs.gunicorn.org/en/stable/settings.html
-"""
-import os
-
-
-# Set the bind address based on the env
-port = os.getenv("MACHINE_LEARNING_PORT") or "3003"
-listen_ip = os.getenv("MACHINE_LEARNING_IP") or "0.0.0.0"
-bind = [f"{listen_ip}:{port}"]
-
-# Preload the Flask app / models etc. before starting the server
-preload_app = True
-
-# Logging settings - log to stdout and set log level
-accesslog = "-"
-loglevel = os.getenv("MACHINE_LEARNING_LOG_LEVEL") or "info"
-
-# Worker settings
-# ----------------------
-# It is important these are chosen carefully as per
-# https://pythonspeed.com/articles/gunicorn-in-docker/
-# Otherwise we get workers failing to respond to heartbeat checks,
-# especially as requests take a long time to complete.
-workers = 2
-threads = 4
-worker_tmp_dir = "/dev/shm"
-timeout = 60

+ 0 - 33
machine-learning/requirements.txt

@@ -1,33 +0,0 @@
-certifi==2022.12.7
-charset-normalizer==3.0.1
-click==8.1.3
-filelock==3.9.0
-Flask==2.2.3
-gunicorn==20.1.0
-huggingface-hub==0.12.1
-idna==3.4
-importlib-metadata==6.0.0
-itsdangerous==2.1.2
-Jinja2==3.1.2
-joblib==1.2.0
-MarkupSafe==2.1.2
-nltk==3.8.1
-numpy==1.24.2
-packaging==23.0
-Pillow==9.4.0
-PyYAML==6.0
-regex==2022.10.31
-requests==2.28.2
-scikit-learn==1.2.1
-scipy==1.10.1
-sentence-transformers==2.2.2
-sentencepiece==0.1.97
-threadpoolctl==3.1.0
-tokenizers==0.13.2
-torch==1.13.1 -f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html
-tqdm==4.64.1
-transformers==4.26.1
-typing-extensions==4.5.0
-urllib3==1.26.14
-Werkzeug==2.2.3
-zipp==3.15.0