Rate this Page

Hyperparameter tuning using Ray Tune#

Created On: Aug 31, 2020 | Last Updated: Jan 08, 2026 | Last Verified: Nov 05, 2024

Author: Ricardo Decal

This tutorial shows how to integrate Ray Tune into your PyTorch training workflow to perform scalable and efficient hyperparameter tuning.

What you will learn
  • How to modify a PyTorch training loop for Ray Tune

  • How to scale a hyperparameter sweep to multiple nodes and GPUs without code changes

  • How to define a hyperparameter search space and run a sweep with tune.Tuner

  • How to use an early-stopping scheduler (ASHA) and report metrics/checkpoints

  • How to use checkpointing to resume training and load the best model

Prerequisites
  • PyTorch v2.9+ and torchvision

  • Ray Tune (ray[tune]) v2.52.1+

  • GPU(s) are optional, but recommended for faster training

Ray, a project of the PyTorch Foundation, is an open source unified framework for scaling AI and Python applications. It helps run distributed jobs by handling the complexity of distributed computing. Ray Tune is a library built on Ray for hyperparameter tuning that enables you to scale a hyperparameter sweep from your machine to a large cluster with no code changes.

This tutorial adapts the PyTorch tutorial for training a CIFAR10 classifier to run multi-GPU hyperparameter sweeps with Ray Tune.

Setup#

To run this tutorial, install the following dependencies:

pip install "ray[tune]" torchvision

Then start with the imports:

from functools import partial
import os
import tempfile
from pathlib import Path
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
from torch.utils.data import random_split
import torchvision
import torchvision.transforms as transforms
# New: imports for Ray Tune
import ray
from ray import tune
from ray.tune import Checkpoint
from ray.tune.schedulers import ASHAScheduler

Data loading#

Wrap the data loaders in a constructor function. In this tutorial, a global data directory is passed to the function to enable reusing the dataset across different trials. In a cluster environment, you can use shared storage, such as network file systems, to prevent each node from downloading the data separately.

def load_data(data_dir="./data"):
    # Mean and standard deviation of the CIFAR10 training subset.
    transform = transforms.Compose(
        [transforms.ToTensor(), transforms.Normalize((0.4914, 0.48216, 0.44653), (0.2022, 0.19932, 0.20086))]
    )

    trainset = torchvision.datasets.CIFAR10(
        root=data_dir, train=True, download=True, transform=transform
    )

    testset = torchvision.datasets.CIFAR10(
        root=data_dir, train=False, download=True, transform=transform
    )

    return trainset, testset

Model architecture#

This tutorial searches for the best sizes for the fully connected layers and the learning rate. To enable this, the Net class exposes the layer sizes l1 and l2 as configurable parameters that Ray Tune can search over:

class Net(nn.Module):
    def __init__(self, l1=120, l2=84):
        super().__init__()
        self.conv1 = nn.Conv2d(3, 6, 5)
        self.pool = nn.MaxPool2d(2, 2)
        self.conv2 = nn.Conv2d(6, 16, 5)
        self.fc1 = nn.Linear(16 * 5 * 5, l1)
        self.fc2 = nn.Linear(l1, l2)
        self.fc3 = nn.Linear(l2, 10)

    def forward(self, x):
        x = self.pool(F.relu(self.conv1(x)))
        x = self.pool(F.relu(self.conv2(x)))
        x = torch.flatten(x, 1)  # flatten all dimensions except batch
        x = F.relu(self.fc1(x))
        x = F.relu(self.fc2(x))
        x = self.fc3(x)
        return x

Define the search space#

Next, define the hyperparameters to tune and how Ray Tune samples them. Ray Tune offers a variety of search space distributions to suit different parameter types: loguniform, uniform, choice, randint, grid, and more. You can also express complex dependencies between parameters with conditional search spaces or sample from arbitrary functions.

Here is the search space for this tutorial:

config = {
    "l1": tune.choice([2**i for i in range(9)]),
    "l2": tune.choice([2**i for i in range(9)]),
    "lr": tune.loguniform(1e-4, 1e-1),
    "batch_size": tune.choice([2, 4, 8, 16]),
}

The tune.choice() accepts a list of values that are uniformly sampled from. In this example, the l1 and l2 parameter values are powers of 2 between 1 and 256, and the learning rate samples on a log scale between 0.0001 and 0.1. Sampling on a log scale enables exploration across a range of magnitudes on a relative scale, rather than an absolute scale.

Training function#

Ray Tune requires a training function that accepts a configuration dictionary and runs the main training loop. As Ray Tune runs different trials, it updates the configuration dictionary for each trial.

Here is the full training function, followed by explanations of the key Ray Tune integration points:

def train_cifar(config, data_dir=None):
    net = Net(config["l1"], config["l2"])
    device = config["device"]

    net = net.to(device)
    if torch.cuda.device_count() > 1:
        net = nn.DataParallel(net)

    criterion = nn.CrossEntropyLoss()
    optimizer = optim.SGD(net.parameters(), lr=config["lr"], momentum=0.9)

    # Load checkpoint if resuming training
    checkpoint = tune.get_checkpoint()
    if checkpoint:
        with checkpoint.as_directory() as checkpoint_dir:
            checkpoint_path = Path(checkpoint_dir) / "checkpoint.pt"
            checkpoint_state = torch.load(checkpoint_path)
            start_epoch = checkpoint_state["epoch"]
            net.load_state_dict(checkpoint_state["net_state_dict"])
            optimizer.load_state_dict(checkpoint_state["optimizer_state_dict"])
    else:
        start_epoch = 0

    trainset, _testset = load_data(data_dir)

    test_abs = int(len(trainset) * 0.8)
    train_subset, val_subset = random_split(
        trainset, [test_abs, len(trainset) - test_abs]
    )

    trainloader = torch.utils.data.DataLoader(
        train_subset, batch_size=int(config["batch_size"]), shuffle=True, num_workers=8
    )
    valloader = torch.utils.data.DataLoader(
        val_subset, batch_size=int(config["batch_size"]), shuffle=True, num_workers=8
    )

    for epoch in range(start_epoch, 10):  # loop over the dataset multiple times
        running_loss = 0.0
        epoch_steps = 0
        for i, data in enumerate(trainloader, 0):
            # get the inputs; data is a list of [inputs, labels]
            inputs, labels = data
            inputs, labels = inputs.to(device), labels.to(device)

            # zero the parameter gradients
            optimizer.zero_grad()

            # forward + backward + optimize
            outputs = net(inputs)
            loss = criterion(outputs, labels)
            loss.backward()
            optimizer.step()

            # print statistics
            running_loss += loss.item()
            epoch_steps += 1
            if i % 2000 == 1999:  # print every 2000 mini-batches
                print(
                    "[%d, %5d] loss: %.3f"
                    % (epoch + 1, i + 1, running_loss / epoch_steps)
                )
                running_loss = 0.0

        # Validation loss
        val_loss = 0.0
        val_steps = 0
        total = 0
        correct = 0
        for i, data in enumerate(valloader, 0):
            with torch.no_grad():
                inputs, labels = data
                inputs, labels = inputs.to(device), labels.to(device)

                outputs = net(inputs)
                _, predicted = torch.max(outputs.data, 1)
                total += labels.size(0)
                correct += (predicted == labels).sum().item()

                loss = criterion(outputs, labels)
                val_loss += loss.cpu().numpy()
                val_steps += 1

        # Save checkpoint and report metrics
        checkpoint_data = {
            "epoch": epoch,
            "net_state_dict": net.state_dict(),
            "optimizer_state_dict": optimizer.state_dict(),
        }
        with tempfile.TemporaryDirectory() as checkpoint_dir:
            checkpoint_path = Path(checkpoint_dir) / "checkpoint.pt"
            torch.save(checkpoint_data, checkpoint_path)

            checkpoint = Checkpoint.from_directory(checkpoint_dir)
            tune.report(
                {"loss": val_loss / val_steps, "accuracy": correct / total},
                checkpoint=checkpoint,
            )

    print("Finished Training")

