前提・実現したいこと
290枚の画像("1(0).jpg"と"2(0).jpg"は、映してある角度が違うが推定したいものが同じ)を使って画像認識をしたいと思っています。
その過程で以下のエラーが出てしまいました。
どのように直せばよいのでしょうか?
教えていただけますでしょうか。
発生している問題・エラーメッセージ
ValueError: Error when checking input: expected conv2d_1_input to have 4 dimensions, but got array with shape (130, 1)
該当のソースコード
from keras import backend as K from keras.datasets import mnist from keras.layers import Activation, Input, Dense, Dropout, Concatenate, Flatten, Conv2D, MaxPool2D, Reshape from keras.models import Model, Sequential from keras.utils.np_utils import to_categorical import matplotlib.pyplot as plt import numpy as np import glob from PIL import Image from keras.utils import np_utils from sklearn.model_selection import train_test_split from keras.preprocessing.image import load_img, img_to_array classes = [ "test image" ] Y = [] for index, classlabel in enumerate(classes): dir = "./" + classlabel files = glob.glob(dir + "/*(1).jpg") for i, file in enumerate(files): image = Image.open(file) image = image.convert("RGB") image = image.resize((64, 64)) Y.append(index) Y = np.array(Y) x1 = [ "1(0).jpg",....,"1(145).jpg" ] x2 = [ "2(0).jpg",....,"2(145).jpg" ] Y = to_categorical(Y, 145) x_train1, x_test1, x_train2, x_test2, y_train, y_test = train_test_split(x1, x2, Y, test_size=0.1) # モデルを作成する。 model1 = Sequential([ Conv2D(64,3,input_shape=(64,64,3)), Activation('relu'), Conv2D(64,3), Activation('relu'), MaxPool2D(pool_size=(2,2)), Flatten(), Dense(1024), Activation('relu') ]) model2 = Sequential([ Conv2D(64,3,input_shape=(64,64,3)), Activation('relu'), Conv2D(64,3), Activation('relu'), MaxPool2D(pool_size=(2,2)), Flatten(), Dense(1024), Activation('relu') ]) concatenated = Concatenate(axis=-1)([model1.output, model2.output]) # 密結合 out = Dense(145, activation='softmax')(concatenated) model = Model([model1.input, model2.input], out) # モデルコンパイル model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['acc']) model.summary() # 学習する。 history = model.fit([x_train1, x_train2], y_train, epochs=40)
試したこと
このサイトを試してみましたが、試したら別のエラーが出てしまいました。
https://qiita.com/kuroneko-hornet/items/7737b71c3854c06fcb49
あなたの回答
tips
プレビュー