AttributeError: 对象没有属性 ‘_output_tensor_cache’

我正在尝试基于烂番茄数据集进行情感分析分类器的开发。我遇到了这个错误:

AttributeError: ‘RNN’ 对象没有属性 ‘_output_tensor_cache’

遗憾的是,到处都找不到帮助。我甚至不知道该从哪里开始查找。

import pandas as pdfrom sklearn.model_selection import train_test_splitfrom tensorflow import kerasfrom keras import Modelfrom tensorflow.keras.layers import LSTM, Embedding, Denseimport osos.chdir('/home/nicolas/Documents/datasets')df = pd.read_csv('rotten_tomatoes_reviews.csv', nrows=50_000)df = df.loc[df.Review.str.len() >= 3]array = df.Review.valuestarget = df.Freshness.valuestokenizer = keras.preprocessing.text.Tokenizer(num_words=3_000)tokenizer.fit_on_texts(array)vector = tokenizer.texts_to_sequences(array)padded = keras.preprocessing.sequence.pad_sequences(vector, maxlen=40)X_train, X_test, y_train, y_test = train_test_split(padded, target, test_size=2e-1)class RNN(Model):    def __init__(self):        super(RNN, self).__init__()        self.rnn1 = LSTM(8, return_sequences=True, return_state=True)        self.rnn2 = LSTM(8)        self.emb1 = Embedding(input_dim=3_000, output_dim=50, input_length=40)        self.flc1 = Dense(2)    def __call__(self, inputs, training=None, mask=None):        x = self.emb1(inputs)        x = self.rnn1(x)        x = self.rnn2(x)        out = self.flc1(x)        print(out.shape)        return outdef main():    model = RNN()    model.compile(optimizer=keras.optimizers.Adam(0.001),                  loss=keras.losses.BinaryCrossentropy(from_logits=True),                  metrics=['accuracy'])    model.fit(X_train, y_train, batch_size=16, epochs=10,              validation_data=[X_test, y_test], verbose=1)    scores = model.evaluate(X_test, y_test, batch_size=16, verbose=1)    print("最终测试损失和准确率:", scores)if __name__ == '__main__':    main()

回答:

这是因为你混合了原生 Keras 实现和 TensorFlow 实现的 Keras(即 tf.keras):

from tensorflow import kerasfrom keras import Model     # 错误!不要混合使用 keras 和 tf.keras!from tensorflow.keras.layers import LSTM, Embedding, Dense

绝不应该这样做。通过使用 from tensorflow.keras import Model 来修正 Model 类的导入。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注