问题描述
我应该如何修复以下错误?
ImportError: cannot import name 'Deconvolution3D' from 'keras.layers' (/home/mona/venv/fall/lib/python3.8/site-packages/keras/layers/__init__.py)
我明白了:
---------------------------------------------------------------------------
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)
我有:
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
解决方法
实际上,在 TensorFlow 2 上,Deconvolution3D 已重命名为 Conv3DTranspose。
所以你可以使用:
from tensorflow.keras.layers import Conv3DTranspose
所以我们现在有了一个清洁器:
- Conv2D 及其“反向”Conv2DTranspose
- Conv3D 及其“反向”Conv3DTranspose
试试这个
import tensorflow as tf
from tensorflow.keras.layers import Deconvolution3D