使用Keras model.fit()函数没有控制台输出

2024-10-01 02:23:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我将跟随this tutorial使用带有Keras和TensorFlow的转换器执行时间序列分类。我正在使用Windows10和PydevEclipse插件。不幸的是,每次运行以下代码时,我的程序都会停止,控制台输出完全为空:

n_classes = len(np.unique(y_train))
input_shape = np.array(x_trainScaled).shape[0:]

model = build_model(n_classes,input_shape,head_size=256,num_heads=4,ff_dim=4,num_transformer_blocks=4,mlp_units=[128],mlp_dropout=0.4,dropout=0.25)

model.compile(loss="sparse_categorical_crossentropy",optimizer=keras.optimizers.Adam(learning_rate=1e-4),metrics=["sparse_categorical_accuracy"])
print(model.summary())

callbacks = [keras.callbacks.EarlyStopping(patience=100, restore_best_weights=True)]

model.fit(x_trainScaled,y_train,validation_split=0.2,epochs=200,batch_size=64,callbacks=callbacks)

pathToModel = 'my/path/to/model/'
model.save(pathToModel)

甚至之前的警告或打印声明都被完全删除了,我不知道发生了什么。如果我注释掉model.fit(…)语句,程序将终止并崩溃,并显示由model.predict(…)调用导致的错误消息

非常感谢您的帮助


Tags: 程序inputsizemodelnptrainnumclasses
1条回答
网友
1楼 · 发布于 2024-10-01 02:23:18

解决方案是首先将输入数据和标签转换为numpy数组。因此,按如下方式调用fit函数:

model.fit(np.array(x_trainScaled),np.array(y_train),validation_split=0.2,epochs=200,batch_size=64,callbacks=callbacks)

对我来说效果非常好,而不是:

model.fit(x_trainScaled,y_train,validation_split=0.2,epochs=200,batch_size=64,callbacks=callbacks)

相关问题 更多 >