У меня есть следующая модель Keras:
input_list = []
output_list = []
for feature in feature_dict:
tensor_len = feature_dict[feature]
raw_input = tf.keras.Input(batch_size=self._args.batch_size, shape=(tensor_len,), sparse=False,
name=feature)
cur_output = tf.keras.layers.Dense(units=2,
kernel_initializer=tf.keras.initializers.TruncatedNormal(
stddev=1.0 / math.sqrt(float(tensor_len))),
activity_regularizer=tf.keras.regularizers.l2(l2_reg_weight))(raw_input)
input_list.append(raw_input)
output_list.append(cur_output)
logits = tf.keras.layers.add(output_list)
probabilities = tf.keras.layers.Softmax(name="label")(logits)
model = tf.keras.Model(inputs=input_list, outputs=probabilities)
model.compile(optimizer=tf.keras.optimizers.Adagrad(learning_rate=hparams[LEARNING_RATE]),
loss="mse",
metrics=[tf.keras.metrics.AUC()]) # Issue with metrics
Однако, когда я запускаю
model.fit(...,...)
Проблема возникает, когда я добавил "tf.keras.metrics.AU C ()». Без этого модель работает просто отлично. С AU C он жалуется на следующее сообщение об ошибке:
ValueError: Shapes (None, 2) and (2, 1) are incompatible
Пара вопросов: 1. Есть ли какая-либо очевидная ошибка, что я делаю неправильно с моей моделью, чтобы вызвать это? 2. Какова возможная причина этой проблемы, и есть ли хорошие предложения, указывающие, где ее искать?