Skip to main content

pthelper - boilerplate code for training, logging and evaluation in PyTorch.

Project description

pthelper - PyTorch

A python package containing the basic boilerplate code for training and evaluation of PyTorch models. The main purpose of this package is to remove writing the same code for training/inference again and again for different projects.

Apart from training and evaluation, it also contains other helper functions to perform logging stats in the console as well as Keras like model summaries using torchinfo package.

Install

pip install pthelper

Usage

Utility functions

  • Print model details:
from pthelper import utils

model = PyTorchModel()
input_size = (4, 28*28)
device = torch.device('cpu')
utils.model_details(model, input_size, device)

model_summary

Model training and evaluation

  • Train the model:
import torch
import torch.nn as nn
from pthelper import trainer, utils

epochs = 5
model = PyTorchModel()
loss_fn = nn.BCEWithLogitsLoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
logger = utils.get_logger()
pt_trainer = trainer.PTHelper(model, loss_fn, optimizer, logger, num_classes=1)
for i in range(epochs):
    train_loss = pt_trainer.train(train_dataloader, epoch=i)
    valid_loss, predictions, targets = pt_trainer.evaluate(valid_dataloader)

Scope

Right now, only binary and multi-class classification tasks are supported. In future releases, more functionality will be added like autoencoders, RNNs, GANs, etc.

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

pthelper-0.1.2.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

pthelper-0.1.2-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file pthelper-0.1.2.tar.gz.

File metadata

  • Download URL: pthelper-0.1.2.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.13

File hashes

Hashes for pthelper-0.1.2.tar.gz
Algorithm Hash digest
SHA256 6cea351d3e70fadbfbe48c6a64c1ae90ffb51bedf8f7258efe0db56985bc5984
MD5 aa190c96c04f902f08e4d437d7936dac
BLAKE2b-256 a9dc194f6598ed40d821f0e31204e134fe699d272f0a8285815a94f7f7ae8bca

See more details on using hashes here.

File details

Details for the file pthelper-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: pthelper-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.13

File hashes

Hashes for pthelper-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d3981e1ae4938d89dc2913d8d5660e6aaba3a15b0dac213c8e197b3a0c5aa39d
MD5 2275a35cdb2a1c76bf9bc78add756922
BLAKE2b-256 7dd36447f071fb2713fdf27499eeffffda1e9dd1a2fb1868a6e3b91eab80696a

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