0

我正在处理自己的数据集并尝试使用 Keras 调谐器微调参数。我正在使用基本的模型构建功能:

from tensorflow.keras import layers
from keras_tuner import RandomSearch

def build_model(hp):
    model = keras.Sequential()
    model.add(layers.Flatten())
    model.add(
        layers.Dense(
            units=hp.Int("units", min_value=32, max_value=512, step=32),
            activation="relu",
        )
    )
    model.add(layers.Dense(10, activation="softmax"))
    model.compile(
        optimizer=keras.optimizers.Adam(
            hp.Choice("learning_rate", values=[1e-2, 1e-3, 1e-4])
        ),
        loss="categorical_crossentropy",
        metrics=["accuracy"],
    )
    return model

在显示搜索空间摘要并尝试从以下代码语句中搜索最佳值之后:

tuner.search(X_train, y_train, epochs=15, validation_data=(X_test, y_test))

出现以下错误:

logits 和 labels 必须具有相同的第一维,得到 logits 形状 [32,10] 和标签形状 [6144]

我试图将损失更改为'sparse_categorical_crossentropy''categorical_crossentropy'但没有奏效。

我的数据集形状如下:

x_test (201, 16)
y_test (201, 16, 12)
X_train (1803, 16)
y_train (1803, 16, 12)
x_val (500, 16)
y_val (500, 16, 12)
4

0 回答 0