如何解决TensorFlow-ValueError:形状3,1和4,3不兼容
我是DL的新手,适合我的模型时遇到了这个错误
ValueError: Shapes (3,1) and (4,3) are incompatible
数据集:
Features: [0.22222222 0.625 0.06779661 0.04166667],Target: [1 0 0]
Features: [0.16666667 0.41666667 0.06779661 0.04166667],Target: [1 0 0]
Features: [0.11111111 0.5 0.05084746 0.04166667],Target: [1 0 0]
Features: [0.08333333 0.45833333 0.08474576 0.04166667],Target: [1 0 0]
Features: [0.19444444 0.66666667 0.06779661 0.04166667],Target: [1 0 0]
型号:
def build_fc_model():
fc_model = tf.keras.Sequential([
tf.keras.layers.Dense(4,activation=tf.nn.softmax),tf.keras.layers.Dense(4,tf.keras.layers.Dense(3,])
return fc_model```
model.fit错误
model = build_fc_model()
model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=1e-1),loss='categorical_crossentropy',metrics=['accuracy'])
BATCH_SIZE = 10
EPOCHS = 5
model.fit(dataset,batch_size=BATCH_SIZE,epochs=EPOCHS)
感谢您的帮助
解决方法
在您的代码中 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(3,])
return fc_model
data = np.array([[0.22222222,0.625,0.06779661,0.04166667],[0.16666667,0.41666667,[0.11111111,0.5,0.05084746,[0.08333333,0.45833333,0.08474576,[0.19444444,0.66666667,0.04166667]])
target = np.array([[1,0],[1,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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。