Key integration points#

Using hyperparameters from the configuration dictionary#

Ray Tune updates the config dictionary with the hyperparameters for each trial. In this example, the model architecture and optimizer receive the hyperparameters from the config dictionary:

net = Net(config["l1"], config["l2"])
optimizer = optim.SGD(net.parameters(), lr=config["lr"], momentum=0.9)

Reporting metrics and saving checkpoints#

The most important integration is communicating with Ray Tune. Ray Tune uses the validation metrics to determine the best hyperparameter configuration and to stop underperforming trials early, saving resources.

Checkpointing enables you to later load the trained models, resume hyperparameter searches, and provides fault tolerance. It’s also required for some Ray Tune schedulers like Population Based Training that pause and resume trials during the search.

This code from the training function loads model and optimizer state at the start if a checkpoint exists:

checkpoint = tune.get_checkpoint()
if checkpoint:
    with checkpoint.as_directory() as checkpoint_dir:
        checkpoint_path = Path(checkpoint_dir) / "checkpoint.pt"
        checkpoint_state = torch.load(checkpoint_path)
        start_epoch = checkpoint_state["epoch"]
        net.load_state_dict(checkpoint_state["net_state_dict"])
        optimizer.load_state_dict(checkpoint_state["optimizer_state_dict"])

At the end of each epoch, save a checkpoint and report the validation metrics:

checkpoint_data = {
    "epoch": epoch,
    "net_state_dict": net.state_dict(),
    "optimizer_state_dict": optimizer.state_dict(),
}
with tempfile.TemporaryDirectory() as checkpoint_dir:
    checkpoint_path = Path(checkpoint_dir) / "checkpoint.pt"
    torch.save(checkpoint_data, checkpoint_path)

    checkpoint = Checkpoint.from_directory(checkpoint_dir)
    tune.report(
        {"loss": val_loss / val_steps, "accuracy": correct / total},
        checkpoint=checkpoint,
    )

Ray Tune checkpointing supports local file systems, cloud storage, and distributed file systems. For more information, see the Ray Tune storage documentation.

Multi-GPU support#

Image classification models can be greatly accelerated by using GPUs. The training function supports multi-GPU training by wrapping the model in nn.DataParallel:

This training function supports training on CPUs, a single GPU, multiple GPUs, or multiple nodes without code changes. Ray Tune automatically distributes the trials across the nodes according to the available resources. Ray Tune also supports fractional GPUs so that one GPU can be shared among multiple trials, provided that the models, optimizers, and data batches fit into the GPU memory.

Validation split#

The original CIFAR10 dataset only has train and test subsets. This is sufficient for training a single model, however for hyperparameter tuning a validation subset is required. The training function creates a validation subset by reserving 20% of the training subset. The test subset is used to evaluate the best model’s generalization error after the search completes.

Evaluation function#

After finding the optimal hyperparameters, test the model on a held-out test set to estimate the generalization error:

def test_accuracy(net, device="cpu", data_dir=None):
    _trainset, testset = load_data(data_dir)

    testloader = torch.utils.data.DataLoader(
        testset, batch_size=4, shuffle=False, num_workers=2
    )

    correct = 0
    total = 0
    with torch.no_grad():
        for data in testloader:
            image_batch, labels = data
            image_batch, labels = image_batch.to(device), labels.to(device)
            outputs = net(image_batch)
            _, predicted = torch.max(outputs.data, 1)
            total += labels.size(0)
            correct += (predicted == labels).sum().item()

    return correct / total

Configure and run Ray Tune#

With the training and evaluation functions defined, configure Ray Tune to run the hyperparameter search.

Scheduler for early stopping#

Ray Tune provides schedulers to improve the efficiency of the hyperparameter search by detecting underperforming trials and stopping them early. The ASHAScheduler uses the Asynchronous Successive Halving Algorithm (ASHA) to aggressively terminate low-performing trials:

scheduler = ASHAScheduler(
    max_t=max_num_epochs,
    grace_period=1,
    reduction_factor=2,
)

Ray Tune also provides advanced search algorithms to smartly pick the next set of hyperparameters based on previous results, instead of relying only on random or grid search. Examples include Optuna and BayesOpt.

Resource allocation#

Tell Ray Tune what resources to allocate for each trial by passing a resources dictionary to tune.with_resources:

tune.with_resources(
    partial(train_cifar, data_dir=data_dir),
    resources={"cpu": cpus_per_trial, "gpu": gpus_per_trial}
)

Ray Tune automatically manages the placement of these trials and ensures that the trials run in isolation, so you don’t need to manually assign GPUs to processes.

For example, if you are running this experiment on a cluster of 20 machines, each with 8 GPUs, you can set gpus_per_trial = 0.5 to schedule two concurrent trials per GPU. This configuration runs 320 trials in parallel across the cluster.

Note

To run this tutorial without GPUs, set gpus_per_trial=0 and expect significantly longer runtimes.

To avoid long runtimes during development, start with a small number of trials and epochs.

Creating the Tuner#

The Ray Tune API is modular and composable. Pass your configuration to the tune.Tuner class to create a tuner object, then run tuner.fit() to start training:

tuner = tune.Tuner(
    tune.with_resources(
        partial(train_cifar, data_dir=data_dir),
        resources={"cpu": cpus_per_trial, "gpu": gpus_per_trial}
    ),
    tune_config=tune.TuneConfig(
        metric="loss",
        mode="min",
        scheduler=scheduler,
        num_samples=num_trials,
    ),
    param_space=config,
)
results = tuner.fit()

After training completes, retrieve the best performing trial, load its checkpoint, and evaluate on the test set.

Putting it all together#

def main(num_trials=10, max_num_epochs=10, gpus_per_trial=0, cpus_per_trial=2):
    print("Starting hyperparameter tuning.")
    ray.init(include_dashboard=False)

    data_dir = os.path.abspath("./data")
    load_data(data_dir)  # Pre-download the dataset
    device = "cuda" if torch.cuda.is_available() else "cpu"
    config = {
        "l1": tune.choice([2**i for i in range(9)]),
        "l2": tune.choice([2**i for i in range(9)]),
        "lr": tune.loguniform(1e-4, 1e-1),
        "batch_size": tune.choice([2, 4, 8, 16]),
        "device": device,
    }
    scheduler = ASHAScheduler(
        max_t=max_num_epochs,
        grace_period=1,
        reduction_factor=2,
    )

    tuner = tune.Tuner(
        tune.with_resources(
            partial(train_cifar, data_dir=data_dir),
            resources={"cpu": cpus_per_trial, "gpu": gpus_per_trial}
        ),
        tune_config=tune.TuneConfig(
            metric="loss",
            mode="min",
            scheduler=scheduler,
            num_samples=num_trials,
        ),
        param_space=config,
    )
    results = tuner.fit()

    best_result = results.get_best_result("loss", "min")
    print(f"Best trial config: {best_result.config}")
    print(f"Best trial final validation loss: {best_result.metrics['loss']}")
    print(f"Best trial final validation accuracy: {best_result.metrics['accuracy']}")

    best_trained_model = Net(best_result.config["l1"], best_result.config["l2"])
    best_trained_model = best_trained_model.to(device)
    if gpus_per_trial > 1:
        best_trained_model = nn.DataParallel(best_trained_model)

    best_checkpoint = best_result.checkpoint
    with best_checkpoint.as_directory() as checkpoint_dir:
        checkpoint_path = Path(checkpoint_dir) / "checkpoint.pt"
        best_checkpoint_data = torch.load(checkpoint_path)

        best_trained_model.load_state_dict(best_checkpoint_data["net_state_dict"])
        test_acc = test_accuracy(best_trained_model, device, data_dir)
        print(f"Best trial test set accuracy: {test_acc}")


