所以這是我要運行的代碼
X_train = data1/255.0
from sklearn.preprocessing import LabelBinarizer
lb = LabelBinarizer()
trainY =lb.fit_transform(label)
from tensorflow.keras.models import Model
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import AveragePooling2D
from tensorflow.keras.layers import MaxPooling2D
from tensorflow.keras.layers import Conv2D
from tensorflow.keras.layers import Activation
from tensorflow.keras.layers import Flatten
from tensorflow.keras.layers import Input
from tensorflow.keras.layers import Denseenter
from tensorflow.keras.layers import concatenate
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.optimizers import SGD
Model = Sequential()
shape = (100,100, 1)
Model.add(Conv2D(32,(3,3),padding="same",input_shape=shape))
Model.add(Activation("relu"))
Model.add(Conv2D(32,(3,3), padding="same"))
Model.add(Activation("relu"))
Model.add(MaxPooling2D(pool_size=(2,2)))
Model.add(Conv2D(64,(3,3), padding="same"))
Model.add(Activation("relu"))
Model.add(MaxPooling2D(pool_size=(2,2)))
Model.add(Flatten())
Model.add(Dense(512))
Model.add(Activation("relu"))
Model.add(Dense(2))
Model.add(Activation("softmax"))
Model.summary()
Model.compile(loss='categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
print("start training")
Model.fit(X_train,trainY,batch_size=5,epochs=10)
但我收到此錯誤:target.shape.assert_is_compatible_with(output.shape)
ValueError:形狀 (None, 3) 和 (None, 2) 不兼容
uj5u.com熱心網友回復:
Shape (None, 3) 屬于trainY來自LabelBinarizer.
Shape (None, 2) 是模型輸出的形狀。
損失函式需要兩個形狀相同的陣列來計算誤差。正如 ValueError 所述,這兩個陣列的形狀不同。
考慮檢查二值化器的輸出形狀或更改網路最后一層中的神經元數量以匹配資料集標簽列中唯一值的數量。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/516935.html
下一篇:測驗集的評估指標能否優于訓練集?
