A fugacious python class for PyTorch-ComplexTensor
Project description
pytorch_complex
A temporal python class for PyTorch-ComplexTensor
What is this?
A Python class to perform as ComplexTensor in PyTorch: Nothing except for the following,
class ComplexTensor:
def __init__(self, ...):
self.real = torch.Tensor(...)
self.imag = torch.Tensor(...)
Why?
PyTorch is great DNN Python library, except that it doesn't support ComplexTensor in Python level.
https://github.com/pytorch/pytorch/issues/755
I'm looking forward to the completion, but I need ComplexTensor for now.
I created this cheap module for the temporal replacement of it. Thus, I'll throw away this project as soon as ComplexTensor is completely supported!
Requirements
Python>=3.6
PyTorch>=1.0
Install
pip install torch_complex
How to use
Basic mathematical operation
import numpy as np
from torch_complex.tensor import ComplexTensor
real = np.random.randn(3, 10, 10)
imag = np.random.randn(3, 10, 10)
x = ComplexTensor(real, imag)
x.numpy()
x + x
x * x
x - x
x / x
x ** 1.5
x @ x # Batch-matmul
x.conj()
x.inverse() # Batch-inverse
All are implemented with combinations of computation of RealTensor in python level, thus the speed is not good enough.
Functional
import torch_complex.functional as F
F.cat([x, x])
F.stack([x, x])
F.matmul(x, x) # Same as x @ x
F.einsum('bij,bjk,bkl->bil', [x, x, x])
For DNN
Almost all methods that torch.Tensor has are implemented.
x.cuda()
x.cpu()
(x + x).sum().backward()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file torch_complex-0.4.4.tar.gz.
File metadata
- Download URL: torch_complex-0.4.4.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4153fd6b24a0bad689e6f193bfbd00f38283b1890d808bef684ddc6d1f63fd3f
|
|
| MD5 |
d20a747d070a96d2e62d668f4a01bbf0
|
|
| BLAKE2b-256 |
bf2b17cb15a383cf2135330371e034d13b9043dc6d8bd07c871b5aa3064fbed1
|
File details
Details for the file torch_complex-0.4.4-py3-none-any.whl.
File metadata
- Download URL: torch_complex-0.4.4-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ab4ecd4f3a16e3adb70a7f7cd2e769a9dfd07d7a8e27d04ff9c621ebbe34b13
|
|
| MD5 |
b3e042949ef35ccf1ca972d897d3d517
|
|
| BLAKE2b-256 |
f4c59b4d756a7ada951e9b17dcc636f98ed1073c737ae809b150ef408afb6298
|