if __name__ == "__main__":
    # Set the number of trials, epochs, and GPUs per trial here:
    main(num_trials=10, max_num_epochs=10, gpus_per_trial=1)
Starting hyperparameter tuning.
2026-02-05 17:26:31,136 WARNING services.py:2137 -- WARNING: The object store is using /tmp instead of /dev/shm because /dev/shm has only 2147471360 bytes available. This will harm performance! You may be able to free up space by deleting files in /dev/shm. If you are inside a Docker container, you can increase /dev/shm size by passing '--shm-size=10.24gb' to 'docker run' (or add it to the run_options list in a Ray cluster config). Make sure to set this to more than 30% of available RAM.
2026-02-05 17:26:31,304 INFO worker.py:2023 -- Started a local Ray instance.
/usr/local/lib/python3.10/dist-packages/ray/_private/worker.py:2062: FutureWarning:

Tip: In future versions of Ray, Ray will no longer override accelerator visible devices env var if num_gpus=0 or num_gpus=None (default). To enable this behavior and turn off this error message, set RAY_ACCEL_ENV_VAR_OVERRIDE_ON_ZERO=0


  0%|          | 0.00/170M [00:00<?, ?B/s]
  0%|          | 229k/170M [00:00<01:33, 1.82MB/s]
  1%|▏         | 2.49M/170M [00:00<00:13, 12.9MB/s]
  6%|▌         | 10.4M/170M [00:00<00:03, 41.3MB/s]
 11%|█         | 18.7M/170M [00:00<00:02, 57.3MB/s]
 16%|█▋        | 27.7M/170M [00:00<00:02, 68.8MB/s]
 21%|██        | 35.6M/170M [00:00<00:01, 72.1MB/s]
 26%|██▋       | 44.9M/170M [00:00<00:01, 78.6MB/s]
 31%|███▏      | 53.3M/170M [00:00<00:01, 80.4MB/s]
 36%|███▋      | 62.1M/170M [00:00<00:01, 82.5MB/s]
 42%|████▏     | 71.0M/170M [00:01<00:01, 84.5MB/s]
 47%|████▋     | 79.5M/170M [00:01<00:01, 82.3MB/s]
 52%|█████▏    | 88.2M/170M [00:01<00:00, 83.9MB/s]
 57%|█████▋    | 96.7M/170M [00:01<00:00, 80.8MB/s]
 62%|██████▏   | 105M/170M [00:01<00:00, 82.6MB/s]
 67%|██████▋   | 114M/170M [00:01<00:00, 80.9MB/s]
 72%|███████▏  | 123M/170M [00:01<00:00, 83.1MB/s]
 77%|███████▋  | 131M/170M [00:01<00:00, 82.6MB/s]
 82%|████████▏ | 139M/170M [00:01<00:00, 83.3MB/s]
 87%|████████▋ | 148M/170M [00:01<00:00, 84.7MB/s]
 92%|█████████▏| 157M/170M [00:02<00:00, 83.8MB/s]
 97%|█████████▋| 166M/170M [00:02<00:00, 85.2MB/s]
100%|██████████| 170M/170M [00:02<00:00, 76.7MB/s]
╭────────────────────────────────────────────────────────────────────╮
│ Configuration for experiment     train_cifar_2026-02-05_17-26-37   │
├────────────────────────────────────────────────────────────────────┤
│ Search algorithm                 BasicVariantGenerator             │
│ Scheduler                        AsyncHyperBandScheduler           │
│ Number of trials                 10                                │
╰────────────────────────────────────────────────────────────────────╯

View detailed results here: /var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37
To visualize your results with TensorBoard, run: `tensorboard --logdir /tmp/ray/session_2026-02-05_17-26-29_623637_3915/artifacts/2026-02-05_17-26-37/train_cifar_2026-02-05_17-26-37/driver_artifacts`

Trial status: 10 PENDING
Current time: 2026-02-05 17:26:37. Total running time: 0s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
╭───────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size │
├───────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   PENDING     128     32   0.000776595              2 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4 │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2 │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4 │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8 │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8 │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16 │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16 │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4 │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16 │
╰───────────────────────────────────────────────────────────────────────────────╯

