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

$ pip install build twine
$ 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.0.13.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

deep_trainer-0.0.13-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file deep-trainer-0.0.13.tar.gz.

File metadata

  • Download URL: deep-trainer-0.0.13.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.13

File hashes

Hashes for deep-trainer-0.0.13.tar.gz
Algorithm Hash digest
SHA256 250ea18e6ea6e84e016d667baa2225eaab6cced21d71fbe6db2f7030bcebca46
MD5 f14f2fda1efae84e291f065e2f1adda1
BLAKE2b-256 91f3e11afe8c78db0210f215b3d4b0bc139c0cb88891016906654b3411c52692

See more details on using hashes here.

File details

Details for the file deep_trainer-0.0.13-py3-none-any.whl.

File metadata

File hashes

Hashes for deep_trainer-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 2bc9222f6cfbcb41bbefb57af6948668ac60ae0e24dadb9fea64aa17c2b4c830
MD5 5c8395a015e53b2b457eaaf7b5648ec2
BLAKE2b-256 c88b0fc7dc9caa2b820eaa45b38cdf17ed37819423183e4676f50d6ff5d1cd6a

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