首页 > 解决方案 > 矩阵大小不兼容:In[0]: [32,97], In[1]: [121,80] [[{{node dense_46/Relu}}]]

问题描述

关于我的输入数据的一些信息 我有一段代码如下:

# Test/ train 
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(aki_pos, aki_death, test_size=0.20, random_state=42)


# Create model
model = Sequential()
model.add(Dense(80, input_dim=97 , activation = 'relu'))
model.add(Dense(60, activation = 'relu'))
model.add(Dense(40, activation = 'relu'))
model.add(Dense(20, activation = 'relu'))
model.add(Dense(1, activation = 'sigmoid'))

# Compile model
model.compile(loss = 'binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# checkpoint
# checkpoint
from keras.callbacks import ModelCheckpoint
filepath="weights.best.hdf5"
checkpoint = ModelCheckpoint(filepath, monitor='val_acc', verbose=1, save_best_only=True, mode='max')
callbacks_list = [checkpoint]

model.fit(X_train, y_train, batch_size=20, nb_epoch=150, verbose=1, callbacks=callbacks_list, validation_data=(X_test, y_test), shuffle=True)

# Load model 
model.load_weights("weights.best.hdf5")

# estimate accuracy on test data set using loaded weights
scores = model.evaluate(X_test, y_test, verbose=0)
print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))

因此,当我创建、编译和加载模型时一切都很好,但是当我估计测试数据的准确度得分时出现错误,如错误所示:

"Matrix size-incompatible: In[0]: [32,97], In[1]: [121,80]
     [[{{node dense_46/Relu}}]]"

我是 ML 新手,请帮我解决这个问题!

标签: pythonmachine-learningmatrixkeras

解决方案


推荐阅读