Trial train_cifar_d37c6_00000 started with configuration:
╭──────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00000 config             │
├──────────────────────────────────────────────────┤
│ batch_size                                     2 │
│ device                                      cuda │
│ l1                                           128 │
│ l2                                            32 │
│ lr                                       0.00078 │
╰──────────────────────────────────────────────────╯
(func pid=5029) [1,  2000] loss: 2.136
(func pid=5029) [1,  4000] loss: 0.912
(func pid=5029) [1,  6000] loss: 0.566
(pid=gcs_server) [2026-02-05 17:27:00,130 E 3920 3920] (gcs_server) gcs_server.cc:303: Failed to establish connection to the event+metrics exporter agent. Events and metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14
(raylet) [2026-02-05 17:27:01,246 E 4060 4060] (raylet) main.cc:979: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14
(bundle_reservation_check_func pid=4126) [2026-02-05 17:27:01,848 E 4126 4381] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14
(func pid=5029) [1,  8000] loss: 0.405

Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:27:07. Total running time: 30s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
╭───────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size │
├───────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4 │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2 │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4 │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8 │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8 │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16 │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16 │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4 │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16 │
╰───────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [2026-02-05 17:27:08,448 E 5029 5068] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14 [repeated 14x across cluster] (Ray deduplicates logs by default. Set RAY_DEDUP_LOGS=0 to disable log deduplication, or see https://docs.ray.io/en/master/ray-observability/user-guides/configure-logging.html#log-deduplication for more options.)
(func pid=5029) [1, 10000] loss: 0.321
(func pid=5029) [1, 12000] loss: 0.263
(func pid=5029) [1, 14000] loss: 0.219
(func pid=5029) [1, 16000] loss: 0.191
(func pid=5029) [1, 18000] loss: 0.166
(func pid=5029) [1, 20000] loss: 0.150
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:27:37. Total running time: 1min 0s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
╭───────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size │
├───────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4 │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2 │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4 │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8 │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8 │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16 │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16 │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4 │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16 │
╰───────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00000_0_batch_size=2,l1=128,l2=32,lr=0.0008_2026-02-05_17-26-37/checkpoint_000000)
(func pid=5029) [2,  2000] loss: 1.433
(func pid=5029) [2,  4000] loss: 0.716
(func pid=5029) [2,  6000] loss: 0.462
(func pid=5029) [2,  8000] loss: 0.350
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:28:08. Total running time: 1min 30s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.4402488875099457 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        1            63.7418   1.44025       0.4872 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [2, 10000] loss: 0.280
(func pid=5029) [2, 12000] loss: 0.230
(func pid=5029) [2, 14000] loss: 0.194
(func pid=5029) [2, 16000] loss: 0.174
(func pid=5029) [2, 18000] loss: 0.153
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:28:38. Total running time: 2min 0s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.4402488875099457 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        1            63.7418   1.44025       0.4872 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [2, 20000] loss: 0.135
(func pid=5029) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00000_0_batch_size=2,l1=128,l2=32,lr=0.0008_2026-02-05_17-26-37/checkpoint_000001)
(func pid=5029) [3,  2000] loss: 1.312
(func pid=5029) [3,  4000] loss: 0.652
(func pid=5029) [3,  6000] loss: 0.434
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:29:08. Total running time: 2min 30s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3515160163497553 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        2            125.329   1.35152        0.514 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [3,  8000] loss: 0.327
(func pid=5029) [3, 10000] loss: 0.258
(func pid=5029) [3, 12000] loss: 0.218
(func pid=5029) [3, 14000] loss: 0.184
(func pid=5029) [3, 16000] loss: 0.166
(func pid=5029) [3, 18000] loss: 0.146
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:29:38. Total running time: 3min 0s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3515160163497553 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        2            125.329   1.35152        0.514 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [3, 20000] loss: 0.131
(func pid=5029) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00000_0_batch_size=2,l1=128,l2=32,lr=0.0008_2026-02-05_17-26-37/checkpoint_000002)
(func pid=5029) [4,  2000] loss: 1.228
(func pid=5029) [4,  4000] loss: 0.615
(func pid=5029) [4,  6000] loss: 0.413
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:30:08. Total running time: 3min 30s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3860473893327172 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        3            187.173   1.38605       0.5128 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [4,  8000] loss: 0.307
(func pid=5029) [4, 10000] loss: 0.251
(func pid=5029) [4, 12000] loss: 0.207
(func pid=5029) [4, 14000] loss: 0.179
(func pid=5029) [4, 16000] loss: 0.156
(func pid=5029) [4, 18000] loss: 0.142
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:30:38. Total running time: 4min 0s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3860473893327172 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        3            187.173   1.38605       0.5128 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [4, 20000] loss: 0.128
(func pid=5029) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00000_0_batch_size=2,l1=128,l2=32,lr=0.0008_2026-02-05_17-26-37/checkpoint_000003)
(func pid=5029) [5,  2000] loss: 1.176
(func pid=5029) [5,  4000] loss: 0.617
(func pid=5029) [5,  6000] loss: 0.386
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:31:08. Total running time: 4min 30s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3004822016107762 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        4            248.818   1.30048       0.5432 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [5,  8000] loss: 0.297
(func pid=5029) [5, 10000] loss: 0.240
(func pid=5029) [5, 12000] loss: 0.202
(func pid=5029) [5, 14000] loss: 0.177
(func pid=5029) [5, 16000] loss: 0.149
(func pid=5029) [5, 18000] loss: 0.137
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:31:38. Total running time: 5min 0s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3004822016107762 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        4            248.818   1.30048       0.5432 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [5, 20000] loss: 0.124
(func pid=5029) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00000_0_batch_size=2,l1=128,l2=32,lr=0.0008_2026-02-05_17-26-37/checkpoint_000004)
(func pid=5029) [6,  2000] loss: 1.135
(func pid=5029) [6,  4000] loss: 0.576
(func pid=5029) [6,  6000] loss: 0.380
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:32:08. Total running time: 5min 30s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.2545455822155112 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        5            310.756   1.25455       0.5638 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [6,  8000] loss: 0.291
(func pid=5029) [6, 10000] loss: 0.235
(func pid=5029) [6, 12000] loss: 0.199
(func pid=5029) [6, 14000] loss: 0.175
(func pid=5029) [6, 16000] loss: 0.146
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:32:38. Total running time: 6min 0s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.2545455822155112 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        5            310.756   1.25455       0.5638 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [6, 18000] loss: 0.135
(func pid=5029) [6, 20000] loss: 0.116
(func pid=5029) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00000_0_batch_size=2,l1=128,l2=32,lr=0.0008_2026-02-05_17-26-37/checkpoint_000005)
(func pid=5029) [7,  2000] loss: 1.107
(func pid=5029) [7,  4000] loss: 0.553
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:33:08. Total running time: 6min 30s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.370219224171497 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        6            372.538   1.37022       0.5409 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [7,  6000] loss: 0.378
(func pid=5029) [7,  8000] loss: 0.280
(func pid=5029) [7, 10000] loss: 0.224
(func pid=5029) [7, 12000] loss: 0.189
(func pid=5029) [7, 14000] loss: 0.165
(func pid=5029) [7, 16000] loss: 0.143
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:33:38. Total running time: 7min 1s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.370219224171497 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        6            372.538   1.37022       0.5409 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [7, 18000] loss: 0.128
(func pid=5029) [7, 20000] loss: 0.118
(func pid=5029) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00000_0_batch_size=2,l1=128,l2=32,lr=0.0008_2026-02-05_17-26-37/checkpoint_000006)
(func pid=5029) [8,  2000] loss: 1.053
(func pid=5029) [8,  4000] loss: 0.538
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:34:08. Total running time: 7min 31s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.2959976141282619 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)     loss     accuracy │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        7            434.018    1.296        0.558 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                   │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                   │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                   │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                   │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                   │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                   │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                   │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                   │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                   │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [8,  6000] loss: 0.363
(func pid=5029) [8,  8000] loss: 0.278
(func pid=5029) [8, 10000] loss: 0.222
(func pid=5029) [8, 12000] loss: 0.187
(func pid=5029) [8, 14000] loss: 0.161
(func pid=5029) [8, 16000] loss: 0.143
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:34:38. Total running time: 8min 1s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.2959976141282619 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)     loss     accuracy │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        7            434.018    1.296        0.558 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                   │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                   │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                   │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                   │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                   │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                   │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                   │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                   │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                   │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [8, 18000] loss: 0.127
(func pid=5029) [8, 20000] loss: 0.115
(func pid=5029) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00000_0_batch_size=2,l1=128,l2=32,lr=0.0008_2026-02-05_17-26-37/checkpoint_000007)
(func pid=5029) [9,  2000] loss: 1.029
(func pid=5029) [9,  4000] loss: 0.519
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:35:08. Total running time: 8min 31s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.2675548806553183 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        8            495.854   1.26755        0.574 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [9,  6000] loss: 0.357
(func pid=5029) [9,  8000] loss: 0.267
(func pid=5029) [9, 10000] loss: 0.218
(func pid=5029) [9, 12000] loss: 0.183
(func pid=5029) [9, 14000] loss: 0.157
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:35:38. Total running time: 9min 1s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.2675548806553183 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        8            495.854   1.26755        0.574 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [9, 16000] loss: 0.137
(func pid=5029) [9, 18000] loss: 0.125
(func pid=5029) [9, 20000] loss: 0.113
(func pid=5029) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00000_0_batch_size=2,l1=128,l2=32,lr=0.0008_2026-02-05_17-26-37/checkpoint_000008)
(func pid=5029) [10,  2000] loss: 1.019
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:36:08. Total running time: 9min 31s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3104236894623729 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        9            557.342   1.31042       0.5699 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [10,  4000] loss: 0.507
(func pid=5029) [10,  6000] loss: 0.348
(func pid=5029) [10,  8000] loss: 0.263
(func pid=5029) [10, 10000] loss: 0.216
(func pid=5029) [10, 12000] loss: 0.180
(func pid=5029) [10, 14000] loss: 0.153
Trial status: 1 RUNNING | 9 PENDING
Current time: 2026-02-05 17:36:38. Total running time: 10min 1s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3104236894623729 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status       l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   RUNNING     128     32   0.000776595              2        9            557.342   1.31042       0.5699 │
│ train_cifar_d37c6_00001   PENDING       8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00002   PENDING      64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING      32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING      32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING      32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING       4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING       8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING      64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING       2     16   0.000114548             16                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5029) [10, 16000] loss: 0.138
(func pid=5029) [10, 18000] loss: 0.124
(func pid=5029) [10, 20000] loss: 0.110

