Python 3.7, windows10です。
下記のエラーが発生します。
File "C:\Users\kmll\Anaconda3\envs\keras_work\lib\site-packages\keras\engine\training_utils.py", line 127, in standardize_input_data
'with shape ' + str(data_shape))
ValueError: Error when checking input: expected conv2d_1_input to have 4 dimensions, but got array with shape (0, 1)
コードは下記です。
#モデルの構築
from keras import layers, models
model = models.Sequential()
model.add(layers.Conv2D(32,(3,3),activation="relu",input_shape=(150,150,3)))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Conv2D(64,(3,3),activation="relu"))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Conv2D(128,(3,3),activation="relu"))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Conv2D(128,(3,3),activation="relu"))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Flatten())
model.add(layers.Dense(512,activation="relu"))
model.add(layers.Dense(10,activation="sigmoid")) #分類先の種類分設定
#モデル構成の確認
model.summary()
#モデルのコンパイル
from keras import optimizers
model.compile(loss="binary_crossentropy",
optimizer=optimizers.RMSprop(lr=1e-4),
metrics=["acc"])
#データの準備
from keras.utils import np_utils
import numpy as np
categories = ["cat","dog"]
nb_classes = len(categories)
X_train, X_test, y_train, y_test = np.load("C:\Users\kmll\python_code\cat\resultcat\tea_data.npy")
#データの正規化
X_train = X_train.astype("float") / 255
X_test = X_test.astype("float") / 255
#kerasで扱えるようにcategoriesをベクトルに変換
y_train = np_utils.to_categorical(y_train, nb_classes)
y_test = np_utils.to_categorical(y_test, nb_classes)
#モデルの学習
model = model.fit(X_train,
y_train,
epochs=10,
batch_size=6,
validation_data=(X_test,y_test))
よろしくお願いいたします。
あなたの回答
tips
プレビュー