Üretim İçin Machine Learning Modelleri Geliştirme
Sinan Ozdemir
Data Scientist, Entrepreneur, and Author
Paketleme Yöntemleri
Serileştirme - bir ML modelini saklama ve geri yükleme
Ortam paketleme - ML model için tutarlı ve tekrarlanabilir bir ortam
Konteynerleştirme - modeli, bağımlılıkları ve ortamı tek bir "konteyner" içinde paketleme
Bir sklearn modelini pickle ile serileştirme:
import pickle
model = ... # Train the scikit-learn model
# Serialize the model to a file
with open('model.pkl', 'wb') as f:
pickle.dump(model, f)
# Load the serialized model from the file
with open('model.pkl', 'rb') as f:
model = pickle.load(f)
Bir sklearn modelini HDF5 formatında serileştirme:
import h5py
import numpy as np
from sklearn.externals import joblib
model = ... # Train the scikit-learn model
# Serialize the model to an HDF5 file
with h5py.File('model.h5', 'w') as f:
f.create_dataset('model_weights',
data=joblib.dump(model))
# Load the serialized model from the HDF5 file
with h5py.File('model.h5', 'r') as f:
model = joblib.load(f['model_weights'][:])
Bir PyTorch modelini serileştirme:
import torch
# Train a PyTorch model and store it in a variable
trained_model = ...
# Serialize the trained model to a file
serialized_model_path = 'model.pt'
torch.save(trained_model.state_dict(), serialized_model_path)
# Load the serialized model from a file
loaded_model = ... # Initialize the model
loaded_model.load_state_dict(
torch.load(serialized_model_path))
Bir Tensorflow modelini serileştirme:
import tensorflow as tf
# Train a Tensorflow model
trained_model = ...
# Save the trained model to a directory
saved_model_directory = 'model/'
tf.saved_model.save
(trained_model, saved_model_directory)
# Load the saved model from the directory
loaded_model = tf.saved_model.load(
saved_model_directory)

# Use an existing image as the base image
FROM python:3.8-slim
# Set the working directory
WORKDIR /app
# Copy the requirements file to the image
COPY requirements.txt .
# Install the required dependencies
RUN pip install -r requirements.txt
# Copy the ML model and its dependencies to the image
COPY model/ .
# Set the entrypoint to run the model
ENTRYPOINT ["python", "run_model.py"]
<---- Python 3.8 taban imajını kullan
<---- Çalışma dizinini ayarla
<---- requirements.txt dosyasını kopyala
<---- Modelin bağımlı paketlerini kur
<---- Modeli konteynere kopyala
<---- Konteynerin nasıl başlayacağını belirt
Eğitilmiş ML modelini pickle, HDF5 veya PyTorch gibi bir formatla serileştir.
Serileştirilmiş ML modelini, bağımlılıklarını ve ortamı konteynerleştir
Docker imajını bulut platformu gibi bir hedef ortama dağıt
Dağıtılan Docker imajından konteyneri çalıştır ve ML modelini çalıştır.
Konteyner içindeki modeli bir API veya başka bir erişim noktasıyla kullan.

Üretim İçin Machine Learning Modelleri Geliştirme