1 回答

TA貢獻1859條經驗 獲得超6個贊
是 6,因為編碼目標在 [1,5] 中,但 keras sparse_cat 從 0 創建單熱標簽,因此它創建了另一個無用標簽 (0)。
使用Dense(5, activation='softmax')你可以簡單地做 y-1 以獲得 [0,4] 中的標簽并讓它們從 0 開始
在 colab 鏈接之后,您可以更改:
model = tf.keras.Sequential([
tf.keras.layers.Embedding(vocab_size, embedding_dim, input_length=max_length),
tf.keras.layers.GlobalAveragePooling1D(),
tf.keras.layers.Dense(24, activation='relu'),
tf.keras.layers.Dense(5, activation='softmax')
])
model.compile(loss='sparse_categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
history = model.fit(train_padded, training_label_seq-1, epochs=num_epochs, validation_data=(validation_padded, validation_label_seq-1), verbose=2)
添加回答
舉報