Trackio documentation
Руководство по быстрому началу
Руководство по быстрому началу
Для начала можно запустить простой пример, который записывает в журнал некоторые фиктивные метрики обучения:
import trackio
import random
import time
runs = 3
epochs = 8
for run in range(runs):
trackio.init(
project="my-project",
config={"epochs": epochs, "learning_rate": 0.001, "batch_size": 64}
)
for epoch in range(epochs):
train_loss = random.uniform(0.2, 1.0)
train_acc = random.uniform(0.6, 0.95)
val_loss = train_loss - random.uniform(0.01, 0.1)
val_acc = train_acc + random.uniform(0.01, 0.05)
trackio.log({
"epoch": epoch,
"train_loss": train_loss,
"train_accuracy": train_acc,
"val_loss": val_loss,
"val_accuracy": val_acc
})
time.sleep(0.2)
trackio.finish()Запуск приведённого выше кода выведет в терминал инструкции по запуску панели управления.
Использование trackio в большинстве случаев идентично использованию wandb, поэтому вы можете легко переключаться между этими двумя библиотеками.
import trackio as wandbПанель управления
Вы можете запустить панель управления, выполнив команду:
trackio show
import trackio
trackio.show()Вы также можете указать необязательное имя project в качестве аргумента, чтобы загрузить конкретный проект напрямую:
trackio show --project "my-project"import trackio
trackio.show(project="my-project")Развёртывание в Hugging Face Spaces
При вызове trackio.init() по умолчанию сервис работает локально и хранит данные проекта на локальной машине.
Но если вы передаёте space_id в init(), например:
trackio.init(project="my-project", space_id="orgname/space_id")или
trackio.init(project="my-project", space_id="username/space_id")он будет использовать существующее или автоматически развернуть новое пространство Hugging Face по мере необходимости. Вы должны быть авторизованы с помощью huggingface-cli локально, а ваш токен должен иметь права на запись для создания пространства.
В качестве альтернативы вы можете синхронизировать существующий локальный проект с Hugging Face Space, выполнив:
trackio sync --project "my-project" --space-id "username/space_id"trackio.sync(project="my-project", space_id="username/space_id")Это создаст Space, если он ещё не существует, и загрузит в него все runs и связанные данные. Также можно синхронизировать с лёгким статическим Space с помощью sdk="static" или создать снимок только для чтения из активного Space с помощью freeze. Замороженный Space представляет собой снимок на определённый момент времени и не будет получать новые метрики из исходного Gradio Space, если вы снова не выполните freeze. Подробнее см. на странице Deploy and Embed Dashboards.