Container Deep Learning (DL) adalah container Docker dengan framework, library, dan alat data science yang telah diinstal sebelumnya. Pengguna, seperti ilmuwan data, memilih satu penampung DL dan men-deploy-nya. Container yang di-deploy memiliki lingkungan yang konsisten dan dioptimalkan untuk performa yang membantu pembuatan prototipe dan penerapan alur kerja dengan cepat.
Men-deploy container DL
Sebelum menggunakan container DL, Anda harus memilih dan men-deploy image container yang menjalankan tugas Machine Learning (ML) Anda. Framework, library, dan alat yang telah diinstal sebelumnya menyediakan container DL.
Men-deploy container DL menggunakan file kubeconfig
Perangkat Google Distributed Cloud (GDC) dengan air gap menyediakan file kubeconfig
berikut yang men-deploy container DL Anda:
CLUSTER_KUBECONFIG
: file kubeconfig untuk cluster Kubernetes bare metal. GDC menyediakan satu cluster untuk semua workload.
Untuk mengetahui informasi selengkapnya tentang login ke UI dan alat kubectl
, lihat
Login.
Untuk mengambil file CLUSTER_KUBECONFIG
file, lihat Mendapatkan file kubeconfig
.
Mendownload skrip dan set data Machine Learning (ML) contoh
Download skrip ML contoh, beginner.ipynb
, dan set data, mnist.npz
, untuk
menjalankan tutorial memulai cepat ML. Tutorial ini menunjukkan cara men-deploy dan menggunakan
container DL untuk menjalankan eksperimen ML.
mkdir -p /tmp/datasets
cd /tmp/datasets
wget --no-check-certificate
https://GDC_APPLIANCE_URL/.well-known/static/dl-container-tutorial/beginner.ipynb
wget --no-check-certificate
https://GDC_APPLIANCE_URL/.well-known/static/dl-container-tutorial/mnist.npz
Ganti GDC_APPLIANCE_URL
dengan nama domain yang digunakan untuk mengakses
GDC. Saat membuka URL apa pun untuk pertama
kalinya, GDC akan mengalihkan Anda ke halaman login
penyedia identitas Anda.
Cari alamat IP Harbor registry
Sebelum menggunakan skrip dan set data contoh, Anda harus menemukan lokasi image container DL di registry Harbor. Registry Harbor adalah layanan yang menyimpan image container pribadi.
Baris pertama kode contoh menetapkan jalur variabel lingkungan KUBECONFIG
, yang mendapatkan alamat registry Harbor. Alamat
registri Harbor memberikan akses ke daftar image container yang tersedia.
Di baris kedua kode contoh, alat kubectl
menggunakan variabel lingkungan KUBECONFIG
.
Di baris ketiga kode contoh, perintah REGISTRY_URL#https://
menghapus
awalan https://
dari URL dan menyimpan domain registry Harbor dalam
variabel lingkungan REGISTRY_IP
.
Di baris terakhir contoh kode, alat kubectl mengambil sandi untuk pengguna admin
.
export KUBECONFIG=CLUSTER_KUBECONFIG
REGISTRY_URL=$(kubectl get harborcluster harbor -n harbor-system -o=jsonpath='{.spec.externalURL}')
REGISTRY_IP=${REGISTRY_URL#https://}
ADMIN_PASS=$(kubectl -n harbor-system get secret harbor-admin -o jsonpath="{.data.secret}" | base64 -d)
Pilih image container
Anda harus memilih image container yang akan di-deploy sebelum dapat menjalankan tugas ML. Gunakan Harbor registry domain dan jalur dalam tabel berikut dari Harbor registry untuk melihat daftar image container yang tersedia:
Framework | Prosesor | Nama Image Container |
---|---|---|
Dasar | GPU | base-cu113 |
Dasar | CPU | base-cpu |
TensorFlow Enterprise 2.x | GPU | tf2-gpu |
PyTorch | GPU | pytorch-gpu |
Tabel ini disusun berdasarkan framework dan prosesor. Untuk memilih image penampung DL yang dapat memproses eksperimen ML Anda, ikuti langkah-langkah berikut:
- Identifikasi framework, yang berisi alat ML.
- Pilih pemroses. Anda memilih prosesor berdasarkan jenis tugas ML yang akan dijalankan dan intensitas komputasi tugas tersebut. Misalnya, pilih salah satu prosesor GPU saat Anda memiliki tugas ML yang intensif secara komputasi, dan alokasikan resource GPU ke penampung DL.
Membuat dan men-deploy container DL ke cluster Kubernetes
Untuk membuat instance GDC, tentukan jalur ke file
kubeconfig
cluster Kubernetes bare metal. Variabel lingkungan KUBECONFIG
menentukan cluster tempat alat kubectl
men-deploy container DL. Perintah
kubectl apply
men-deploy instance container DL.
Ganti CONTAINER_IMAGE_NAME
dengan image yang dipilih dari
daftar image di Choose a container image, dan pastikan untuk
memberikan tag.
export KUBECONFIG=CLUSTER_KUBECONFIG
kubectl apply -f - <<EOF
apiVersion: v1
kind: Pod
metadata:
name: dl-container-pod
namespace: NAMESPACE
spec:
containers:
- image: gcr.io/private-cloud-staging/notebooks/deeplearning-platform-release/CONTAINER_IMAGE_NAME:CONTAINER_IMAGE_TAG
command: ["tail", "-f", "/dev/null"]
name: training
EOF
Menggunakan container DL yang di-deploy
Topik berikut memberikan contoh cara menggunakan image container DL untuk melatih dan menggunakan model guna membuat prediksi.
Menyalin file tutorial ke pod container DL
Salin file tutorial memulai cepat ke pod penampung DL Anda. beginner.ipynb
berisi langkah-langkah untuk melatih dan menggunakan model guna membuat prediksi.
Tutorial pelatihan ML menggunakan file set data mnist.npz
untuk melatih model.
cd /tmp/datasets
kubectl cp beginner.ipynb dl-container-pod:/tmp
kubectl cp mnist.npz dl-container-pod:/tmp
Menjalankan tutorial mulai cepat ML
Jalankan tutorial dengan perintah berikut. Gunakan baris pertama untuk memasukkan pod
penampung. Setelah Anda berada di pod penampung, ubah direktori ke tmp
, lalu jalankan alat papermill
yang dikemas dalam penampung DL.
Alat papermill
menjalankan tutorial untuk membuat notebook yang menghasilkan prediksi.
Masukkan terminal interaktif ke dalam pod DL:
kubectl exec -it dl-container-pod -- /bin/bash
Dalam konteks pod DL, jalankan perintah berikut:
cd tmp papermill beginner.ipynb result.ipynb
Deployment akan menghasilkan file
result.ipynb
di direktori/tmp
.Lihat konten dan output prediksi dari model ML yang dihasilkan:
cat result.ipynb
Opsional: Hapus pod container DL
Setelah Anda selesai menjalankan eksperimen di pod penampung DL, hapus pod sebagai praktik terbaik:
kubectl delete pod dl-container-pod