Trial train_cifar_d37c6_00000 completed after 10 iterations at 2026-02-05 17:37:00. Total running time: 10min 22s
╭────────────────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00000 result                       │
├────────────────────────────────────────────────────────────┤
│ checkpoint_dir_name                      checkpoint_000009 │
│ time_this_iter_s                                  61.25484 │
│ time_total_s                                     618.59684 │
│ training_iteration                                      10 │
│ accuracy                                            0.5535 │
│ loss                                               1.35274 │
╰────────────────────────────────────────────────────────────╯
(func pid=5029) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00000_0_batch_size=2,l1=128,l2=32,lr=0.0008_2026-02-05_17-26-37/checkpoint_000009)

Trial train_cifar_d37c6_00001 started with configuration:
╭──────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00001 config             │
├──────────────────────────────────────────────────┤
│ batch_size                                     4 │
│ device                                      cuda │
│ l1                                             8 │
│ l2                                            32 │
│ lr                                       0.00047 │
╰──────────────────────────────────────────────────╯

Trial status: 1 TERMINATED | 1 RUNNING | 8 PENDING
Current time: 2026-02-05 17:37:09. Total running time: 10min 31s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3527403330357244 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status         l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00001   RUNNING         8     32   0.000474752              4                                                    │
│ train_cifar_d37c6_00000   TERMINATED    128     32   0.000776595              2       10            618.597   1.35274       0.5535 │
│ train_cifar_d37c6_00002   PENDING        64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING        32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING        32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING        32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING         4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING         8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING        64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING         2     16   0.000114548             16                                                    │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5807) [1,  2000] loss: 2.268
(func pid=5807) [1,  4000] loss: 0.972
(func pid=5807) [1,  6000] loss: 0.578
(func pid=5807) [1,  8000] loss: 0.407
(func pid=5807) [2026-02-05 17:37:31,609 E 5807 5843] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14
(func pid=5807) [1, 10000] loss: 0.318

Trial train_cifar_d37c6_00001 completed after 1 iterations at 2026-02-05 17:37:38. Total running time: 11min 0s
╭────────────────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00001 result                       │
├────────────────────────────────────────────────────────────┤
│ checkpoint_dir_name                      checkpoint_000000 │
│ time_this_iter_s                                  33.81573 │
│ time_total_s                                      33.81573 │
│ training_iteration                                       1 │
│ accuracy                                            0.4309 │
│ loss                                               1.52382 │
╰────────────────────────────────────────────────────────────╯
(func pid=5807) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00001_1_batch_size=4,l1=8,l2=32,lr=0.0005_2026-02-05_17-26-37/checkpoint_000000)

Trial status: 2 TERMINATED | 8 PENDING
Current time: 2026-02-05 17:37:39. Total running time: 11min 1s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3527403330357244 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status         l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   TERMINATED    128     32   0.000776595              2       10           618.597    1.35274       0.5535 │
│ train_cifar_d37c6_00001   TERMINATED      8     32   0.000474752              4        1            33.8157   1.52382       0.4309 │
│ train_cifar_d37c6_00002   PENDING        64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00003   PENDING        32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING        32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING        32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING         4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING         8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING        64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING         2     16   0.000114548             16                                                    │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Trial train_cifar_d37c6_00002 started with configuration:
╭──────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00002 config             │
├──────────────────────────────────────────────────┤
│ batch_size                                     2 │
│ device                                      cuda │
│ l1                                            64 │
│ l2                                             4 │
│ lr                                       0.03846 │
╰──────────────────────────────────────────────────╯
(func pid=5940) [1,  2000] loss: 2.347
(func pid=5940) [1,  4000] loss: 1.172
(func pid=5940) [1,  6000] loss: 0.782
(func pid=5940) [1,  8000] loss: 0.587

Trial status: 2 TERMINATED | 1 RUNNING | 7 PENDING
Current time: 2026-02-05 17:38:09. Total running time: 11min 31s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3527403330357244 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status         l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00002   RUNNING        64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00000   TERMINATED    128     32   0.000776595              2       10           618.597    1.35274       0.5535 │
│ train_cifar_d37c6_00001   TERMINATED      8     32   0.000474752              4        1            33.8157   1.52382       0.4309 │
│ train_cifar_d37c6_00003   PENDING        32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING        32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING        32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING         4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING         8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING        64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING         2     16   0.000114548             16                                                    │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=5940) [2026-02-05 17:38:09,602 E 5940 5975] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14
(func pid=5940) [1, 10000] loss: 0.469
(func pid=5940) [1, 12000] loss: 0.391
(func pid=5940) [1, 14000] loss: 0.334
(func pid=5940) [1, 16000] loss: 0.293
(func pid=5940) [1, 18000] loss: 0.261
(func pid=5940) [1, 20000] loss: 0.235
Trial status: 2 TERMINATED | 1 RUNNING | 7 PENDING
Current time: 2026-02-05 17:38:39. Total running time: 12min 1s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3527403330357244 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status         l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00002   RUNNING        64      4   0.0384587                2                                                    │
│ train_cifar_d37c6_00000   TERMINATED    128     32   0.000776595              2       10           618.597    1.35274       0.5535 │
│ train_cifar_d37c6_00001   TERMINATED      8     32   0.000474752              4        1            33.8157   1.52382       0.4309 │
│ train_cifar_d37c6_00003   PENDING        32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00004   PENDING        32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING        32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING         4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING         8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING        64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING         2     16   0.000114548             16                                                    │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Trial train_cifar_d37c6_00002 completed after 1 iterations at 2026-02-05 17:38:46. Total running time: 12min 8s
╭────────────────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00002 result                       │
├────────────────────────────────────────────────────────────┤
│ checkpoint_dir_name                      checkpoint_000000 │
│ time_this_iter_s                                  63.49284 │
│ time_total_s                                      63.49284 │
│ training_iteration                                       1 │
│ accuracy                                            0.1004 │
│ loss                                               2.39299 │
╰────────────────────────────────────────────────────────────╯
(func pid=5940) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00002_2_batch_size=2,l1=64,l2=4,lr=0.0385_2026-02-05_17-26-37/checkpoint_000000)

Trial train_cifar_d37c6_00003 started with configuration:
╭──────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00003 config             │
├──────────────────────────────────────────────────┤
│ batch_size                                     4 │
│ device                                      cuda │
│ l1                                            32 │
│ l2                                             1 │
│ lr                                       0.00503 │
╰──────────────────────────────────────────────────╯
(func pid=6076) [1,  2000] loss: 2.310
(func pid=6076) [1,  4000] loss: 1.153

