Пакування та контейнеризація

End-to-End Machine Learning

Joshua Stapleton

Machine Learning Engineer

Розгортання та контейнеризація

Розгортання

  • Пакування моделі та залежностей в єдині блоки
  • Для запуску в різних середовищах
  • Де-факто фреймворк для контейнеризації та розгортання — Docker

Етап розгортання в життєвому циклі машинного навчання

End-to-End Machine Learning

Docker

  • Платформа для спрощення розробки за допомогою контейнерів

Контейнери:

  • Пакують застосунок у самостійні артефакти
  • Створені як платформно-нейтральні
  • Get Docker

 

Курс DataCamp про Docker

Логотип Docker

End-to-End Machine Learning

Використання Docker, частина 1

Dockerfile: інструкції для збирання контейнера

# Use an official Python runtime as a parent image
FROM Python:3.7

# Set the working directory in the container to /app WORKDIR /ML_pipeline
# Copy the current directory contents into the container at /app ADD . /ML_pipeline
# Install any needed packages specified in requirements.txt RUN pip install --no-cache-dir -r requirements.txt
End-to-End Machine Learning

Використання Docker, частина 2

# ... continued
# Make port 80 available to the world outside this container
EXPOSE 80
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["Python", "ML_pipeline.py"]

Зберіть визначений образ:

docker build -t heart_disease_model .
End-to-End Machine Learning

Тегування контейнерів

Тегування:

docker tag heart_disease_model:latest heart_disease_model:1.0
  • Полегшує ідентифікацію та керування образами/контейнерами.
  • Допомагає підтримувати детальний і надійний реєстр моделей.
  • Після тегування можна розгортати!

Розгортання зображене як стрілка

End-to-End Machine Learning

Найкращі практики

Хоч Docker і спрощує пакування моделей...

  • Дбайте про безпеку
  • Не включайте чутливі дані
  • Використовуйте надійні образи (від перевірених розробників)

Якщо у вашому застосунку є чутлива інформація...

  • Використовуйте змінні середовища
  • Наприклад, для рядків підключення/паролів

Замок безпеки

End-to-End Machine Learning

Давайте потренуємось!

End-to-End Machine Learning

Preparing Video For Download...