Cara Mendeploy Notebook Colab Jupyter ke Docker Container

· 3 min read
Cara Mendeploy Notebook Colab Jupyter ke Docker Container
Photo by Emile Perron / Unsplash

Pada bagian ini, kita akan membangun model pengklasifikasi sederhana menggunakan Kumpulan Data Iris, setelah itu kita akan mengimpor kode dari colab dan terakhir kita menginstal dan menjalankan deploy script yang berisi model tersebut ke dalam container docker.

Model Bangunan

Di bagian ini, kita akan membangun model pengklasifikasi menggunakan bawaan sklearn Kumpulan Data Iris.

LANGKAH 1:  Buat buku catatan baru di Google Colab.

pembukaan colab.png
pembukaan colab.png

LANGKAH 2  Impor dependensi.

import matplotlib.pyplot as plt
from sklearn import metrics
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

LANGKAH 3  Di sini kita akan memuat kumpulan data iris, membagi data menjadi set pelatihan dan set pengujian, dan membangun model klasifikasi.

iris = load_iris()
X = iris.data
y = iris.target

Di atas kami memuat dataset Iris.

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2 , random_state=4)

Di atas kami menggunakan  fungsi train_test_split  di sklearn untuk membagi kumpulan data iris menjadi kumpulan pelatihan dan kumpulan pengujian.

knn = KNeighborsClassifier(n_neighbors=10)
knn.fit(X,y)

Di atas kami membuat instance model KNeighbors Classifier dan menyetel hyperparameter n_neighbours agar memuat sepuluh (10) tetangga.

Menginstal dan menerapkan ke Docker

Ini adalah bab terakhir, di sini kita akan menginstal aplikasi desktop buruh pelabuhan dan menulis skrip yang akan menyebarkan skrip kita ke wadah buruh pelabuhan.

LANGKAH 1  Pertama, Anda mendownload skrip python yang berisi model terlatih Anda dari colab.

colab-import-code.png
colab-import-code.png

LANGKAH 2  Sekarang kita akan menginstal dan mengatur buruh pelabuhan. Anda dapat menginstal buruh pelabuhan menggunakan tautan ini__

LANGKAH 3  Sekarang buatlah sebuah direktori bernama  iris-classifier  di mana kita akan meng-host model dan skrip buruh pelabuhan kita.

Pindahkan file python yang berisi model klasifikasi iris ke folder klasifikasi iris yang baru saja dibuat.

Di folder yang sama, buat file teks bernama  persyaratan , di bawah ini adalah isinya.

sklearn==0.0
matplotlib==3.2.2

LANGKAH 4  Di sini kita akan membuat  Dockerfile , buka direktori utama Anda dan buat file bernama  Dockerfile  tanpa ekstensi apa pun. Dockerfile adalah skrip yang digunakan untuk membuat gambar container. Di bawah ini adalah item yang akan dimuat di Dockerfile Anda.

FROM python:3.8

ADD requirements.txt /

RUN pip install -r /requirements.txt

ADD iris-classifier.py /

ENV PYTHONUNBUFFERED=1

CMD [ "python", "./iris-classifier.py" ]

Di atas kami hanya memberi tahu buruh pelabuhan apa yang harus dilakukan setiap kali container dijalankan.

LANGKAH 5  Di sini kita akan membuat  file Docker Compose , file docker-compose hanyalah file konfigurasi yang memudahkan untuk memelihara container Docker yang berbeda.

Di direktori proyek Anda, buat file bernama  docker-compose.yml , di bawah ini adalah konten yang akan dimuat dalam file tersebut.

version: "3"
services:
  iris-classifier-uplink:
    # if failure  or server restarts, container will restart
    restart: always 
    container_name: iris-classifier-uplink
    image: iris-classifier-uplink
    build: 
      # build classifier image from the Dockerfile in the current directory
      context: .

Sekarang di direktori Anda,  iris-classifier  Anda seharusnya memiliki tiga (3) file.

  • buruh pelabuhan-compose.yml
  • file buruh pelabuhan
  • iris-classifier.py
  • persyaratan.txt

Menjalankan Kontainer Docker

Ini adalah langkah terakhir, di sini kita akan menjalankan container buruh pelabuhan menggunakan perintah di bawah ini.

docker compose build

docker compose up -d

Ini akhirnya, model Python kita sekarang berjalan di container docker!

Notebook Jupyter adalah tempat yang sangat bagus untuk membuat model dan Anda juga dapat menggunakannya sebagai back end untuk aplikasi, sayangnya, notebook tersebut tidak berjalan selamanya.

Docker membantu Anda memperbaikinya dengan menjalankan kembali notebook jupyter Anda ketika gagal dan ini menjadikannya alat yang patut diketahui.

Sekian dan Terimakasih..