Trial status: 3 TERMINATED | 1 RUNNING | 6 PENDING
Current time: 2026-02-05 17:39:09. Total running time: 12min 31s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3527403330357244 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status         l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00003   RUNNING        32      1   0.00503378               4                                                    │
│ train_cifar_d37c6_00000   TERMINATED    128     32   0.000776595              2       10           618.597    1.35274       0.5535 │
│ train_cifar_d37c6_00001   TERMINATED      8     32   0.000474752              4        1            33.8157   1.52382       0.4309 │
│ train_cifar_d37c6_00002   TERMINATED     64      4   0.0384587                2        1            63.4928   2.39299       0.1004 │
│ train_cifar_d37c6_00004   PENDING        32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00005   PENDING        32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING         4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING         8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING        64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING         2     16   0.000114548             16                                                    │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=6076) [1,  6000] loss: 0.768
(func pid=6076) [1,  8000] loss: 0.576
(func pid=6076) [2026-02-05 17:39:17,621 E 6076 6111] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14
(func pid=6076) [1, 10000] loss: 0.461

Trial train_cifar_d37c6_00003 completed after 1 iterations at 2026-02-05 17:39:24. Total running time: 12min 46s
╭────────────────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00003 result                       │
├────────────────────────────────────────────────────────────┤
│ checkpoint_dir_name                      checkpoint_000000 │
│ time_this_iter_s                                  33.85449 │
│ time_total_s                                      33.85449 │
│ training_iteration                                       1 │
│ accuracy                                            0.0959 │
│ loss                                               2.30751 │
╰────────────────────────────────────────────────────────────╯
(func pid=6076) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00003_3_batch_size=4,l1=32,l2=1,lr=0.0050_2026-02-05_17-26-37/checkpoint_000000)

Trial train_cifar_d37c6_00004 started with configuration:
╭──────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00004 config             │
├──────────────────────────────────────────────────┤
│ batch_size                                     8 │
│ device                                      cuda │
│ l1                                            32 │
│ l2                                             8 │
│ lr                                       0.00131 │
╰──────────────────────────────────────────────────╯
(func pid=6209) [1,  2000] loss: 2.093

Trial status: 4 TERMINATED | 1 RUNNING | 5 PENDING
Current time: 2026-02-05 17:39:39. Total running time: 13min 1s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3527403330357244 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status         l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00004   RUNNING        32      8   0.00131066               8                                                    │
│ train_cifar_d37c6_00000   TERMINATED    128     32   0.000776595              2       10           618.597    1.35274       0.5535 │
│ train_cifar_d37c6_00001   TERMINATED      8     32   0.000474752              4        1            33.8157   1.52382       0.4309 │
│ train_cifar_d37c6_00002   TERMINATED     64      4   0.0384587                2        1            63.4928   2.39299       0.1004 │
│ train_cifar_d37c6_00003   TERMINATED     32      1   0.00503378               4        1            33.8545   2.30751       0.0959 │
│ train_cifar_d37c6_00005   PENDING        32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00006   PENDING         4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING         8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING        64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING         2     16   0.000114548             16                                                    │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=6209) [1,  4000] loss: 0.845
(func pid=6209) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00004_4_batch_size=8,l1=32,l2=8,lr=0.0013_2026-02-05_17-26-37/checkpoint_000000)
(func pid=6209) [2,  2000] loss: 1.496
(func pid=6209) [2026-02-05 17:39:55,615 E 6209 6244] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14
(func pid=6209) [2,  4000] loss: 0.725

Trial train_cifar_d37c6_00004 completed after 2 iterations at 2026-02-05 17:40:04. Total running time: 13min 26s
╭────────────────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00004 result                       │
├────────────────────────────────────────────────────────────┤
│ checkpoint_dir_name                      checkpoint_000001 │
│ time_this_iter_s                                   16.6265 │
│ time_total_s                                      35.23585 │
│ training_iteration                                       2 │
│ accuracy                                            0.5113 │
│ loss                                               1.36081 │
╰────────────────────────────────────────────────────────────╯
(func pid=6209) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00004_4_batch_size=8,l1=32,l2=8,lr=0.0013_2026-02-05_17-26-37/checkpoint_000001)

Trial train_cifar_d37c6_00005 started with configuration:
╭──────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00005 config             │
├──────────────────────────────────────────────────┤
│ batch_size                                     8 │
│ device                                      cuda │
│ l1                                            32 │
│ l2                                            16 │
│ lr                                       0.04191 │
╰──────────────────────────────────────────────────╯

Trial status: 5 TERMINATED | 1 RUNNING | 4 PENDING
Current time: 2026-02-05 17:40:09. Total running time: 13min 31s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3527403330357244 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status         l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00005   RUNNING        32     16   0.0419132                8                                                    │
│ train_cifar_d37c6_00000   TERMINATED    128     32   0.000776595              2       10           618.597    1.35274       0.5535 │
│ train_cifar_d37c6_00001   TERMINATED      8     32   0.000474752              4        1            33.8157   1.52382       0.4309 │
│ train_cifar_d37c6_00002   TERMINATED     64      4   0.0384587                2        1            63.4928   2.39299       0.1004 │
│ train_cifar_d37c6_00003   TERMINATED     32      1   0.00503378               4        1            33.8545   2.30751       0.0959 │
│ train_cifar_d37c6_00004   TERMINATED     32      8   0.00131066               8        2            35.2358   1.36081       0.5113 │
│ train_cifar_d37c6_00006   PENDING         4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00007   PENDING         8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING        64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING         2     16   0.000114548             16                                                    │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=6406) [1,  2000] loss: 2.309
(func pid=6406) [1,  4000] loss: 1.158

Trial train_cifar_d37c6_00005 completed after 1 iterations at 2026-02-05 17:40:27. Total running time: 13min 49s
╭────────────────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00005 result                       │
├────────────────────────────────────────────────────────────┤
│ checkpoint_dir_name                      checkpoint_000000 │
│ time_this_iter_s                                  18.55542 │
│ time_total_s                                      18.55542 │
│ training_iteration                                       1 │
│ accuracy                                             0.104 │
│ loss                                               2.31148 │
╰────────────────────────────────────────────────────────────╯
(func pid=6406) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00005_5_batch_size=8,l1=32,l2=16,lr=0.0419_2026-02-05_17-26-37/checkpoint_000000)

Trial train_cifar_d37c6_00006 started with configuration:
╭──────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00006 config             │
├──────────────────────────────────────────────────┤
│ batch_size                                    16 │
│ device                                      cuda │
│ l1                                             4 │
│ l2                                            32 │
│ lr                                       0.00059 │
╰──────────────────────────────────────────────────╯

