Tensorflow Keras图层关键字不理解
尽管论坛上有几次讲座,我还是无法解决我的问题。为什么我的代码返回:Tensorflow Keras图层关键字不理解,tensorflow,keras,layer,Tensorflow,Keras,Layer,尽管论坛上有几次讲座,我还是无法解决我的问题。为什么我的代码返回: --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-56-bd4a70a33726> in <module>() ----&g
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-56-bd4a70a33726> in <module>()
----> 1 dd_model = tf.keras.models.load_model("/content/drive/MyDrive/Colab/project/liver/firts_model.h5")
16 frames
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/utils/generic_utils.py in validate_kwargs(kwargs, allowed_kwargs, error_message)
806 for kwarg in kwargs:
807 if kwarg not in allowed_kwargs:
--> 808 raise TypeError(error_message, kwarg)
809
810
TypeError: ('Keyword argument not understood:', 'output_shape')
属性“out\u shape”似乎不正确,而其他属性(过滤器、步幅)则很好。问题在于
\uuuuuu init\uuuuuu
中,如果在get\u config
中使用变量名,则必须在\uuu init\uuuuuu
中为该参数使用完全相同的名称:
class Deconvolution3D(Layer):
def __init__(self, filters, kernel_size, strides, output_shape):
super().__init__()
self.filters = filters
self.strides = strides
self.kernel_size = kernel_size
self.output_shape_ = output_shape
这是因为您在
get\u config
中创建并返回的字典稍后将被反序列化,并且键将作为关键字参数传递,这意味着字典中的键必须与构造函数的\uuu init\uuu
函数参数名称匹配。您在谈论什么论坛?感谢您的帮助,但始终存在相同的问题:@rj17您需要澄清什么是“相同的问题”@rj17您可能需要重新培训您的模型,因为您的旧模型中包含以前的类定义。我如何在GColab上(重新培训)我的旧模型?我曾尝试重新启动环境和内核,但始终使用同一句话“TypeError:('Keyword argument not Understanding:','output_shape')”
class Deconvolution3D(Layer):
def __init__(self, filters, kernel_size, strides, output_shape):
super().__init__()
self.filters = filters
self.strides = strides
self.kernel_size = kernel_size
self.output_shape_ = output_shape