Skip to main content

A set of interfaces to simplify the usage of PyTorch

Project description

# torchpack

Torchpack is a set of interfaces to simplify the usage of PyTorch.

Documentation is ongoing.


## Example

```python
######################## file1: config.py #######################
work_dir = './demo' # dir to save log file and checkpoints
optimizer = dict(
algorithm='SGD', args=dict(lr=0.001, momentum=0.9, weight_decay=5e-4))
workflow = [('train', 2), ('val', 1)] # train 2 epochs and then validate 1 epochs, iteratively
max_epoch = 16
lr_policy = dict(policy='step', step=12) # decrese learning rate by 10 every 12 epochs
checkpoint_cfg = dict(interval=1) # save checkpoint at every epoch
log_cfg = dict(interval=50) # log at every 50 iterations

######################### file2: main.py ########################
import torch
from torchpack import Config, Runner
from collections import OrderedDict

# define how to process a batch and return a dict
def batch_processor(model, data, train_mode):
img, label = data
volatile = False if train_mode else True
img_var = torch.autograd.Variable(img, volatile=volatile)
label_var = torch.autograd.Variable(label, requires_grad=False)
pred = model(img)
loss = F.cross_entropy(pred, label_var)
accuracy = get_accuracy(pred, label_var)
log_vars = OrderedDict()
log_vars['loss'] = loss.data[0]
log_vars['accuracy'] = accuracy.data[0]
outputs = dict(
loss=loss, log_vars=log_vars, num_samples=img.size(0))
return outputs

cfg = Config.from_file('config.py') # or config.yaml/config.json
model = resnet18()
runner = Runner(model, cfg.optimizer, batch_processor, cfg.work_dir)
runner.register_default_hooks(cfg.lr_policy, cfg.checkpoint_cfg, cfg.log_cfg)

runner.run([train_loader, val_loader], cfg.workflow, cfg.max_epoch)
```

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

torchpack-0.0.3.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

torchpack-0.0.3-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file torchpack-0.0.3.tar.gz.

File metadata

  • Download URL: torchpack-0.0.3.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for torchpack-0.0.3.tar.gz
Algorithm Hash digest
SHA256 8f5fc11f991b65a99e72fa2d707c17269587ce1070ed5d630c41b75f0ffb12ac
MD5 fd4c89f858e51951392403695fe964cf
BLAKE2b-256 34a7ee12a70353f94d92a239d959ae199fa992643d8910a9714ac1353cbb9f1a

See more details on using hashes here.

File details

Details for the file torchpack-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for torchpack-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 83da03743fb4c647cdc1962916600de6a6ebbb9055e6ce9217c64550b48b3236
MD5 7744482d48bd196c06be3e164a2ca004
BLAKE2b-256 7a8e726f2b1cbb0a946d34ceb852c28d9660de670bdffaec07df7fc91a4f8323

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page