Код: Выделить всё
def build(params: dict) -> keras.Model:
input_dim = 1
sequence_size = params["sequence_size"]
n_classes = params["n_classes"]
encoder_blocks = params["encoder_blocks"]
n_heads = params["encoder_heads"]
encolder_mlp = params["mlp_dim"]
conv_filters = params["conv_filters"]
encoder_dropout = params["encoder_dropout"]
mlp_dropout = params["mlp_dropout"]
learning_rate = params["learning_rate"]
inputs = keras.Input(shape=(sequence_size, input_dim), name="sequence_input")
mask_input = keras.Input(shape=(sequence_size, sequence_size), name="mask_input")
x = inputs + SinePositionEncoding()(inputs)
for _ in range(encoder_blocks):
x = transformer_encoder(x, head_size=sequence_size, num_heads=n_heads, con_filters=conv_filters, attention_mask=mask_input, dropout=encoder_dropout, seed=SEED)
x = layers.GlobalAveragePooling1D(data_format="channels_last")(x)
x = layers.Dense(encolder_mlp, activation="relu")(x)
x = layers.Dropout(mlp_dropout, seed=SEED)(x)
outputs = layers.Dense(n_classes, activation="softmax")(x)
model = keras.Model(inputs=[inputs, mask_input], outputs=outputs)
model.compile(
loss="categorical_crossentropy",
optimizer=keras.optimizers.Adam(learning_rate=learning_rate),
metrics=["categorical_accuracy", "f1_score"]
)
return model
Код: Выделить всё
ValueError: Data cardinality is ambiguous. Make sure all arrays contain the same number of samples.'x' sizes: 60, 577
'y' sizes: 60
dummy_mask shape = (577, 577, 1) < /p>
Я понятия не имею, почему это есть, предложения? < /p>
ps: я полностью осознаю, что вызов. /Код> Метод с данными поезда не имеет смысла. Я попытался сузить ошибку вниз. Сначала я догадался с моими тестовыми данными, но когда модель не может быть оценена на тех же данных, которые она была обучена, что -то другое должно быть отключено.
Подробнее здесь: https://stackoverflow.com/questions/794 ... raining-da