Tutorial 01 - Kubeflow Dasar

Tutorial 01 - Kubeflow Dasar ini ditujukkan kepada pengguna DGX-A100 agar lebih mudah dalam bekerja dan menggunakan fitur layanan dari antarmuka Kubeflow berbasis web.

Apa itu Notebook Kubeflow?

Kubeflow Notebooks menyediakan cara untuk menjalankan lingkungan pengembangan berbasis web di cluster Kubernetes Anda dengan menjalankannya di pod.

Fitur utama dari Notebook Kubeflow:

  • Dilengkapi dengan fitur JupyterLab, RStudio dan Visual Studio Code (code server).

  • Pengguna dapat membuat wadah notebook secara langsung di dalam cluster, seolah-olah sedang menggunakan workstation milik sendiri.

  • Pengguna dapat memilih daftar image yang tersedia untuk notebooknya atau mengunduh image dari tempat lain, sesuai dengan paket library yang diperlukan, tanpa harus menginstall dari awal.

  • Adanya fitur RBAC (Role Based Access Control) Kubeflow, memungkinkan untuk berbagi data dan saling berkontribusi dengan pengguna lainnya.

  • Pengguna memiliki akses internet untuk mengunduh contoh kode program notebook yang diinginkan.

Mengakses Dashboard

Silahkan buka browser Anda, kemudian pada bagian address bar isikan alamat IP dari server DGX-A100, seperti http://<alamat ip>:<port layanan>. Setelah diisi akan tampil halaman login dari Notebook Kubeflow. Silahkan isikan user name dan password Anda.

Tampilan halaman login notebook kubeflow

Tampilan halaman login notebook kubeflow

Note

Bagi pengguna baru HPC - DIKE UGM, untuk dapat menggunakan layanan DGX-A100 dimohon untuk mendaftar di web HPC - DIKE UGM. Bila membutuhkan informasi lebih lanjut, silahkan hubungi Helpdesk HPC - DIKE UGM!

Tampilan Halaman Utama Dashboard

Setelah login maka akan tampil halaman utama dari dashboard notebook kubeflow. Dashboard kubeflow ini berisi beberapa menu yang merupakan tautan cepat dari berbagai komponen yang diperlukan untuk pengolahan notebook Anda seperti notebook, pipeline, katib, dll.

Tampilan halaman utama dashboard notebook kubeflow

Tampilan halaman utama dashboard notebook kubeflow

Membuat Notebook

Untuk membuat notebook silahkan akses menu Notebooks di bagian kiri sidebar, dan klik tombol New Notebook. Pada halaman New Notebook, silahkan isikan bagian Name dari notebook yang akan dibuat, misalnya contoh01.

Pada bagian Docker image tersedia beberapa opsi pilihan yaitu:

  1. Standard image Standard image ini merupakan image docker bawaan dari sistem yang siap digunakan oleh pengguna. Secara default ada tiga Integrated Development Environment (IDE) yang disediakan yaitu:

    • JupyterLab

    • Code Server atau sering dikenal dengan Visual Code Server

    • RStudio

  2. Custom image Custom image ini merupakan image docker yang bisa diunduh dari repository semisal dari docker.io, nvcr.io, gcr.io, dll.

Pada Tutorial 01 - Kubeflow Dasar akan mengunakan fitur dari IDE JupyterLab dan image yang digunakan yaitu kubeflownotebookswg/jupyter-tensorflow-cuda-full:v1.6.0.

Selanjutnya spesifikasi yang digunakan yaitu CPU = 8 core, RAM = 16 GB, GPU = 1 GPU NVIDIA, dan Workspace Volume = 10 GB disesuaikan dengan kebutuhan komputasi yang diperlukan untuk mengolah notebook. Setelah semua konfigurasi sudah ditentukan, klik tombol Launch untuk membuat notebook.

Note

Bila spesifikasi CPU, RAM, GPU, dan Workspace Volume yang dimasukkan tidak sesuai dengan yang disetujui oleh Tim Pengelola DLRC UGM, maka notebook tidak akan terbentuk dan ada informasi error terkait dengan spesifikasi yang berjalan tidak sesuai.

Cara membuat notebook

Cara membuat notebook [klik pada gambar untuk memperbesar/memperjelas]

