Skip to main content

'batorch' is an extension of package torch, for tensors with batch dimensions.

Project description

batorch

Introduction

batorch is a package affiliated to project PyCAMIA. We encapsulated a new type on top of torch tensers, which we call it batorch.Tensor. It has the same function as torch.Tensor, but it can automatically select the device it was on and provide batch or channel dimensions. Also, we try to provide more useful module for torch users to make deep learning to be implemented more easily. It relies python v3.6+ with torch v 1.7.0+. Note that torch v1.7.0 was released in 2020, and it is necessary for this package as the inheritance behavior for this version is different from previous versions. Most original torch functions should be able to be applied for batorch tensors.

Special features for batorch are still under development. If unknown errors pop our, please use traditional torch code to bypass it and meanwhile it would be very kind of you to let us know if anything is needed: please contact us by e-mail.

>>> import batorch as bt
>>> import batorch.nn as nn
>>> bt.turn_off_autodevice()
>>> bt.manual_seed(0)
<torch._C.Generator object at 0x1071b6730>
>>> t = bt.randn([3000], 400, requires_grad=True)
>>> LP = nn.Linear(400, 400)
>>> a = LP(t)
>>> a.sum().sum().backward()
>>> print(t.grad)
Tensor([[-0.2986,  0.0267,  0.9059,  ...,  0.4563, -0.1291,  0.5702],
        [-0.2986,  0.0267,  0.9059,  ...,  0.4563, -0.1291,  0.5702],
        [-0.2986,  0.0267,  0.9059,  ...,  0.4563, -0.1291,  0.5702],
        ...,
        [-0.2986,  0.0267,  0.9059,  ...,  0.4563, -0.1291,  0.5702],
        [-0.2986,  0.0267,  0.9059,  ...,  0.4563, -0.1291,  0.5702],
        [-0.2986,  0.0267,  0.9059,  ...,  0.4563, -0.1291,  0.5702]], shape=batorch.Size([3000], 400))

batorch has all of following appealing features:

  1. Auto assign the tensors to available GPU device by default.
  2. Use [nbatch] or {nchannel} to specify the batch and channel dimensions. i.e. tp.rand([4], {2}, 20, 30) returns a 2-channel feature tensor of $20\times30$ matrices with batch size 4. One may also use tensor.batch_dimension to access (or assign) batch dimension, channel dimension can be operated likewise. If you find it hard to remember the symbol, just remember brackets enclose paralleled items in matrices hence it represents the batch dimension for paralleled calculation; braces enclose equation systems which are highly related hence it represents the channel (or feature) dimension.
  3. Batch and channel dimension can help auto matching the sizes of two tensors in operations. For example, tensors of sizes (3, [2], 4) and (3, 4) can be automatically added together with axis of size 3 and 4 matched together. Some methods will also use this information. Sampling, for example, will take the batch dimension as priority.
  4. The tensor object is compatible with original torch functions.

Installation

This package can be installed by pip install batorch or moving the source code to the directory of python libraries (the source code can be downloaded on github or PyPI).

pip install batorch

Usages

Not available yet, one may check the codes for usages.

Acknowledgment

@ Yuncheng Zhou: Developer @ Yiteng Zhang: Important functions extraction

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

batorch-1.0.34.tar.gz (262.7 kB view details)

Uploaded Source

Built Distribution

batorch-1.0.34-py3-none-any.whl (284.2 kB view details)

Uploaded Python 3

File details

Details for the file batorch-1.0.34.tar.gz.

File metadata

  • Download URL: batorch-1.0.34.tar.gz
  • Upload date:
  • Size: 262.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.1

File hashes

Hashes for batorch-1.0.34.tar.gz
Algorithm Hash digest
SHA256 20d21ee43c4b5f508b20faf6fcfa20239580bd37085c99d9385a7d712f8be39f
MD5 0f212c5598cab9e7a4e6c6f07b4b9601
BLAKE2b-256 fca24c963dfe47b4af86a8da435c04ffc606d2bc68af54c0951ca4f38b732b69

See more details on using hashes here.

File details

Details for the file batorch-1.0.34-py3-none-any.whl.

File metadata

  • Download URL: batorch-1.0.34-py3-none-any.whl
  • Upload date:
  • Size: 284.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.1

File hashes

Hashes for batorch-1.0.34-py3-none-any.whl
Algorithm Hash digest
SHA256 78dae124ab2d28841a9792ccaae91f30908e41d0eabddab154aabc8ef367a0bc
MD5 35b28cd4918012100143d43f3a6a5eda
BLAKE2b-256 f18c968c1e9287ba4f4942a8af98969284c4e014cee29558171b407d955bb90b

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