Trial status: 6 TERMINATED | 1 RUNNING | 3 PENDING
Current time: 2026-02-05 17:40:39. Total running time: 14min 1s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3527403330357244 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status         l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00006   RUNNING         4     32   0.000590487             16                                                    │
│ train_cifar_d37c6_00000   TERMINATED    128     32   0.000776595              2       10           618.597    1.35274       0.5535 │
│ train_cifar_d37c6_00001   TERMINATED      8     32   0.000474752              4        1            33.8157   1.52382       0.4309 │
│ train_cifar_d37c6_00002   TERMINATED     64      4   0.0384587                2        1            63.4928   2.39299       0.1004 │
│ train_cifar_d37c6_00003   TERMINATED     32      1   0.00503378               4        1            33.8545   2.30751       0.0959 │
│ train_cifar_d37c6_00004   TERMINATED     32      8   0.00131066               8        2            35.2358   1.36081       0.5113 │
│ train_cifar_d37c6_00005   TERMINATED     32     16   0.0419132                8        1            18.5554   2.31148       0.104  │
│ train_cifar_d37c6_00007   PENDING         8     16   0.00628903              16                                                    │
│ train_cifar_d37c6_00008   PENDING        64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING         2     16   0.000114548             16                                                    │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=6537) [1,  2000] loss: 2.296

Trial train_cifar_d37c6_00006 completed after 1 iterations at 2026-02-05 17:40:42. Total running time: 14min 4s
╭────────────────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00006 result                       │
├────────────────────────────────────────────────────────────┤
│ checkpoint_dir_name                      checkpoint_000000 │
│ time_this_iter_s                                  10.78104 │
│ time_total_s                                      10.78104 │
│ training_iteration                                       1 │
│ accuracy                                             0.184 │
│ loss                                               2.11715 │
╰────────────────────────────────────────────────────────────╯
(func pid=6537) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00006_6_batch_size=16,l1=4,l2=32,lr=0.0006_2026-02-05_17-26-37/checkpoint_000000)

Trial train_cifar_d37c6_00007 started with configuration:
╭──────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00007 config             │
├──────────────────────────────────────────────────┤
│ batch_size                                    16 │
│ device                                      cuda │
│ l1                                             8 │
│ l2                                            16 │
│ lr                                       0.00629 │
╰──────────────────────────────────────────────────╯
(func pid=6668) [1,  2000] loss: 1.817
(func pid=6668) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00007_7_batch_size=16,l1=8,l2=16,lr=0.0063_2026-02-05_17-26-37/checkpoint_000000)
(func pid=6668) [2,  2000] loss: 1.561

Trial train_cifar_d37c6_00007 completed after 2 iterations at 2026-02-05 17:41:06. Total running time: 14min 29s
╭────────────────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00007 result                       │
├────────────────────────────────────────────────────────────┤
│ checkpoint_dir_name                      checkpoint_000001 │
│ time_this_iter_s                                   8.79993 │
│ time_total_s                                      19.80089 │
│ training_iteration                                       2 │
│ accuracy                                            0.4455 │
│ loss                                                1.5268 │
╰────────────────────────────────────────────────────────────╯
(func pid=6668) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00007_7_batch_size=16,l1=8,l2=16,lr=0.0063_2026-02-05_17-26-37/checkpoint_000001)

Trial status: 8 TERMINATED | 2 PENDING
Current time: 2026-02-05 17:41:09. Total running time: 14min 31s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3527403330357244 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status         l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   TERMINATED    128     32   0.000776595              2       10           618.597    1.35274       0.5535 │
│ train_cifar_d37c6_00001   TERMINATED      8     32   0.000474752              4        1            33.8157   1.52382       0.4309 │
│ train_cifar_d37c6_00002   TERMINATED     64      4   0.0384587                2        1            63.4928   2.39299       0.1004 │
│ train_cifar_d37c6_00003   TERMINATED     32      1   0.00503378               4        1            33.8545   2.30751       0.0959 │
│ train_cifar_d37c6_00004   TERMINATED     32      8   0.00131066               8        2            35.2358   1.36081       0.5113 │
│ train_cifar_d37c6_00005   TERMINATED     32     16   0.0419132                8        1            18.5554   2.31148       0.104  │
│ train_cifar_d37c6_00006   TERMINATED      4     32   0.000590487             16        1            10.781    2.11715       0.184  │
│ train_cifar_d37c6_00007   TERMINATED      8     16   0.00628903              16        2            19.8009   1.5268        0.4455 │
│ train_cifar_d37c6_00008   PENDING        64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00009   PENDING         2     16   0.000114548             16                                                    │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Trial train_cifar_d37c6_00008 started with configuration:
╭──────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00008 config             │
├──────────────────────────────────────────────────┤
│ batch_size                                     4 │
│ device                                      cuda │
│ l1                                            64 │
│ l2                                           128 │
│ lr                                       0.00252 │
╰──────────────────────────────────────────────────╯
(func pid=6863) [1,  2000] loss: 1.986
(func pid=6863) [1,  4000] loss: 0.869
(func pid=6863) [1,  6000] loss: 0.557
(func pid=6863) [1,  8000] loss: 0.398
(func pid=6863) [2026-02-05 17:41:37,623 E 6863 6898] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14

Trial status: 8 TERMINATED | 1 RUNNING | 1 PENDING
Current time: 2026-02-05 17:41:39. Total running time: 15min 1s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3527403330357244 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status         l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00008   RUNNING        64    128   0.00251514               4                                                    │
│ train_cifar_d37c6_00000   TERMINATED    128     32   0.000776595              2       10           618.597    1.35274       0.5535 │
│ train_cifar_d37c6_00001   TERMINATED      8     32   0.000474752              4        1            33.8157   1.52382       0.4309 │
│ train_cifar_d37c6_00002   TERMINATED     64      4   0.0384587                2        1            63.4928   2.39299       0.1004 │
│ train_cifar_d37c6_00003   TERMINATED     32      1   0.00503378               4        1            33.8545   2.30751       0.0959 │
│ train_cifar_d37c6_00004   TERMINATED     32      8   0.00131066               8        2            35.2358   1.36081       0.5113 │
│ train_cifar_d37c6_00005   TERMINATED     32     16   0.0419132                8        1            18.5554   2.31148       0.104  │
│ train_cifar_d37c6_00006   TERMINATED      4     32   0.000590487             16        1            10.781    2.11715       0.184  │
│ train_cifar_d37c6_00007   TERMINATED      8     16   0.00628903              16        2            19.8009   1.5268        0.4455 │
│ train_cifar_d37c6_00009   PENDING         2     16   0.000114548             16                                                    │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=6863) [1, 10000] loss: 0.316
(func pid=6863) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00008_8_batch_size=4,l1=64,l2=128,lr=0.0025_2026-02-05_17-26-37/checkpoint_000000)
(func pid=6863) [2,  2000] loss: 1.544
(func pid=6863) [2,  4000] loss: 0.774
(func pid=6863) [2,  6000] loss: 0.505
(func pid=6863) [2,  8000] loss: 0.377
Trial status: 8 TERMINATED | 1 RUNNING | 1 PENDING
Current time: 2026-02-05 17:42:09. Total running time: 15min 31s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3527403330357244 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status         l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00008   RUNNING        64    128   0.00251514               4        1            33.8888   1.60394       0.4228 │
│ train_cifar_d37c6_00000   TERMINATED    128     32   0.000776595              2       10           618.597    1.35274       0.5535 │
│ train_cifar_d37c6_00001   TERMINATED      8     32   0.000474752              4        1            33.8157   1.52382       0.4309 │
│ train_cifar_d37c6_00002   TERMINATED     64      4   0.0384587                2        1            63.4928   2.39299       0.1004 │
│ train_cifar_d37c6_00003   TERMINATED     32      1   0.00503378               4        1            33.8545   2.30751       0.0959 │
│ train_cifar_d37c6_00004   TERMINATED     32      8   0.00131066               8        2            35.2358   1.36081       0.5113 │
│ train_cifar_d37c6_00005   TERMINATED     32     16   0.0419132                8        1            18.5554   2.31148       0.104  │
│ train_cifar_d37c6_00006   TERMINATED      4     32   0.000590487             16        1            10.781    2.11715       0.184  │
│ train_cifar_d37c6_00007   TERMINATED      8     16   0.00628903              16        2            19.8009   1.5268        0.4455 │
│ train_cifar_d37c6_00009   PENDING         2     16   0.000114548             16                                                    │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=6863) [2, 10000] loss: 0.301

