Halaman ini menunjukkan cara menjalankan tugas pelatihan di instance Deep Learning Containers, dan menjalankan image container tersebut di cluster Google Kubernetes Engine.
Sebelum memulai
Sebelum memulai, pastikan Anda telah menyelesaikan langkah-langkah berikut.
Selesaikan langkah-langkah penyiapan di bagian Sebelum memulai pada artikel Mulai menggunakan Deep Learning Container lokal.
Pastikan penagihan diaktifkan untuk Google Cloud project Anda.
Aktifkan Google Kubernetes Engine, Compute Engine, dan Artifact Registry API.
Buka alat command line Anda
Anda dapat mengikuti panduan ini menggunakan
Cloud Shell atau
alat command line secara lokal. Cloud Shell telah diinstal sebelumnya dengan alat command line gcloud
, docker
, dan kubectl
yang digunakan dalam tutorial ini. Jika Anda menggunakan Cloud Shell, Anda tidak perlu menginstal alat command line ini di workstation.
Cloud Shell
Untuk menggunakan Cloud Shell, selesaikan langkah-langkah berikut.
Buka Google Cloud console.
Klik tombol Activate Cloud Shell di bagian atas jendela konsol.
Sesi Cloud Shell akan terbuka di dalam frame baru di bagian bawah konsol dan menampilkan perintah command line.
Command line lokal
Untuk menggunakan command line lokal, selesaikan langkah-langkah berikut.
Dengan menggunakan gcloud CLI, instal alat command line Kubernetes.
kubectl
digunakan untuk berkomunikasi dengan Kubernetes, yang merupakan sistem orkestrasi cluster dari cluster Deep Learning Containers:gcloud components install kubectl
Saat menyelesaikan langkah-langkah memulai, Anda telah menginstal Google Cloud CLI dan Docker.
Membuat cluster GKE
Jalankan perintah berikut untuk membuat cluster dua node di GKE
bernama pytorch-training-cluster
:
gcloud container clusters create pytorch-training-cluster \
--num-nodes=2 \
--zone=us-west1-b \
--accelerator="type=nvidia-tesla-p100,count=1" \
--machine-type="n1-highmem-2" \
--scopes="gke-default,storage-rw"
Untuk mengetahui informasi selengkapnya tentang setelan ini, lihat dokumentasi tentang pembuatan cluster untuk menjalankan penampung.
Mungkin perlu waktu beberapa menit untuk membuat cluster.
Atau, alih-alih membuat cluster, Anda dapat menggunakan cluster yang ada di project Google Cloud . Jika Anda melakukannya, Anda mungkin perlu
menjalankan perintah berikut untuk memastikan alat command line kubectl
memiliki kredensial yang tepat untuk mengakses cluster Anda:
gcloud container clusters get-credentials YOUR_EXISTING_CLUSTER
Selanjutnya, instal driver perangkat GPU NVIDIA.
Buat Dockerfile
Ada banyak cara untuk membuat image container.
Langkah-langkah ini akan menunjukkan cara membuat satu untuk menjalankan skrip
Python bernama trainer.py
.
Untuk melihat daftar image container yang tersedia:
gcloud container images list \
--repository="us-docker.pkg.dev/deeplearning-platform-release/gcr.io"
Anda dapat membuka Memilih penampung untuk membantu Anda memilih penampung yang diinginkan.
Contoh berikut akan menunjukkan cara menempatkan skrip Python bernama
trainer.py
ke dalam jenis container deep learning PyTorch tertentu.
Untuk membuat dockerfile, tulis perintah berikut ke file bernama
Dockerfile
. Langkah ini mengasumsikan bahwa Anda memiliki kode untuk melatih model machine learning di direktori bernama model-training-code
dan modul Python utama di direktori tersebut bernama trainer.py
. Dalam
skenario ini, container akan dihapus setelah tugas selesai, sehingga
skrip pelatihan Anda harus dikonfigurasi untuk menghasilkan output ke Cloud Storage (lihat
contoh skrip yang menghasilkan output ke
Cloud Storage)
atau menghasilkan output ke
penyimpanan persisten.
FROM us-docker.pkg.dev/deeplearning-platform-release/gcr.io/pytorch-gpu
COPY model-training-code /train
CMD ["python", "/train/trainer.py"]
Buat dan upload image container
Untuk membangun dan mengupload image container ke Artifact Registry, gunakan perintah berikut:
export PROJECT_ID=$(gcloud config list project --format "value(core.project)")
export IMAGE_REPO_NAME=pytorch_custom_container
export IMAGE_TAG=$(date +%Y%m%d_%H%M%S)
export IMAGE_URI=us-docker.pkg.dev/$PROJECT_ID/$IMAGE_REPO_NAME:$IMAGE_TAG
docker build -f Dockerfile -t $IMAGE_URI ./
docker push $IMAGE_URI
Men-deploy aplikasi Anda
Buat file bernama pod.yaml dengan konten berikut, dengan mengganti IMAGE_URI dengan URI image Anda.
apiVersion: v1
kind: Pod
metadata:
name: gke-training-pod
spec:
containers:
- name: my-custom-container
image: IMAGE_URI
resources:
limits:
nvidia.com/gpu: 1
Gunakan alat command line kubectl
untuk menjalankan perintah berikut dan men-deploy aplikasi Anda:
kubectl apply -f ./pod.yaml
Untuk melacak status pod, jalankan perintah berikut:
kubectl describe pod gke-training-pod