【发布时间】:2021-04-09 03:27:49
【问题描述】:
所以我一直在关注有关机器学习的教程,并且在代码中达到了这一点:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense,Dropout,Activation, Flatten, Conv2D, MaxPooling2D
import pickle
import numpy as np
pickle_in = open("X.pickle","rb")
X = pickle.load(pickle_in)
pickle_in = open("y.pickle","rb")
y = pickle.load(pickle_in)
X=np.array(X/255.0)
y=np.array(y)
model = Sequential()
model.add(Conv2D(64, (3,3), input_shape = X.shape[1:]))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Conv2D(64, (3,3)))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Flatten())
model.add(Dense(64))
model.add(Dense(1))
model.add(Activation("sigmoid"))
model.compile(loss="binary_crossentropy",
optimizer="adam",
metrics=["accuracy"])
model.fit(X,y, batch_size=32, validation_split=0.1)
当我执行此代码时,它给了我以下错误:
ValueError: Input 0 of layer conv2d_10 is incompatible with the layer: expected ndim=4, found ndim=3. Full shape received: [None, 100, 100]
我看过很多关于这个的帖子,但没有一个对我有真正的帮助!有人可以帮忙吗??提前致谢!! :)
【问题讨论】:
标签: python tensorflow keras