1 回答

TA贡献1862条经验 获得超6个赞
在您的代码中,build_fc_model中缺少InputLayer,因此请检查一下:
import tensorflow as tf
import numpy as np
def build_fc_model():
fc_model = tf.keras.Sequential([
tf.keras.layers.InputLayer((4,)),
tf.keras.layers.Dense(4, activation=tf.nn.softmax),
tf.keras.layers.Dense(4, activation=tf.nn.softmax),
tf.keras.layers.Dense(3, activation=tf.nn.softmax),
])
return fc_model
data = np.array([[0.22222222, 0.625, 0.06779661, 0.04166667],
[0.16666667, 0.41666667, 0.06779661, 0.04166667],
[0.11111111, 0.5 , 0.05084746, 0.04166667],
[0.08333333, 0.45833333, 0.08474576, 0.04166667],
[0.19444444, 0.66666667, 0.06779661, 0.04166667]])
target = np.array([[1, 0 ,0],
[1, 0 ,0],
[1, 0 ,0],
[1, 0 ,0],
[1, 0 ,0]])
model = build_fc_model()
model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=1e-1), loss='categorical_crossentropy', metrics=['accuracy'])
BATCH_SIZE = 1
EPOCHS = 5
model.fit(data, target, batch_size=BATCH_SIZE, epochs=EPOCHS)
输出:
Epoch 1/5
5/5 [==============================] - 0s 991us/step - loss: 0.8198 - accuracy: 0.6000
Epoch 2/5
5/5 [==============================] - 0s 603us/step - loss: 0.1590 - accuracy: 1.0000
Epoch 3/5
5/5 [==============================] - 0s 593us/step - loss: 0.0372 - accuracy: 1.0000
Epoch 4/5
5/5 [==============================] - 0s 597us/step - loss: 0.0131 - accuracy: 1.0000
Epoch 5/5
5/5 [==============================] - 0s 680us/step - loss: 0.0064 - accuracy: 1.0000
添加回答
举报