У меня есть API Python, использующий логистическую регрессию. Я поместил в докер-контейнер, используя изображение python: 3.5, и мой размер изображения действительно большой> 2.3GB!
Я также попробовал Ubuntu: 18 изображений и результаты были лучше (1,9 ГБ), но я все еще нахожу этот большой ..
Я также пробовал с Alpine, но у меня было много проблем с совместимостью библиотек.
Как вы настраиваете докеризацию Python API с помощью алгоритма машинного обучения?
Вот мой Dockerfile
FROM python:3.5
RUN python3 --version
RUN mkdir app/
COPY requirements.txt app/
WORKDIR app/
RUN pip install --upgrade setuptools
RUN pip install -r requirements.txt
RUN python3 -m spacy download fr
COPY *.py /app/
COPY model.pk .
EXPOSE 1808
CMD ["gunicorn", "--bind", "0.0.0.0:1808", "main"]
и вот мой файл требований:
Flask==0.12.1
gensim==3.4.0
pandas==0.23.0
spacy==2.0.11
nltk==3.3
sklearn==0.0
scikit-learn==0.19.1
lime==0.1.1.31
Keras==2.2.0
tensorflow==1.8.0
gunicorn