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.
- 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.
- 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.