Mengakses Notebook

Setelah notebook sudah terbentuk, untuk mengaksesnya klik tautan CONNECT. Maka akan tampil satu tab baru di browser menampilkan halaman dari IDE JupyterLab. Halaman utama dari IDE JupyterLab memiliki menu:

  1. Notebook

    berfungsi untuk membuka editor notebook, menjalankan command langkah demi langkah atau keseluruhan, dan menampilkan output dari notebook.

  2. Console

    berfungsi untuk menampilkan terminal atau console lingkungan khusus pemrograman Python.

  3. Others
    • Terminal

      berfungsi mirip seperti shell atau terminal command line.

    • Text File

      berfungsi mirip dengan Editor untuk berkas berbentuk Text atau *.txt.

    • Markdown File

      berfungsi mirip dengan Editor untuk berkas berbentuk Markdown atau *.md.

    • Python File

      berfungsi mirip dengan Editor untuk berkas berbentuk Python atau *.py.

  4. Menu Sidebar kiri:
    • File Browser

      berfungsi untuk melihat isi file dan folder yang digunakan.

    • Running Terminal and Kernel

      berfungsi untuk melihat daftar dan mematikan Terminal dan Kernel yang digunakan.

    • Git

      berfungsi untuk mengatur koneksi dan update berkas project yang disimpan pada repository http://github.com.

    • Table of Contents

      berfungsi untuk menampilkan daftar isi dari suatu berkas notebook.

    • Extension Manager

      berfungsi untuk menambahkan atau menghapus plugins yang digunakan pada IDE JupyterLab

Halaman utama IDE JupyterLab

Halaman utama IDE JupyterLab

Cara mengakses notebook

Cara mengakses notebook [klik pada gambar untuk memperbesar/memperjelas]

Menjalankan Notebook

Berkas yang diperlukan dalam Tutorial 01 - Kubeflow Dasar ini dapat diunduh pada tautan berikut: TensorFlow 2 quickstart for experts Example

Berkas advanced.ipyb dapat diunggah dari komputer lokal ke IDE JupyterLab dengan cara melakukan drag dan drop pada berkas tersebut menuju bagian sidemenu File Browser. Buka berkas tersebut dan klik tombol RUN pada toolbar untuk mengeksekusi langkah-demi-langkah atau klik tombol double-chevron (>>) untuk mengeksekusi keseluruhan isi dari berkas advanced.ipyb.

Cara menjalankan notebook

Cara menjalankan notebook [klik pada gambar untuk memperbesar/memperjelas]

Menampilkan Grafik dengan Tensorboard

Visualisasi dari hasil eksperimen notebook dapat dilakukan dengan menggunakan tensorboard. Tensorboard menyediakan cara untuk memvisualisasikan eksperimen ML (Machine Learning) yang dijalankan, seperti melacak metrik kehilangan (loss) dan akurasi (accuracy) serta melihat histogram yang bias, bagan model, dan banyak lagi. Untuk informasi lebih lanjut tentang tensorboard, silakan kunjungi situs tensorboard.

Sebagai contoh sederhana, silahkan gunakan kembali server notebook yang dibuat pada langkah sebelumnya. Hubungkan dan unggah notebook baru untuk Tensorboard. Sebelum diunggah silahkan unduh notebook berikut: Get started with TensorBoard

Cara membuat tensorboard

Cara membuat tensorboard

Perhatikan alamat dari folder logs. Lokasi ini diperlukan untuk pembuatan Tensorboard. Jalankan notebook dan pada halaman Kubeflow, buka menu Tensorboards. Klik tombol New Tensorboard. Beri nama misalnya logs-fit dan centang kotak PVC. Pilih volume workspace notebook dari daftar drop-down dan pada bagian Mount Path, masukkan alamat lokasi folder logs yang dicatat pada langkah sebelumnya. Dalam contoh ini adalah logs/fit.

Cara konfigurasi tensorboard

Cara konfigurasi tensorboard

Klik tombol Create dan Tensorboard siap digunakan dalam beberapa menit. Amati tampilkan metrik dan grafik yang berbeda.

Cara menampilkan grafik notebook

Cara menampilkan grafik notebook [klik pada gambar untuk memperbesar/memperjelas]

Referensi: Kubeflow-Basics