libreyolo monitor

Menyajikan dashboard web untuk run pelatihan dengan membaca artefak yang ditulis sebuah run ke disk. Server tidak pernah menempel ke proses pelatihan, sehingga run yang sedang berjalan, yang sudah selesai, maupun yang gagal sama-sama tampil.

Perintah
libreyolo monitor
Output
URL server di stdout, lalu proses tetap berjalan di foreground

Sinopsis

bash
libreyolo monitor [<run-dir|runs-root>] [key=value ...]

Direktori bersifat posisional. Selebihnya berupa pasangan key=value, dan bentuk POSIX juga berlaku, jadi port=9100 dan --port 9100 adalah argumen yang sama.

Argumen

ArgumenDefaultArti
run_dirrunsPosisional. Root runs yang dipantau, atau satu direktori run yang langsung dibuka. Bagaimanapun juga, setiap run di bawah root tetap terdaftar
host127.0.0.1Host atau interface tempat server mengikat
port8420Port yang diikat. Naik ke port bebas berikutnya bila sudah terpakai
no_browserfalseJangan membuka browser secara otomatis
jsonfalseOutput JSON ke stdout
quietfalseSembunyikan stderr
verbosefalseOutput stderr yang lebih rinci

Contoh

Dasar
# Memantau runs/ dan menampilkan setiap run di dalamnya.libreyolo monitor
Root runs yang berbeda
libreyolo monitor experiments/
Satu run, port tetap, tanpa browser
libreyolo monitor runs/train/exp port=9100 no_browser=true

Catatan

Satu server, banyak run

Server memantau sebuah root runs, bukan satu run saja, dan mengalamati setiap run lewat URL, sehingga beberapa run di satu mesin berbagi satu port. Buka URL root untuk melihat indeksnya, atau satu tab untuk tiap run; parameter ?run= pada setiap URL menandai run mana yang dimaksud.

Mengarahkan perintah ke satu direktori run membuat server berakar di direktori induknya, sehingga run lain yang setingkat tetap muncul di indeks, sekaligus menautkan langsung ke run yang disebutkan.

Apa yang dibaca

Dashboard disusun dari berkas yang ditulis libreyolo train: status.json, metrics.jsonl, train.log, dan gambar milik run tersebut. Tidak ada yang dibaca dari proses pelatihan itu sendiri, jadi run yang sudah selesai, atau yang mati, tampil persis seperti run yang masih berjalan.

Prasyarat dan port

Minimal satu run harus sudah ada. Tanpa argumen dan tanpa direktori runs/, perintah berhenti dengan source_not_found; hal yang sama terjadi bila direktori yang diberikan tidak memuat run.

Port yang sudah terpakai digeser ke port berikutnya, sampai dua puluh port setelah yang diminta. Bila kedua puluh port itu gagal semua, perintah berhenti dengan io_error. URL yang dicetak ke stdout memakai port yang benar-benar diikat.

Perintah berjalan di foreground sampai Ctrl+C. json=true mencetak URL, root yang dipantau, dan jumlah run yang ditemukan, sebagai satu objek dengan schema_version.

Terkait: libreyolo train, yang argumen project dan name-nya menentukan ke mana direktori run tersebut ditaruh.

Diverifikasi dengan LibreYOLO v1.5.0.