Trackio documentation

Trackio'ya Geçiş

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Trackio'ya Geçiş

Diğer deney izleme kütüphanelerinden Trackio'ya geçiş, minimal kod değişikliğiyle kolayca yapılabilir. Bu kılavuz, popüler deney izleme araçlarından nasıl geçiş yapacağınızı gösterir.

Weights & Biases ( wandb )

Weights & Biases'ten Trackio'ya geçiş, Trackio'nun wandb ile birebir aynı API sözdizimini kullanması nedeniyle son derece kolaydır. Çoğu durumda yalnızca import ifadesini değiştirmeniz yeterlidir!

Basit Göç

En temel geçiş, yalnızca içe aktarımınızı değiştirmenizi gerektirir:

- import wandb
+ import trackio as wandb

wandb.init(project="my-project")
wandb.log({"loss": 0.5, "accuracy": 0.8})
wandb.finish()

Tam Örnek

Kodunuzun geri kalanının tamamen aynı kaldığını gösteren daha eksiksiz bir örnek:

- import wandb
+ import trackio as wandb
import numpy as np

wandb.init(
    project="image-classification",
    name="experiment-1",
    config={
        "learning_rate": 0.01,
        "batch_size": 32,
        "epochs": 10
    }
)

for epoch in range(10):
    loss = np.random.random()
    accuracy = np.random.random()
    
    wandb.log({
        "epoch": epoch,
        "loss": loss,
        "accuracy": accuracy,
        "learning_rate": wandb.config.learning_rate
    })

wandb.finish()

Gelişmiş Özellikler

Trackio, Tablolar, Görseller, Sesler, 3B nesneler vb. için kayıt tutmayı destekler - wandb ile aynı API:

- import wandb
+ import trackio as wandb
import numpy as np

wandb.init(project="data-analysis")

image_array = np.random.randint(0, 255, (100, 100, 3), dtype=np.uint8)
wandb.log({
    "sample_image": wandb.Image(image_array, caption="Generated sample"),
    "model_diagram": wandb.Image("architecture.png")
})

columns = ["epoch", "train_loss", "val_loss", "accuracy"]
data = [
    [1, 0.8, 0.6, 0.75],
    [2, 0.6, 0.5, 0.82],
    [3, 0.4, 0.45, 0.89]
]
table = wandb.Table(data=data, columns=columns)
wandb.log({"training_results": table})

wandb.finish()

Neptune (neptune)

Neptune'den geçiş, Neptune'ın farklı bir API yapısına sahip olması nedeniyle birkaç ek değişiklik gerektirir, ancak geçiş yine de basittir.

Temel Kayıt Geçiş

- import neptune

+ import trackio

- run = neptune.init_run(
-     project="my-workspace/my-project",
-     api_token="your-token"
- )

+ trackio.init(project="my-project")

- run["parameters"] = {"learning_rate": 0.01, "batch_size": 32}
- run["metrics/loss"].log(0.5)
- run["metrics/accuracy"].log(0.8)

+ trackio.config.update({"learning_rate": 0.01, "batch_size": 32})
+ trackio.log({"loss": 0.5, "accuracy": 0.8})

- run.stop()

+ trackio.finish()

Eğitim Döngüsü Göçünü Tamamla

- import neptune
+ import trackio
import numpy as np

- run = neptune.init_run(
-     project="my-workspace/classification-project",
-     name="experiment-1",
-     tags=["pytorch", "cnn"]
- )

+ trackio.init(
+     project="classification-project",
+     name="experiment-1",
+     tags=["pytorch", "cnn"]
+ )

config = {"learning_rate": 0.01, "epochs": 10, "batch_size": 32}

- run["parameters"] = config
+ trackio.config.update(config)

for epoch in range(config["epochs"]):
    # Simulate training
    train_loss = np.random.random()
    val_accuracy = np.random.random()
    
    # Neptune logging
-     run["metrics/train/loss"].log(train_loss)
-     run["metrics/val/accuracy"].log(val_accuracy)
-     run["metrics/epoch"].log(epoch)

    # Trackio logging
+     trackio.log({
+         "train/loss": train_loss,
+         "val/accuracy": val_accuracy,
+         "epoch": epoch
+     })

- run["model/weights"].upload("model.pth")
+ trackio.save("model.pth")

- run.stop()
+ trackio.finish()

Ana Geçiş Noktaları

  1. Başlatma: neptune.init_run() ifadesini trackio.init() ile değiştirin
  2. Kayıt tutma: Bireysel metrik atamaları yerine sözlüklerle trackio.log() kullanın
  3. Temizlik: run.stop() ifadesini trackio.finish() ile değiştirin

Göçün Faydaları

  • Daha basit API: Düz sözlük günlükleme vs iç içe geçmiş öznitelik erişimi
  • Yerel geliştirme: Varsayılan olarak çevrimdışı çalışın
  • Ücretsiz barındırma: Panoları Hugging Face Spaces üzerinde ücretsiz olarak dağıtın
  • Tanıdık arayüz: Özellikle daha önce wandb kullandıysanız, API değişmemiştir
Update on GitHub