无法从 'keras.layers' 导入名称 'Deconvolution2D'

cannot import name 'Deconvolution2D' from 'keras.layers'

我的 keras 代码抛出这个错误:

2021-03-01 08:31:47.267964: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found 2021-03-01 08:31:47.272086: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine. Traceback (most recent call last): File "main.py", line 1, in from train import Train File "D:\Github\tutorials_1_residual_network-master\train.py", line 20, in from network_model import NetworkModel File "D:\Github\tutorials_1_residual_network-master\network_model.py", line 9, in from keras.layers import Dense, MaxPooling2D, Conv2D, Flatten,
ImportError: cannot import name 'Deconvolution2D' from 'keras.layers' (D:\Github\tutorials_1_residual_network-master\venv\lib\site-packages\keras\layers_init_.py)

keras好像已经不用Deconvolution2D了。我应该改用什么?

你可以用这个

https://www.tensorflow.org/api_docs/python/tf/keras/layers/Conv2DTranspose

转置卷积层(有时称为反卷积)。

tf.keras.layers.Conv2DTranspose(
    filters, kernel_size, strides=(1, 1), padding='valid',
    output_padding=None, data_format=None, dilation_rate=(1, 1), activation=None,
    use_bias=True, kernel_initializer='glorot_uniform',
    bias_initializer='zeros', kernel_regularizer=None,
    bias_regularizer=None, activity_regularizer=None, kernel_constraint=None,
    bias_constraint=None, **kwargs
)

略有不同,但也检查 upsampling2d,https://www.tensorflow.org/api_docs/python/tf/keras/layers/UpSampling2D