Skip to main content

Helper to train deep neural networks

Project description

deep-trainer

Baseline code to train deep neural networks. Currently only available for PyTorch Framework.

Install

Pip

$ pip install deep-trainer

Conda

Not yet available

Getting started

import torch
from deep_trainer import PytorchTrainer


# Datasets
trainset = #....
valset = #....
testset = #....

# Dataloaders
train_loader = torch.utils.data.DataLoader(trainset, 64, shuffle=True)
val_loader = torch.data.utils.DataLoader(valset, 256)
test_loader = torch.data.utils.DataLoader(testset, 256)

# Model & device
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = #....
model.to(device)

# Optimizer & Scheduler
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=len(trainset) * 50, 0.1)  # Decay by 10 every 50 epochs

# Criterion
criterion = torch.nn.CrossEntropyLoss()  # For classification for instance

# Training
trainer = PytorchTrainer(model, optimizer, scheduler, save_mode="small", device=device)
trainer.train(150, train_loader, criterion, val_loader=val_loader)

# Testing
trainer.load("experiments/checkpoints/best.ckpt")
trainer.evaluate(test_loader, criterion)

Example

example/example.py show how to train a PreActResNet with Deep Trainer.

Install the additional requirements and use it with:

$ # See hyperparameters available
$ python example.py -h
$
$ # Launch the default training
$ python example.py
$
$ # Once done (or during the training), look for default tensorboard logs
$ tensorboard --logdir experiments/logs/

This script is reaching around 94-95% accuracy on validation with Cifar10 and a PreActResNet18.
Here are the training logs:

Build and Deploy

$ python -m build
$ python -m twine upload dist/*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deep-trainer-0.1.1.dev0.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

deep_trainer-0.1.1.dev0-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file deep-trainer-0.1.1.dev0.tar.gz.

File metadata

  • Download URL: deep-trainer-0.1.1.dev0.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for deep-trainer-0.1.1.dev0.tar.gz
Algorithm Hash digest
SHA256 2d8f445be93e774771cab0031e1babc81f8ed512bf3fc1c185613d6edb48d45c
MD5 9d96d836afefe2b7fd91b18ddd69d472
BLAKE2b-256 39bce5880b305907b9412f84291509b2c0885ddac8c873259acfc1c1ef97e027

See more details on using hashes here.

File details

Details for the file deep_trainer-0.1.1.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for deep_trainer-0.1.1.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 53e966f005aaae5ef22492f18c0199b77570bd5acc46a06b06c25fe4548de57f
MD5 e42819e18b5ed09c2eb8354eb141a915
BLAKE2b-256 1c4ea39269c9d14897613a783f6a7212ba67108204ba51e10dad15128b1c24e8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page