Skip to main content

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

Metadata

Release files for batorch 1.0.55

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for batorch 1.0.55
File Size Uploaded
batorch-1.0.55.tar.gz 335.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for batorch 1.0.55
File Interpreter ABI Platform
batorch-1.0.55-py3-none-any.whl Python 3 none any Details

Total release size: 687.2 kB

Release files / batorch-1.0.55.tar.gz

Download URL batorch-1.0.55.tar.gz
Size 335.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4481edec88ff064b6dc15542f4b2296beaa3f0c12a4f640ca5c5e018343bc9de
BLAKE2b-256 checksum
How to use checksums
70a6fd7809afd13e18083d5f9314bd3a25be600f00fe846e2c1b064d8c04d34a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.4

Release files / batorch-1.0.55-py3-none-any.whl

Download URL batorch-1.0.55-py3-none-any.whl
Size 351.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
14375425a133c7699b844f599f4cc9b9604a64bdd7d92e3138914c3710f639e1
BLAKE2b-256 checksum
How to use checksums
1f01b9db5d328e2eae3fe71a7ac145400ce53d09b47889406dc47fbca08a164e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.4
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page