Comments (5)
remove dype or change it to tf.complex64
eg:
import tensorflow as tf
tf. device("gpu:1")
model = tf.keras.models.Sequential()
model.add(complex_layers.ComplexInput(input_shape=input_shape))
model.add(complex_layers.ComplexConv2D(32, (2, 2), activation='cart_leaky_relu', padding='same'))
model.add(complex_layers.ComplexMaxPooling2D((2, 2)))
model.add(complex_layers.ComplexConv2D(64, (2, 2), activation='cart_leaky_relu', padding='same'))
model.add(complex_layers.ComplexMaxPooling2D((2, 2)))
model.add(complex_layers.ComplexConv2D(128, (2, 2), activation='cart_leaky_relu', padding='same'))
model.add(complex_layers.ComplexMaxPooling2D((2, 2)))
model.add(complex_layers.ComplexConv2D(256, (2, 2), activation='cart_leaky_relu', padding='same'))
model.add(complex_layers.ComplexMaxPooling2D((2, 2)))
model.add(complex_layers.ComplexFlatten())
from cvnn.
@nipulseervi Thank you for your previous help. I've successfully removed the dtype and modified the activations to "cart_leaky_relu", it removed the warning. However, I'm wondering if this "cvnn" library other activation functions can handle complex numbers directly without considering the real and imaginary parts separately.
I've tried using activation functions like modrelu, crelu, and zrelu, but I keep receiving the following warning:
“WARNING:tensorflow:You are casting an input of type complex64 to an incompatible dtype float32. This will discard the imaginary part and may not be what you intended.”
I would like to know if these activations can handle complex numbers directly, preserving both the real and imaginary parts. I would appreciate any guidance on how to use these models.
from cvnn.
This solution might not be efficient but it solved the error for 'modrelu'.
Within cvnn/activations.py change the function modrelu to:
"
def modrelu(z: Tensor, b: float = 1., c: float = 1e-3) -> Tensor:
abs_z = tf.math.abs(z)
mod_relu = tf.keras.activations.relu(abs_z + b)
return tf.complex(mod_relu * tf.math.real(z) / (abs_z + c), mod_relu * tf.math.imag(z) / (abs_z + c))
"
from cvnn.
Sorry for my late reply.
This error was because of your line that uses 'relu'
activation function. Here you are using Tensorflow ReLU. Tensorflow is not prepared to deal with complex values so it cast it to float. My library then realizes this happens and because I cannot go to Tensorflow to change stuff I at least warn you about this. Please use only activation functions from cvnn toolbox or code an activation function yourself.
from cvnn.
Related Issues (20)
- I'm not getting complex valued output HOT 8
- CVNN API 3D layers HOT 6
- Error: Inputs to a layer should be tensors. Got: <cvnn.layers.core.ComplexInput object at ...> HOT 1
- ValueError: Unknown loss function:ComplexAverageCrossEntropy HOT 3
- Complex data type error with TensorFlow Functional API HOT 2
- Model subclassing compatibility HOT 4
- load CVNN model with succes HOT 1
- Implement complex-valued constraint parameter HOT 7
- Terrible slow caused by ComplexBatchNormalization() HOT 4
- Custom Activation Functions with tensorflow 2.8.2 HOT 1
- Pytorch implementation HOT 3
- ComplexConv2D with bias vector slows down training a lot HOT 7
- ModuleNotFoundError: No module named 'cvnn.montecarlo' HOT 1
- Unknown activation function 'cart_relu': Please ensure this object is passed to 'custom objects' argument HOT 5
- Cant find Complex Softmax which takes complex input and output complex output HOT 1
- Best Activation Function in Complex Domain HOT 1
- using this function layers.complex_input(shape=input_shape + (3,)) gives off dtype error HOT 2
- Problem with loading complex valued model HOT 2
- Equivalent Data PreProcessing for complex-valued input
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cvnn.