pytorch-argus 1.1.0

Creator: railscoder56

Last updated:

0 purchases

pytorch-argus 1.1.0 Image
pytorch-argus 1.1.0 Images
Add to Cart

Description:

pytorchargus 1.1.0

Argus is a lightweight library for training neural networks in PyTorch.
Documentation
https://pytorch-argus.readthedocs.io
Installation
Requirements:

torch>=2.0.0

From pip:
pip install pytorch-argus

From source:
pip install -U git+https://github.com/lRomul/argus.git@dev

Example
Simple image classification example with create_model from pytorch-image-models:
from torch.utils.data import DataLoader
from torchvision.datasets import MNIST
from torchvision.transforms import Compose, ToTensor, Normalize

import timm

import argus
from argus.callbacks import MonitorCheckpoint, EarlyStopping, ReduceLROnPlateau


def get_data_loaders(batch_size):
data_transform = Compose([ToTensor(), Normalize((0.1307,), (0.3081,))])
train_mnist_dataset = MNIST(download=True, root="mnist_data",
transform=data_transform, train=True)
val_mnist_dataset = MNIST(download=False, root="mnist_data",
transform=data_transform, train=False)
train_loader = DataLoader(train_mnist_dataset,
batch_size=batch_size, shuffle=True)
val_loader = DataLoader(val_mnist_dataset,
batch_size=batch_size * 2, shuffle=False)
return train_loader, val_loader


class TimmModel(argus.Model):
nn_module = timm.create_model


if __name__ == "__main__":
train_loader, val_loader = get_data_loaders(batch_size=256)

params = {
'nn_module': {
'model_name': 'tf_efficientnet_b0_ns',
'pretrained': False,
'num_classes': 10,
'in_chans': 1,
'drop_rate': 0.2,
'drop_path_rate': 0.2
},
'optimizer': ('Adam', {'lr': 0.01}),
'loss': 'CrossEntropyLoss',
'device': 'cuda'
}

model = TimmModel(params)

callbacks = [
MonitorCheckpoint(dir_path='mnist', monitor='val_accuracy', max_saves=3),
EarlyStopping(monitor='val_accuracy', patience=9),
ReduceLROnPlateau(monitor='val_accuracy', factor=0.5, patience=3)
]

model.fit(train_loader,
val_loader=val_loader,
num_epochs=50,
metrics=['accuracy'],
callbacks=callbacks,
metrics_on_train=True)

More examples you can find here.
Additional guides on how to customize and use argus component can be found in Guides section.
Why this name, Argus?
The library name is a reference to a planet from World of Warcraft.
Argus is the original homeworld of the eredar (a race of supremely talented magic-wielders), now located within the Twisting Nether.
It was once described as a utopian world whose inhabitants were both vastly intelligent and highly gifted in magic.
It has since been twisted by demonic, chaotic energies and became the stronghold and homeworld of the Burning Legion.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.