Trackio documentation

Руководство по быстрому началу

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Руководство по быстрому началу

Open In Colab

Для начала можно запустить простой пример, который записывает в журнал некоторые фиктивные метрики обучения:

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

Панель управления

Вы можете запустить панель управления, выполнив команду:

Shell
Python
trackio show

Вы также можете указать необязательное имя project в качестве аргумента, чтобы загрузить конкретный проект напрямую:

Shell
Python
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, выполнив:

Shell
Python
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.

Update on GitHub