【问题标题】:AttributeError: 'Model' object has no attribute '_output_tensor_cache'AttributeError: \'Model\' 对象没有属性 \'_output_tensor_cache\'
【发布时间】:2022-11-14 14:41:37
【问题描述】:
import keras
from keras.layers import Input, Dense
from keras.models import Model
from keras_adamw import AdamW

mlp = Model([
        Dense(10, activation='relu', input_shape=trainX_scaled.shape), #input shape
        Dense(10,  activation='relu'),  #Hiddin layer
        Dense(10, activation='relu') #output layer
])

optimizer = AdamW(lr=0.001,model=mlp)
mlp.compile(optimizer, loss='sparse_categorical_crossentropy', metrics=['accuracy'])
history = mlp.fit(trainX_scaled, train_y, epochs=500, validation_data=(valX_scaled, val_y), batch_size=1)

错误是

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-66-46d3a15c03c4> in <module>()
     19 optimizer = AdamW(lr=0.001,model=mlp)
     20 mlp.compile(optimizer, loss='sparse_categorical_crossentropy', metrics=['accuracy'])
---> 21 history = mlp.fit(trainX_scaled, train_y, epochs=500, validation_data=(valX_scaled, val_y), batch_size=1)

3 frames
/usr/local/lib/python3.7/dist-packages/keras/engine/network.py in call(self, inputs, mask)
    578         cache_key = object_list_uid(inputs)
    579         cache_key += '_' + object_list_uid(masks)
--> 580         if cache_key in self._output_tensor_cache:
    581             return self._output_tensor_cache[cache_key]
    582         else:

AttributeError: 'Model' object has no attribute '_output_tensor_cache'

运行model.fit 时出现错误。

【问题讨论】:

    标签: python machine-learning keras mlp


    【解决方案1】:

    您在系统中安装了哪个 tensorflow 版本?请从tensorflow.keras 导入keras 库并重新执行上述代码。

    from tensorflow.keras.layers import Input, Dense
    from tensorflow.keras.models import Model
    

    AdamW api 是 Tensorflow Addons 包的一部分。要导入AdamW 优化器,您需要使用以下代码:

    !pip install tensorflow-addons
    import tensorflow_addons as tfa
    from tensorflow_addons.optimizers import AdamW
    

    或者可以简单地使用Adam 优化器而不是使用Adamw,如下所示:

    from tensorflow.keras.optimizers import Adam
    

    让我们知道问题是否仍然存在。谢谢你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-28
      • 1970-01-01
      • 1970-01-01
      • 2013-12-25
      • 2012-12-01
      • 2021-04-19
      • 2021-11-22
      • 1970-01-01
      相关资源
      最近更新 更多