Note
Go to the end to download the full example code.
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.
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.TunerHow to use an early-stopping scheduler (ASHA) and report metrics/checkpoints
How to use checkpointing to resume training and load the best model
PyTorch v2.9+ and
torchvisionRay 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:
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:
if torch.cuda.device_count() > 1:
net = nn.DataParallel(net)
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)