Ошибка при проверке ввода: ожидалось, что keras_layer_7_input будет иметь 4 измерения, но получит массив с формой (224, 224, 3)
Я пытаюсь сделать прогноз, используя свой собственный набор данных. Но когда я пытаюсь запустить свой код, я получил ошибку выше. Каково решение этой проблемы. Сильфон это код
def create_training_data():
for category in CATEGORIES: # do dogs and cats
path = os.path.join(DATADIR,category) # create path to dogs and cats
class_num = CATEGORIES.index(category) # get the classification (0 or a 1). 0=dog 1=cat
for img in tqdm(os.listdir(path)): # iterate over each image per dogs and cats
try:
img_array = cv2.imread(os.path.join(path,img)) # convert to array
new_array = cv2.resize(img_array, (IMG_SIZE, IMG_SIZE)) # resize to normalize data size
training_data.append([new_array, class_num]) # add this to our training_data
except Exception as e: # in the interest in keeping the output clean...
pass
#except OSError as e:
# print("OSErrroBad img most likely", e, os.path.join(path,img))
#except Exception as e:
# print("general exception", e, os.path.join(path,img))
create_training_data()
X=[]
y=[]
for features,label in training_data:
X.append(features)
y.append(label)
train_x, test_x, train_y, test_y = train_test_split(X, y, test_size=0.2)
feature_extractor = hub.KerasLayer(URL,
input_shape=(IMAGE_RES, IMAGE_RES,3))
BATCH_SIZE=32
history = model.fit(train_x,
epochs=EPOCHS,
validation_data=test_x)