Skip to main content

TorchFit is a simple, easy-to-use, and minimalistic training-helper for PyTorch

Project description


TorchFit is a bare-bones, minimalistic training-helper for PyTorch that exposes an easy-to-use fit method in the style of fastai and Keras.

TorchFit is intended to be minimally-invasive with a tiny footprint and as little bloat as possible. It is well-suited to those that are new to training models in PyTorch.


# normal PyTorch stuff
train_loader = create_your_training_data_loader()
val_loader = create_your_validation_data_loader()
test_loader = create_your_test_data_loader()
model = create_your_pytorch_model()

# wrap model and data in Learner
import torchfit
learner = torchfit.Learner(model, train_loader, val_loader=val_loader)

# estimate LR using Learning Rate Finder

# train using 1cycle learning rate policy
learner.fit_onecycle(1e-4, 3)

# plot training vs. validation loss

# make predictions as easy as in Keras
y_pred = learner.predict(test_loader)

# save model and reload later'/tmp/mymodel')

TorchFit Training Loop

Tutorials and Examples


Learning Rate Finder


A fit method for Training

# Examples, epochs)
learner.fit_onecycle(lr, epochs), epochs, schedulers=[scheduler])

Easy-to-Execute Testing and Predictions

# Examples
outputs = learner.predict(test_loader)
outputs, targets = learner.predict(test_loader, return_targets=True)

text = 'Shares of IBM rose today.'
predicted_label = learner.predict_example(text, preproc_fn=preprocess, labels=labels)

Gradient Accumulation

learner.fit_onecycle(lr, 1, accumulation_steps=8)

Gradient Clipping

learner.fit_onecycle(lr, 1, gradient_clip_val=1)

Mixed Precision Training

torchfit.Learner(model, train_loader, val_loader=val_loader, use_amp=True, amp_level='O2')

Multi-GPU Training and GPU Selection

To train on first two GPUs (0 and 1):

learner = torchfit.Learner(model, train_loader, val_loader=test_loader, gpus=[0,1])

To train only on the second GPU, one can do either this:

learner = torchfit.Learner(model, train_loader, val_loader=test_loader, gpus=[1])

or this...

learner = torchfit.Learner(model, train_loader, val_loader=test_loader, device='cuda:1')

Resetting Weights of Model


Saving/Loading Model'/tmp/mymodel')


After ensuring PyTorch is installed, install TorchFit with:

pip3 install torchfit

Project details

Download files

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

Files for torchfit, version 0.2.5
Filename, size File type Python version Upload date Hashes
Filename, size torchfit-0.2.5.tar.gz (16.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page