質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

519閲覧

CNNでエラーが起きる

ice_Deep

総合スコア25

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/05/10 04:59

pythonでCNNを実装しようとしたところ、以下のエラーが起きました。

犬と猫の画像分類ではうまくいってるのですが、分類を3つに増やしたら動かなくなりました

Python

1from sklearn.model_selection import train_test_split 2from PIL import Image 3import glob 4from keras.utils import np_utils 5from keras.models import Sequential 6from keras.layers import Dense, Activation, Dropout, Flatten,Conv2D, MaxPooling2D 7from keras.layers.normalization import BatchNormalization 8import numpy as np 9import matplotlib.pyplot as plt 10 11 12folder = ["group1", "group2", "group3"] 13image_size = 100 14 15X = [] 16Y = [] 17for index, name in enumerate(folder): 18 dir = "./" + name 19 files = glob.glob(dir + "/*.jpg") 20 for i, file in enumerate(files): 21 image = Image.open(file) 22 image = image.convert("RGB") 23 image = image.resize((image_size, image_size)) 24 data = np.asarray(image) 25 X.append(data) 26 Y.append(index) 27 28X = np.array(X) 29Y = np.array(Y) 30 31 32X = X.astype('float32') 33X = X / 255.0 34 35 36# 正解ラベルの形式を変換 37Y = np_utils.to_categorical(Y, 3) 38 39 40# 学習用データとテストデータ 41X_train, x_test, Y_train, y_test = train_test_split(X, Y, test_size=0.15) 42x_train, x_val, y_train, y_val = train_test_split(X_train, Y_train, test_size=0.1) 43 44# CNNを構築 45model = Sequential() 46 47model.add(Conv2D(filters=96, kernel_size=(11, 11), padding='same', input_shape=X_train.shape[1:], activation='relu')) 48model.add(MaxPooling2D(pool_size=(2, 2))) 49model.add(BatchNormalization()) 50model.add(Conv2D(filters=256, kernel_size=(11, 11), activation='relu')) 51model.add(MaxPooling2D(pool_size=(2, 2))) 52model.add(BatchNormalization()) 53model.add(Conv2D(filters=385, kernel_size=(3, 3), activation='relu')) 54model.add(BatchNormalization()) 55model.add(Conv2D(filters=385, kernel_size=(3, 3), activation='relu')) 56model.add(BatchNormalization()) 57model.add(Conv2D(filters=256, kernel_size=(3, 3), activation='relu')) 58model.add(MaxPooling2D(pool_size=(2, 2))) 59model.add(Conv2D(filters=385, kernel_size=(3, 3), activation='relu')) 60model.add(BatchNormalization()) 61 62model.add(Flatten()) 63model.add(Dense(4096, activation='relu')) 64model.add(Dropout(0.4)) 65model.add(BatchNormalization()) 66model.add(Dense(4096)) 67model.add(Activation('relu')) 68model.add(Dropout(0.4)) 69model.add(BatchNormalization()) 70model.add(Dense(1000)) 71model.add(Activation('relu')) 72model.add(Dropout(0.4)) 73model.add(BatchNormalization()) 74model.add(Dense(2)) 75model.add(Activation('softmax')) 76 77model.summary() 78 79model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) 80 81epochs = 2 82batch_size = 2 83 84history = model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, verbose=1, validation_data=(x_val, y_val)) 85
Error ValueError: Error when checking target: expected activation_3 to have shape (2,) but got array with shape (3,)

データの形が悪いのはわかるのですが、解決できないです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

outputが2になってました。

投稿2019/05/10 05:43

ice_Deep

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問