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

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

新規登録して質問してみよう
ただいま回答率
85.50%
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回答

1554閲覧

転移学習のインプットの形でエラーが起きてしまいます。

Rara_00

総合スコア7

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/03/19 10:06

下のようなコードで転移学習を行いたいです。
しかし、インプットの形⇒shape=(128, 48, 48, 1), dtype=float32
が原因でエラーが起きます。
どうすればよいでしょうか?

Python

1base_model = keras.applications.xception.Xception(weights="imagenet", 2 include_top=False) 3avg = keras.layers.GlobalAveragePooling2D()(base_model.output) 4output = keras.layers.Dense(len(emotions), activation="softmax")(avg) 5model = keras.models.Model(inputs=base_model.input, outputs=output)

上の行の1,2行目のところに、 input_tensor=Input(shape=(48, 48, 1))と指定したとことろ、カッコ内の1の部分が3でないとエラーが起きてしまいます。調べた所、そこはチャンネル数といって1だと白黒、3だとカラーだそうで、白黒の写真はインプットできないのでしょうか。

Python

1for layer in base_model.layers: 2 layer.trainable = False 3 4optimizer = keras.optimizers.SGD(learning_rate=0.2, momentum=0.9, decay=0.01) 5model.compile(optimizer=optimizer, loss='categorical_crossentropy', 6 metrics=['accuracy'], run_eagerly=True) 7 8earlystop = tf.keras.callbacks.EarlyStopping(patience=10, min_delta=1e-4, restore_best_weights=True) 9lr = tf.keras.callbacks.ReduceLROnPlateau(monitor='val_loss', patience=3, verbose=1, factor=0.5, min_lr=1e-7) 10hist = model.fit(train_images, train_labels, 11 validation_data=(val_images, val_labels), 12 epochs=5, 13 batch_size=128, 14 callbacks=[earlystop, lr])

上記のコードを実行すると以下のようにエラーが起こります。解決策が知りたいです。

Python(エラー文)

1ValueError Traceback (most recent call last) 2<ipython-input-42-c94008e60e1c> in <module>() 3 12 epochs=5, 4 13 batch_size=128, 5---> 14 callbacks=[earlystop, lr]) 6 71 frames 8/usr/local/lib/python3.7/dist-packages/keras/engine/input_spec.py in assert_input_compatibility(input_spec, inputs, layer_name) 9 247 if value is not None and shape_as_list[int(axis)] not in {value, None}: 10 248 raise ValueError( 11--> 249 f'Input {input_index} of layer "{layer_name}" is ' 12 250 f'incompatible with the layer: expected axis {axis} ' 13 251 f'of input shape to have value {value}, ' 14 15ValueError: Exception encountered when calling layer "model_4" (type Functional). 16 17Input 0 of layer "block1_conv1" is incompatible with the layer: expected axis -1 of input shape to have value 3, but received input with shape (128, 48, 48, 1) 18 19Call arguments received: 20 • inputs=tf.Tensor(shape=(128, 48, 48, 1), dtype=float32) 21 • training=True 22 • mask=None

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

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

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

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

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

Rara_00

2022/03/20 01:04

ありがとうございます!
guest

回答1

0

ベストアンサー

白黒の写真はインプットできないのでしょうか。

参考
keras applicationsの学習済みモデルをグレースケール画像に使いたい

投稿2022/03/20 11:40

jbpb0

総合スコア7651

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問