complexPyTorch
complexPyTorch copied to clipboard
A high-level toolbox for using complex valued neural networks in PyTorch
I've identified and fixed a small typo in the forward method of the ComplexDropout class in complexLayers.py/ComplexDropout method. This typo could potentially cause a runtime error.
 According to the discussion in the original article, the real and imaginary parts should be strictly positive or negative at the same time so that Crelu can satisfy the...

Hi, thank you for the nice library. There seems to be a small mistake in the complexPyTorch.complexLayers.ComplexDropout2d layer, which gives a device mismatch error (torch version 2.0.1+cu118): """ .... line...
from complexPyTorch.complexFunctions import complex_relu, complex_max_pool2d, complex_sigmoid ImportError: cannot import name 'complex_sigmoid' from 'complexPyTorch.complexFunctions' (/usr/local/lib/python3.10/dist-packages/complexPyTorch/complexFunctions.py)
Hi, 'I realized that the configuration is common for all input channels, is there any way to make a separate configuration for each channel? For example, change the padding size...
Similar to torch.nn.MSELoss(). I guess the function is pretty obvious as seen in https://github.com/pytorch/pytorch/issues/46642 ``` def complex_mse_loss(output, target): return (0.5*(output - target)**2).mean(dtype=torch.complex64) ```
[https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/native/Convolution.cpp#L812](https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/native/Convolution.cpp#L812) Complex Convolution conv(W, x, b) = conv(Wr, xr, br) - conv(Wi, xi, 0) + i(conv(Wi, xr, bi) + conv(Wr, xi, 0)) where W, x and b are all complex...
I would like to use this package with higher precision, so I have added the ability to pass dtypes. I went through all the functions and classes in the package....