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

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

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

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

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

CNN (Convolutional Neural Network)

CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

Q&A

解決済

1回答

1165閲覧

CNNモデルの畳み込み層とプーリング層の数について

legend_hero

総合スコア3

Keras

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

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

CNN (Convolutional Neural Network)

CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

0グッド

0クリップ

投稿2022/02/14 15:48

機械学習の初学者です.
畳み込み層とプーリング層というものがいまいち理解できなく,困っています.
このプログラムでは層がmodel.addのたびに1層追加されており,合計18層になっているという認識であっているでしょうか??

ソースコード

python

1from keras.models import Sequential 2from keras.layers import Conv2D, MaxPooling2D 3from keras.layers import Activation, Dropout, Flatten, Dense 4from keras.optimizers import RMSprop 5 6from keras.utils import np_utils 7import keras 8import numpy as np 9 10classes = ["dog", "cat"] 11num_classes = len(classes) 12image_size = 64 13 14""" 15データを読み込む関数 16""" 17def load_data(): 18 X_train, X_test, y_train, y_test = np.load("./dog_cat.npy", allow_pickle=True) 19 # 入力データの各画素値を0-1の範囲で正規化(学習コストを下げるため) 20 X_train = X_train.astype("float") / 255 21 X_test = X_test.astype("float") / 255 22 # to_categorical()にてラベルをone hot vector化 23 y_train = np_utils.to_categorical(y_train, num_classes) 24 y_test = np_utils.to_categorical(y_test, num_classes) 25 26 return X_train, y_train, X_test, y_test 27 28""" 29モデルを学習する関数 30""" 31def train(X, y, X_test, y_test): 32 model = Sequential() 33 34 # Xは(1200, 64, 64, 3) 35 # X.shape[1:]とすることで、(64, 64, 3)となり、入力にすることが可能です。 36 model.add(Conv2D(32,(3,3), padding='same',input_shape=X.shape[1:])) 37 model.add(Activation('relu')) 38 model.add(Conv2D(32,(3,3))) 39 model.add(Activation('relu')) 40 model.add(MaxPooling2D(pool_size=(2,2))) 41 model.add(Dropout(0.1)) 42 43 model.add(Conv2D(64,(3,3), padding='same')) 44 model.add(Activation('relu')) 45 model.add(Conv2D(64,(3,3))) 46 model.add(Activation('relu')) 47 model.add(MaxPooling2D(pool_size=(2,2))) 48 model.add(Dropout(0.25)) 49 50 model.add(Flatten()) 51 model.add(Dense(512)) 52 model.add(Activation('relu')) 53 model.add(Dropout(0.45)) 54 model.add(Dense(2)) 55 model.add(Activation('softmax')) 56 57 # https://keras.io/ja/optimizers/ 58 # 今回は、最適化アルゴリズムにRMSpropを利用 59 opt = RMSprop(lr=0.00005, decay=1e-6) 60 # https://keras.io/ja/models/sequential/ 61 model.compile(loss='categorical_crossentropy',optimizer=opt,metrics=['accuracy']) 62 model.fit(X, y, batch_size=28, epochs=40) 63 # HDF5ファイルにKerasのモデルを保存 64 model.save('./cnn.h5') 65 66 return model 67 68""" 69メイン関数 70データの読み込みとモデルの学習を行います。 71""" 72def main(): 73 # データの読み込み 74 X_train, y_train, X_test, y_test = load_data() 75 76 # モデルの学習 77 model = train(X_train, y_train, X_test, y_test) 78 79main()

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

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

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

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

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

guest

回答1

0

ベストアンサー

合っています。
model.summary()してみるとモデルの要約が表示されるので確認してみてください。

投稿2022/02/14 18:24

編集2022/02/14 18:24
kyokio

総合スコア560

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問