2

How should I fix the following error?

ImportError: cannot import name 'Deconvolution3D' from 'keras.layers' (/home/mona/venv/fall/lib/python3.8/site-packages/keras/layers/__init__.py)

I get:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-14-8ac95d90a6a0> in <module>
      4 import config
      5 from trainer.fusiondiffroigan import Params,Fusion_Diff_ROI_3DCAE_GAN3D
----> 6 from models import diff_ROI_C3D_AE_no_pool

~/research/code/GAN-fall/Fall-detection/mrfd/models.py in <module>
      5 from keras.layers import Activation, Dropout, Flatten, Dense, Input, Reshape, BatchNormalization
      6 # from keras.layers import Conv3DTranspose as Deconvolution3D
----> 7 from keras.layers import Deconvolution3D
      8 from keras.optimizers import SGD
      9 from keras import regularizers

ImportError: cannot import name 'Deconvolution3D' from 'keras.layers' (/home/mona/venv/fall/lib/python3.8/site-packages/keras/layers/__init__.py)

I have:

Python 3.8.5 (default, Jan 27 2021, 15:41:15) 
[GCC 9.3.0] on Linux

$ lsb_release -a
LSB Version:    core-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.2 LTS
Release:    20.04
Codename:   focal
Mona Jalal
  • 34,860
  • 64
  • 239
  • 408

2 Answers2

3

Actually, on TensorFlow 2, Deconvolution3D has been renamed Conv3DTranspose.
So you can use:

from tensorflow.keras.layers import Conv3DTranspose

So we now have a cleaner:

  • Conv2D and its "reversed" Conv2DTranspose
  • Conv3D and its "reversed" Conv3DTranspose
Francois Robert
  • 556
  • 10
  • 14
1

try this

import tensorflow as tf
from tensorflow.keras.layers import Deconvolution3D
Gerry P
  • 7,662
  • 3
  • 10
  • 20