Skip to main content

silver-torch

Silver PyTorch training

Leakage-safe tensors and a real training loop with every important decision left visible.

PyPI CI License

An optional PyTorch layer for Silver. It turns a small Silver preprocessing program into a fitted, inspectable, reusable tensor and DataLoader pipeline.

pip install silver-data
pip install 'silver-torch[pytorch]'

Train a real model

import torch
from torch.utils.data import DataLoader, TensorDataset
from silver_torch import (
    SilverTrainer, TrainingConfig, build_tabular_model,
)

x = torch.tensor([[-2.0, -1.0], [-1.0, -2.0], [1.0, 1.0], [2.0, 1.0]])
y = torch.tensor([0, 0, 1, 1])
loader = DataLoader(TensorDataset(x, y), batch_size=4)

model = build_tabular_model(input_size=2, output_size=2)
trainer = SilverTrainer(model, TrainingConfig(
    epochs=50,
    learning_rate=0.01,
    checkpoint_path=".silver/best.pt",
))
result = trainer.fit(loader, loader)

print(result.best_epoch, result.best_loss, result.parameter_count)

SilverTrainer includes deterministic seeds, CPU/CUDA/MPS selection, gradient clipping, non-finite loss protection, early stopping, best-state restoration, atomic checkpoints, evaluation, prediction, and event callbacks.

from silver_data import Dataset
from silver_torch import compile_silver

program = """
pipeline ieee_inverse:
  features voltage, current, phase, sensor
  categorical sensor
  label fault
  architecture transformer
  sequence_length 2
  scaling standard
  missing median
  label_type classification
  batch_size 128
  num_workers 2
  cache_dir .cache/ieee_inverse
"""

dataset = Dataset.from_records("ieee", [
    {"voltage": 1.0, "current": 2.0, "phase": 0.2, "sensor": "a", "fault": 0},
    {"voltage": 1.2, "current": 2.1, "phase": 0.3, "sensor": "b", "fault": 1},
])
splits = dataset.split(0.5, 0.5, 0.0)
pipeline = compile_silver(program).fit(splits.train.records())
loader = pipeline.dataloader(splits.validation.records(), device="cuda")
print(pipeline.plan(device="cuda").to_dict())
print(pipeline.benchmark(splits.validation.records(), steps=20))

The compiler has explicit research-safety boundaries:

  • statistics and vocabularies are fitted only on splits.train;
  • missing columns, non-finite numbers, invalid labels, and incompatible sequence lengths fail loudly;
  • categorical vocabularies are sorted for reproducibility and reserve index 0 for unknown values;
  • classification targets are torch.long; regression targets use the chosen floating dtype;
  • cache keys include the fitted-training fingerprint and transformed rows, and cache writes are atomic;
  • loaders are seeded and tune pinning, persistent workers, prefetching, and drop_last based on the declared runtime.

The emitted shapes are [batch, features] for MLP, [batch, 1, features] for CNN, and [batch, sequence_length, features_per_step] for RNN/Transformer. These are layout contracts, not model implementations. Measure with benchmark() on the target machine; input speedups depend on storage, CPU, worker count, batch size, and accelerator.

Metadata

Release files for silver-torch 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for silver-torch 1.0.0
File Size Uploaded
silver_torch-1.0.0.tar.gz 1.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for silver-torch 1.0.0
File Interpreter ABI Platform
silver_torch-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / silver_torch-1.0.0.tar.gz

Download URL silver_torch-1.0.0.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
8028e801816b7cc615c34734b5d098469a932ab80cd234cdb53dad0567ec384d
BLAKE2b-256 checksum
How to use checksums
dcbead7828cda0875cb40ff4e33680ed8e39f3ebbaf5eedb688cf0ffa603fe72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 22, 2026.

Transparency log

Release files / silver_torch-1.0.0-py3-none-any.whl

Download URL silver_torch-1.0.0-py3-none-any.whl
Size 15.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0edf3a1fd84e6c39928d1adb007c3449c25c479b1eaeb5e618067fda9f66117d
BLAKE2b-256 checksum
How to use checksums
88cb2bf3d7928f51d898aa7ece44115a8b998c41d7cbb8c4745c79859be13074
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 22, 2026.

Transparency log

Release history Release notifications | RSS feed

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

This release

1.0.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page