Trial train_cifar_d37c6_00008 completed after 2 iterations at 2026-02-05 17:42:16. Total running time: 15min 38s
╭────────────────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00008 result                       │
├────────────────────────────────────────────────────────────┤
│ checkpoint_dir_name                      checkpoint_000001 │
│ time_this_iter_s                                  31.91594 │
│ time_total_s                                      65.80472 │
│ training_iteration                                       2 │
│ accuracy                                            0.4605 │
│ loss                                               1.50331 │
╰────────────────────────────────────────────────────────────╯
(func pid=6863) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00008_8_batch_size=4,l1=64,l2=128,lr=0.0025_2026-02-05_17-26-37/checkpoint_000001)

Trial train_cifar_d37c6_00009 started with configuration:
╭──────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00009 config             │
├──────────────────────────────────────────────────┤
│ batch_size                                    16 │
│ device                                      cuda │
│ l1                                             2 │
│ l2                                            16 │
│ lr                                       0.00011 │
╰──────────────────────────────────────────────────╯
(func pid=7063) [1,  2000] loss: 2.273

Trial train_cifar_d37c6_00009 completed after 1 iterations at 2026-02-05 17:42:31. Total running time: 15min 53s
╭────────────────────────────────────────────────────────────╮
│ Trial train_cifar_d37c6_00009 result                       │
├────────────────────────────────────────────────────────────┤
│ checkpoint_dir_name                      checkpoint_000000 │
│ time_this_iter_s                                  10.83752 │
│ time_total_s                                      10.83752 │
│ training_iteration                                       1 │
│ accuracy                                            0.1698 │
│ loss                                               2.19999 │
╰────────────────────────────────────────────────────────────╯
2026-02-05 17:42:31,624 INFO tune.py:1009 -- Wrote the latest version of all result files and experiment state to '/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37' in 0.0089s.

Trial status: 10 TERMINATED
Current time: 2026-02-05 17:42:31. Total running time: 15min 54s
Logical resource usage: 2.0/16 CPUs, 1.0/1 GPUs (0.0/1.0 accelerator_type:A10G)
Current best trial: d37c6_00000 with loss=1.3527403330357244 and params={'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Trial name                status         l1     l2            lr     batch_size     iter     total time (s)      loss     accuracy │
├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ train_cifar_d37c6_00000   TERMINATED    128     32   0.000776595              2       10           618.597    1.35274       0.5535 │
│ train_cifar_d37c6_00001   TERMINATED      8     32   0.000474752              4        1            33.8157   1.52382       0.4309 │
│ train_cifar_d37c6_00002   TERMINATED     64      4   0.0384587                2        1            63.4928   2.39299       0.1004 │
│ train_cifar_d37c6_00003   TERMINATED     32      1   0.00503378               4        1            33.8545   2.30751       0.0959 │
│ train_cifar_d37c6_00004   TERMINATED     32      8   0.00131066               8        2            35.2358   1.36081       0.5113 │
│ train_cifar_d37c6_00005   TERMINATED     32     16   0.0419132                8        1            18.5554   2.31148       0.104  │
│ train_cifar_d37c6_00006   TERMINATED      4     32   0.000590487             16        1            10.781    2.11715       0.184  │
│ train_cifar_d37c6_00007   TERMINATED      8     16   0.00628903              16        2            19.8009   1.5268        0.4455 │
│ train_cifar_d37c6_00008   TERMINATED     64    128   0.00251514               4        2            65.8047   1.50331       0.4605 │
│ train_cifar_d37c6_00009   TERMINATED      2     16   0.000114548             16        1            10.8375   2.19999       0.1698 │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(func pid=7063) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/var/lib/ci-user/ray_results/train_cifar_2026-02-05_17-26-37/train_cifar_d37c6_00009_9_batch_size=16,l1=2,l2=16,lr=0.0001_2026-02-05_17-26-37/checkpoint_000000)

Best trial config: {'l1': 128, 'l2': 32, 'lr': 0.0007765948575297945, 'batch_size': 2, 'device': 'cuda'}
Best trial final validation loss: 1.3527403330357244
Best trial final validation accuracy: 0.5535
Best trial test set accuracy: 0.562

Results#

Your Ray Tune trial summary output looks something like this. The text table summarizes the validation performance of the trials and highlights the best hyperparameter configuration:

Number of trials: 10/10 (10 TERMINATED)
+-----+--------------+------+------+-------------+--------+---------+------------+
| ... |   batch_size |   l1 |   l2 |          lr |   iter |    loss |   accuracy |
|-----+--------------+------+------+-------------+--------+---------+------------|
| ... |            2 |    1 |  256 | 0.000668163 |      1 | 2.31479 |     0.0977 |
| ... |            4 |   64 |    8 | 0.0331514   |      1 | 2.31605 |     0.0983 |
| ... |            4 |    2 |    1 | 0.000150295 |      1 | 2.30755 |     0.1023 |
| ... |           16 |   32 |   32 | 0.0128248   |     10 | 1.66912 |     0.4391 |
| ... |            4 |    8 |  128 | 0.00464561  |      2 | 1.7316  |     0.3463 |
| ... |            8 |  256 |    8 | 0.00031556  |      1 | 2.19409 |     0.1736 |
| ... |            4 |   16 |  256 | 0.00574329  |      2 | 1.85679 |     0.3368 |
| ... |            8 |    2 |    2 | 0.00325652  |      1 | 2.30272 |     0.0984 |
| ... |            2 |    2 |    2 | 0.000342987 |      2 | 1.76044 |     0.292  |
| ... |            4 |   64 |   32 | 0.003734    |      8 | 1.53101 |     0.4761 |
+-----+--------------+------+------+-------------+--------+---------+------------+

Best trial config: {'l1': 64, 'l2': 32, 'lr': 0.0037339984519545164, 'batch_size': 4}
Best trial final validation loss: 1.5310075663924216
Best trial final validation accuracy: 0.4761
Best trial test set accuracy: 0.4737

Most trials stopped early to conserve resources. The best performing trial achieved a validation accuracy of approximately 47%, which the test set confirms.

Observability#

Monitoring is critical when running large-scale experiments. Ray provides a dashboard that lets you view the status of your trials, check cluster resource use, and inspect logs in real time.

For debugging, Ray also offers distributed debugging tools that let you attach a debugger to running trials across the cluster.

Conclusion#

In this tutorial, you learned how to tune the hyperparameters of a PyTorch model using Ray Tune. You saw how to integrate Ray Tune into your PyTorch training loop, define a search space for your hyperparameters, use an efficient scheduler like ASHAScheduler to terminate low-performing trials early, save checkpoints and report metrics to Ray Tune, and run the hyperparameter search and analyze the results.

Ray Tune makes it straightforward to scale your experiments from a single machine to a large cluster, helping you find the best model configuration efficiently.

Further reading#

Total running time of the script: (16 minutes 8.577 seconds)