Tutorial Lengkap Weights & Biases: Experiment Tracking untuk Machine Learning

# Tutorial Lengkap Weights & Biases: ML Experiment Tracking dan Visualization Weights & Biases (W&B) adalah platform MLOps yang powerful untuk experiment tracking, visualisasi model, dan kolaborasi....

By Ruby Abdullah · · tutorial
Weights & BiasesMLOpsExperiment TrackingPythonMachine LearningModel Monitoring

Tutorial Lengkap Weights & Biases: ML Experiment Tracking dan Visualization

Weights & Biases (W&B) adalah platform MLOps yang powerful untuk experiment tracking, visualisasi model, dan kolaborasi. W&B membantu tim ML melacak eksperimen, memvisualisasikan hasil, dan berbagi temuan dengan logging otomatis dan dashboard yang menarik.

Mengapa Weights & Biases?

Keunggulan W&B:
  • Automatic logging: Track metrics, hyperparameters, code
  • Beautiful visualizations: Interactive dashboards
  • Collaboration: Share experiments dengan tim
  • Model registry: Version dan deploy models
  • Sweeps: Hyperparameter optimization

Use Cases:
  • Experiment tracking
  • Hyperparameter tuning
  • Model comparison
  • Team collaboration
  • Production monitoring

Instalasi

pip install wandb

Login ke W&B

wandb login

Verify installation

python -c "import wandb; print(wandb.version)"

Quick Start

1. Basic Logging

import wandb

Initialize run

wandb.init(

project="my-ml-project",

name="experiment-1",

config={

"learningrate": 0.001,

"epochs": 100,

"batchsize": 32

}

)

Log metrics

for epoch in range(100):

loss = 1.0 / (epoch + 1)

accuracy = epoch / 100

wandb.log({

"epoch": epoch,

"loss": loss,

"accuracy": accuracy

})

Finish run

wandb.finish()

2. Dengan PyTorch

import wandb

import torch

import torch.nn as nn

wandb.init(project="pytorch-example")

model = nn.Sequential(

nn.Linear(784, 256),

nn.ReLU(),

nn.Linear(256, 10)

)

Watch model

wandb.watch(model, log="all", logfreq=100)

criterion = nn.CrossEntropyLoss()

optimizer = torch.optim.Adam(model.parameters(), lr=0.001)

for epoch in range(10):

for batchidx, (data, target) in enumerate(trainloader):

optimizer.zerograd()

output = model(data.view(-1, 784))

loss = criterion(output, target)

loss.backward()

optimizer.step()

wandb.log({

"batchloss": loss.item(),

"epoch": epoch

})

# Log epoch metrics

wandb.log({

"epoch": epoch,

"trainloss": epochloss,

"valaccuracy": valaccuracy

})

wandb.finish()

3. Dengan scikit-learn

import wandb

from sklearn.ensemble import RandomForestClassifier

from sklearn.datasets import loadiris

from sklearn.modelselection import traintestsplit

from sklearn.metrics import accuracyscore, classificationreport

wandb.init(project="sklearn-example")

Load data

X, y = loadiris(returnXy=True)

Xtrain, Xtest, ytrain, ytest = traintestsplit(X, y, testsize=0.2)

Log config

config = {

"nestimators": 100,

"maxdepth": 10,

"randomstate": 42

}

wandb.config.update(config)

Train model

model = RandomForestClassifier(*config)

model.fit(Xtrain, ytrain)

Evaluate

ypred = model.predict(Xtest)

accuracy = accuracyscore(ytest, ypred)

wandb.log({

"accuracy": accuracy,

"classificationreport": classificationreport(ytest, ypred)

})

Log model

wandb.sklearn.plotclassifier(

model, Xtrain, Xtest, ytrain, ytest,

ypred, model.predictproba(Xtest),

labels=["setosa", "versicolor", "virginica"]

)

wandb.finish()

Configuration

1. Config Management

import wandb

Method 1: Pass ke init

wandb.init(

project="my-project",

config={

"learningrate": 0.001,

"architecture": "resnet50",

"dataset": "imagenet"

}

)

Method 2: Update config

wandb.config.update({

"optimizer": "adam",

Artikel Terkait

Tutorial Lengkap Evidently AI: ML Model Monitoring dan Data Quality

Tutorial Lengkap Evidently AI: ML Model Monitoring dan Data Quality Evidently adalah library Python open-source untuk me...

MLflow vs Neptune.ai: Panduan Lengkap Experiment Tracking untuk MLOps

MLflow vs Neptune.ai: Panduan Lengkap Experiment Tracking untuk MLOps Experiment tracking adalah komponen krusial dalam ...

Tutorial Lengkap Vertex AI: Platform ML Terpadu Google Cloud

Tutorial Lengkap Vertex AI: Platform ML Terpadu di Google Cloud Vertex AI adalah platform machine learning terpadu Googl...

Tutorial Integrasi Azure MLflow: Experiment Tracking di Azure

Tutorial Lengkap Azure MLflow Integration: Experiment Tracking dan Model Management Azure Machine Learning menyediakan i...