conV2D transpose is not converted to native nengo object

t: Layer type <class ‘tensorflow.python.keras.layers.convolutional.Conv2DTranspose’> does not have a registered converter. Unable to convert layer conv2d_transpose to native Nengo objects; set allow_fallback=True if you would like to use a TensorNode instead, or consider registering a custom LayerConverter for this layer type.

Iam getting this error whenever i try to train a gan and convert it into Spiking one using Nengo_dl converter

Hello @vishwak1002, Nengo-DL 3.2.0 most probably doesn’t support a converter for Conv2DTranspose, as I couldn’t find it here. I remember this topic which had some discussions around Conv1DTranspose. See if that helps.

Hi @vishwak1002, as @zerone mentioned, the NengoDL converter doesn’t have registered converters for all of the Keras objects. However, there are a few ways to address this issue.

  1. You can set allow_fallback=True when instantiating the NengoDL converter. E.g.,
converter = nengo_dl.Converter(model, allow_fallback=True)

What this will do is tell the converter to use a nengo_dl.TensorNode to implement any Keras objects it encounters that does not have a registered converter.

  1. As @zerone alluded to, you can also create and register your own converter class for the Conv2DTranspose layer. You can read more about how to do this here!

The script I posted in this reply will be helpful / necessary for writing the converter class.