Description
class generatorend(tf.keras.Model): def __init__(self): super().__init__(name="generator_ender") self.conv1 = tf.keras.layers.Conv2D(480, kernel_size = [3,3], strides =[2,2],activation=tfc.GDN(inverse = True,name="gdn1")) self.conv2 = tf.keras.layers.Conv2DTranspose(480, kernel_size = [3,3], strides =[2,2],activation=tfc.GDN(inverse = True, name="gdn1")) self.acti
= tf.keras.layers.Activation(tf.keras.activations.tanh)
def call(self, inputs):
x = self.conv1(inputs)
x = self.conv2(x)
x = self.acti(x)
return x`
model = generatorend() dummy_input = tf.random.normal([1, 16,24, 8]) model(dummy_input) # This will build the model model.save('test_model') # Now try to save it
`
Traceback (most recent call last):
File "test.py", line 399, in
model.save('test_model') # Now try to save it
File "/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py", line 70, in error_handler
raise e.with_traceback(filtered_tb) from None
File "/usr/lib/python3.8/contextlib.py", line 120, in exit
next(self.gen)
File "/usr/local/lib/python3.8/dist-packages/tensorflow_compression/python/layers/gdn.py", line 381, in call
if not callable(self.alpha_parameter) and self.alpha == 1 and self.rectify:
tensorflow.python.framework.errors_impl.OperatorNotAllowedInGraphError: Exception encountered when calling layer 'gdn1' (type GDN).
Using a symbolic tf.Tensor
as a Python bool
is not allowed: AutoGraph did convert this function. This might indicate you are trying to use an unsupported feature.
Call arguments received by layer 'gdn1' (type GDN):
• args=('tf.Tensor(shape=(None, None, None, 480), dtype=float32)',)
• kwargs=<class 'inspect._empty'>`
tested with simple code:
however, encountered with :
It is clear that all params stays the same and the only difference is conv2d and conv2dTranspose. Thus i think it may be a bug