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

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

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

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

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Q&A

0回答

495閲覧

KerasのConv2Dレイヤーでinput_shapeにおいて

U.D

総合スコア4

Keras

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

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

0グッド

0クリップ

投稿2021/02/28 06:15

google colaboratry において以下のようなエラーメッセージが出てきました。
これはconv2dがエラーを出していると予想しているのですが、ここからそーすればいいのか調べてもよくわからなかったので、ご質問させていただきました。
エラー コード

ValueError: Input 0 of layer conv2d_1 is incompatible with the layer: : expected min_ndim=4, found ndim=1. Full shape received: (None,)

 今回のコードは以下のようなものです。

from

1from keras.layers import Conv2D, MaxPooling2D 2from keras.layers import Activation, Dropout, Flatten, Dense 3from keras.utils import np_utils 4import keras 5import numpy as np 6import os, time, sys, math 7from google.colab import drive 8drive.mount('/content/drive') 9 10 11path = "/content/drive/My Drive/Colab Notebooks/kera_lesson_making_colab_ver/folder" 12classes =os.listdir(path) 13num_classes = len(classes) 14image_size = 50 15 16 17# メインの関数を定義する 18def main(): 19 X_train, X_test, y_train, y_test = np.load("/content/drive/My Drive/Colab Notebooks/kera_lesson_making_colab_ver/judge.npy", allow_pickle=True) # %ファイルからデータを持ってくる 20 X_train = X_train.astype("float") / 256 # %少数型になおしてから 21 X_test = X_test.astype("float") / 256 # %計算のブレをなくすために最大値で割ってみる 22 y_train = np_utils.to_categorical(y_train, num_classes) # %正解値は1、他は0。2(crow)なら「001」となる 23 y_test = np_utils.to_categorical(y_test, num_classes)# % 24 25 model = model_train(X_train, y_train) 26 model_eval(model, X_test, y_test) 27 28 29# %kerasの『cifer10_cnn.py』というファイルを参考にしている 30def model_train(X, y): 31 model = Sequential() 32 model.add(Conv2D(32, (3, 3), padding='same', input_shape=X.shape[1:]))# %1層目のこと 33 model.add(Activation('relu'))# %正のところだけを持ってくる 34 model.add(Conv2D(32, (3, 3)))# %2層目 35 model.add(Activation('relu')) 36 model.add(MaxPooling2D(pool_size=(2, 2))) 37 model.add(Dropout(0.25)) 38 39 model.add(Conv2D(64, (3, 3), padding='same')) 40 model.add(Activation('relu')) 41 model.add(Conv2D(64, (3, 3))) 42 model.add(Activation('relu')) 43 model.add(MaxPooling2D(pool_size=(2, 2))) 44 model.add(Dropout(0.25)) 45 46 model.add(Flatten()) # %データを一列に並べる 47 model.add(Dense(512)) 48 model.add(Activation('relu')) 49 model.add(Dropout(0.5)) 50 model.add(Dense(num_classes)) 51 model.add(Activation('softmax')) 52 53 opt = keras.optimizers.RMSprop(lr=0.0001, decay=1e-6) 54 55 model.compile(loss='categorical_crossentropy', 56 optimizer=opt, metrics=['accuracy']) 57 58 model.fit(X, y, batch_size=32, epochs=100) 59 60 # モデルの保存 61 model.save('/content/drive/My Drive/Colab Notebooks/kera_lesson_making_colab_ver/food_girls_cnn.h5') 62 63 return model# %20行目に返す 64 65def model_eval(model, X, y): 66 scores = model.evaluate(X, y, verbose=1) 67 print('Test Loss: ', scores[0]) 68 print('Test Accuracy:', scores[1]) 69 70if __name__ == "__main__": 71 main()

ぜひ回答していただけるとありがたいです。
よろしくお願いします

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

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

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

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

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

aipy2020

2021/02/28 13:37

conv2dの入力であるX_trainのshapeが4次元になっていないというエラーです。 print(X_train.shape) を記載して、X_trainのshapeを確認してはいかがでしょうか。 エラーからは(None,)になっているように見えます。 読み込んでいるファイルjudge.npyがおかしいのかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問