Skip to main content

A lightweight training tool for pytorch projects.

Project description

TorchLiter

test License: MIT PyPI version

A freely customizable and truly lightweight training tool for any pytorch projects

Install

pip install torchliter

Example Usage:

import torchliter as lux
import torch
import torch.nn as nn
import torch.nn.functional as F


cart = lux.Cart()
cart.model = nn.Linear(1, 3)
cart.train_loader = torch.utils.data.DataLoader(
    [i for i in range(100)], batch_size=5
)
cart.eval_loader = torch.utils.data.DataLoader(
    [i for i in range(100)], batch_size=5
)
cart.optimizer = torch.optim.AdamW(
    cart.model.parameters(), lr=1e-3, weight_decay=1e-5
)

def train_step(_, batch, **kwargs):
    image, target = batch
    logits = _.model(image)
    loss = F.cross_entropy(logits, target)
    _.optimizer.zero_grad()
    loss.backward()
    _.optimizer.step()

    yield "cross entropy loss", loss.item()

    acc = (logits.max(-1).indices == target).float().mean()

    yield "train acc", acc.item()

def eval_step(_, batch, **kwargs):
    image, target = batch
    with torch.no_grad():
        logits = _.model(image)
    acc = (logits.max(-1).indices == target).float().mean()
    yield "eval acc", acc.item()

def hello(_):
    print("hello")

train_buffers = lux.engine.AutoEngine.auto_buffers(
    train_step, lux.buffers.ExponentialMovingAverage
)
eval_buffers = lux.engine.AutoEngine.auto_buffers(
    eval_step, lux.buffers.ScalarSummaryStatistics
)
TestEngineClass = lux.engine.AutoEngine.build(
    "TestEngine", train_step, eval_step, print_hello=hello
)
test_engine = TestEngineClass(**{**cart.kwargs, **train_buffers, **eval_buffers})

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

torchliter-0.3.3.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

torchliter-0.3.3-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file torchliter-0.3.3.tar.gz.

File metadata

  • Download URL: torchliter-0.3.3.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for torchliter-0.3.3.tar.gz
Algorithm Hash digest
SHA256 d1456b6dc5cf2cf061914b5c0ef15a81d7dbd0bd9b56a06c9486afab4864590b
MD5 12e7052da5cbcaa9dccd69fa07deb564
BLAKE2b-256 03ee024a0beb6e2085ee98c27f84d286d01660edcd80c082175b2efdeb20fd5b

See more details on using hashes here.

File details

Details for the file torchliter-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: torchliter-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for torchliter-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c8422e274eb9f19a34287b3f6e458ebb0d5c7554dcddb4287300f0868ab3b215
MD5 c3f2557878e3d4389241a818e647cc88
BLAKE2b-256 79a2cfcb12f83a588b2c5245badb6ac6a193ea15b57431cb1717677bfb4459c7

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