### InvalidArgumentError: 断言失败: [条件 x == y 在元素级别上未成立:]

我正在尝试使用 LSTM 进行分类(用于事件预测),我有 320 个类别。数据集由时间序列数据组成,并使用以下代码创建和训练:

def create_dataset(dataset,y, look_back=1):   dataX, dataY = [], []   for i in range(len(dataset)-look_back):       a = dataset.iloc[i:(i+look_back)].to_numpy()       dataX.append(a)       dataY.append(y.iloc[i + look_back])   return np.array(dataX), np.array(dataY)   train_size = int(len(df1) * 0.7)   test_size = len(df1) - train_size   train, test = df1.iloc[0:train_size], df1.iloc[train_size:len(df1)]   print(train.shape, test.shape)   # reshape into X=t and Y=t+1   look_back = 10   #X, Y = create_dataset(dataset, look_back)   train.msg_code = to_categorical(train.msg_code)   test.msg_code = to_categorical(test.msg_code)   trainX, trainY = create_dataset(train,train.msg_code, look_back)   #print(trainX)   #print(trainY)   testX, testY = create_dataset(test,test.msg_code, look_back)   model = Sequential()   adam = Adam(lr=0.01)   #LSTM layers   chk = ModelCheckpoint('best_model13.pkl', monitor='val_accuracy', save_best_only=True, mode='max', verbose=1)   model.add(LSTM(128, return_sequences=True, input_shape=(trainX.shape[1],trainX.shape[2])))   #model.add(LSTM(200, return_sequences=True))   #model.add(LSTM(200, return_sequences=True))   #model.add(LSTM(200, return_sequences=True))   # model.add(LSTM(200, return_sequences=True))   #Dense layer   model.add(Dense(320, activation = 'relu'))   #outputlayer   model.add(Dense(320,activation='softmax'))   model.compile(loss='sparse_categorical_crossentropy', optimizer='adam', metrics=['accuracy'])   #model fitting   history = model.fit(trainX, trainY,validation_data=(testX,testY), epochs=500, batch_size=32,callbacks=[chk],shuffle=False)   model = load_model('best_model13.pkl')   scores = model.evaluate(testX, testY, verbose=0)

我得到了以下错误:

InvalidArgumentError: 断言失败: [条件 x == y 在元素级别上未成立:] [x (sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/Shape_1:0) = ] [32 1] [y (sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/strided_slice:0) = ] [32 10]     [[node sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/assert_equal_1/Assert/Assert (defined at <ipython-input-21-2a944dbcd5e3>:220) ]] [Op:__inference_train_function_22113]Function call stack:train_function

回答:

我在这里找到了答案 Tensorflow 2.0 InvalidArgumentError: 断言失败: [条件 x == y 在元素级别上未成立:]?

我在密集层之前添加了以下这行代码:

model.add(tf.keras.layers.Flatten())

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中创建了一个多类分类项目。该项目可以对…

发表回复

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