Hub Python Library documentation
TensorBoard kayıtçısı
TensorBoard kayıtçısı
TensorBoard, makine öğrenimi deneyleri için bir görselleştirme araç kitidir. TensorBoard, kayıp ve doğruluk gibi metriklerin izlenmesine ve görselleştirilmesine, model grafiğinin görselleştirilmesine, histogramların görüntülenmesine, görüntülerin gösterilmesine ve daha fazlasına olanak tanır.
TensorBoard, Hugging Face Hub ile iyi bir şekilde entegre edilmiştir. Hub, TensorBoard izleri (örneğin tfevents) Hub'a yüklendiğinde bunları otomatik olarak algılar ve bunları görselleştirmek için bir örnek başlatır. Hub'daki TensorBoard entegrasyonu hakkında daha fazla bilgi için bu kılavuza göz atın.
Bu entegrasyondan yararlanmak için huggingface_hub, günlükleri Hub'a göndermek üzere özel bir kayıtçı (logger) sağlar. SummaryWriter için ek kod gerektirmeyen, doğrudan kullanılabilir bir alternatif olarak çalışır. İzler (traces) yine de yerel olarak kaydedilir ve arka planda çalışan bir iş, bunları Hub'a düzenli aralıklarla gönderir.
HFSummaryWriter
sınıf huggingface_hub.HFSummaryWriter
< source >( *args**kwargs )
Parametreler
- repo_id (
str) — Günlüklerin itileceği depoyun kimliği. - logdir (
str, isteğe bağlı) — Günlüklerin yazılacağı dizin. Belirtilmezse, alttakiSummaryWriternesnesi tarafından yerel bir dizin oluşturulur. - commit_every (
intveyafloat, isteğe bağlı) — Günlüklerin Hub'a gönderilme sıklığı (dakika cinsinden). Varsayılan değer 5 dakikadır. - squash_history (
bool, isteğe bağlı) — Her commit sonrasında repo geçmişinin sıkıştırılıp sıkıştırılmayacağı. Varsayılan değerFalse'dir. Commit'lerin sıkıştırılması, repo çok büyüdüğünde performans düşüşlerini önlemek için faydalıdır. - repo_type (
str, isteğe bağlı) — Günlüklerin itileceği repozituarın türü. Varsayılan olarak “model”dir. - repo_revision (
str, isteğe bağlı) — Günlüklerin itileceği depoyun revizyonu. Varsayılan olarak “main”dir. - repo_private (
bool, isteğe bağlı) — Deponun özel yapılıp yapılmayacağı.None(varsayılan) ise, organizasyonun varsayılanı özel değilse depo herkese açık olur. Depo zaten mevcutsa bu değer yok sayılır. - path_in_repo (
str, isteğe bağlı) — Günlüklerin itileceği depodaki klasörün yolu. Varsayılan olarak “tensorboard/” değerini alır. - repo_allow_patterns (
list[str]veyastr, isteğe bağlı) — Yüklemeye dahil edilecek desenlerin listesi. Varsayılan değer"*.tfevents.*"'tir. Daha fazla ayrıntı için yükleme kılavuzuna göz atın. - repo_ignore_patterns (
list[str]veyastr, isteğe bağlı) — Yüklemeye dahil edilmeyecek desenlerin listesi. Daha fazla ayrıntı için yükleme kılavuzuna göz atın. - token (
str, isteğe bağlı) — Kimlik doğrulama belirteci. Varsayılan olarak depolanan belirteç kullanılır. Daha fazla ayrıntı için https://huggingface.co/settings/token adresine bakın - kwargs —
SummaryWriter'e iletilen ek anahtar kelime argümanları.
Eğitim günlüklerini Hub'a göndermek için tensorboard'ın SummaryWriter sınıfının etrafındaki sarmalayıcı.
Veriler yerel olarak kaydedilir ve ardından Hub'a asenkron olarak gönderilir. Eğitim betiğinin bloklanmasını önlemek için Hub'a veri gönderme işlemi ayrı bir iş parçacığında (thread) gerçekleştirilir. Özellikle, yükleme herhangi bir nedenle başarısız olursa (ör. bir bağlantı sorunu), ana betik yarıda kesilmez. Veriler her commit_every dakikada bir (varsayılan olarak her 5 dakikada bir) otomatik olarak Hub'a gönderilir.
HFSummaryWriterdeneyseldir. API'si gelecekte önceden haber verilmeden değiştirilebilir.
Örnekler:
# Taken from https://pytorch.org/docs/stable/tensorboard.html
- from torch.utils.tensorboard import SummaryWriter
+ from huggingface_hub import HFSummaryWriter
import numpy as np
- writer = SummaryWriter()
+ writer = HFSummaryWriter(repo_id="username/my-trained-model")
for n_iter in range(100):
writer.add_scalar('Loss/train', np.random.random(), n_iter)
writer.add_scalar('Loss/test', np.random.random(), n_iter)
writer.add_scalar('Accuracy/train', np.random.random(), n_iter)
writer.add_scalar('Accuracy/test', np.random.random(), n_iter)