torchplus
Introduction
torchplus is a package affiliated to project PyCTLib. We encapsulated a new type on top of pytorch tensers, which we call it torchplus.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. All original torch functions can be used for torchplus tensors.
Special features for
torchplusare still under development. If unknown errors pop our, please use traditionaltorchcode 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 torchplus as tp
>>> import torch.nn as nn
>>> tp.set_autodevice(False)
>>> tp.manual_seed(0)
>>> t = tp.randn([3000], 400, requires_grad=True)
>>> LP = nn.Linear(400, 400)
>>> a = LP(t)
>>> a.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=torchplus.Size([3000], 400))
torchplus has all of following appealing features:
- Auto assign the tensors to available
GPUdevice by default. - Use
[nbatch]or{nchannel}to specify the batch and channel dimensions. i.e.tp.rand([4], {2}, 20, 30)returns a tensor of $20 imes30$ matrices of channel 2 with batch size 4. One may also usetensor.batch_dimensionto access to batch dimension, channel dimension can be operated likewise. - 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. - The tensor object is compatible with all
torchfunctions.
Installation
This package can be installed by pip install torchplus or moving the source code to the directory of python libraries (the source code can be downloaded on github or PyPI).
pip install torchplus
Usages
Not available yet, one may check the codes for usages.
Acknowledgment
@Yiteng Zhang, Yuncheng Zhou: Developers
Metadata
Release files for torchplus 0.2.107
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| torchplus-0.2.107-py3-none-any.whl | Python 3 | none | any | Details |
Release files / torchplus-0.2.107-py3-none-any.whl
| Download URL | torchplus-0.2.107-py3-none-any.whl |
|---|---|
| Size | 274.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c171f8b1b73f539b959e8350b16461b58232bc7748d0d0f803a7839a856b97a7
|
|
BLAKE2b-256 checksum How to use checksums |
2d42d5221f335a06786a663812c8f5c68823519fade3c305a5a82f550957cb59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0.post20200714 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3
|