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

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

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

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

Python

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

Q&A

解決済

1回答

2164閲覧

KerasでのAttributeErrorについて

0000

総合スコア3

Keras

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

Python

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

0グッド

0クリップ

投稿2020/05/19 10:12

pythonで顔識別アプリを作成しており、
Kerasで学習モデルを作成しているのですが、
学習モデルのファイルをターミナルで実行した所、
下記のエラーコードが出ました。

発生している問題・エラーメッセージ

AttributeError: module 'tensorflow' has no attribute 'get_default_graph'

import os from keras.applications.vgg16 import VGG16 from keras.preprocessing.image import ImageDataGenerator from keras.models import Sequential, Model from keras.layers import Input, Activation, Dropout, Flatten, Dense from keras.preprocessing.image import ImageDataGenerator from keras import optimizers import numpy as np import time # 分類するクラス classes = ["akimoto","ikuta","saito","shiraishi","hori"] nb_classes = len(classes) #画像の大きさを設定 img_width, img_height = 150, 150 # トレーニング用とバリデーション用の画像格納先 train_data_dir = '/content/gdrive/My Drive/Colad Notebooks/menber' validation_data_dir = '/content/gdrive/My Drive/Colad Notebooks/test' #トレーニングデータ用の画像数 nb_train_samples = 7000 #バリデーション用の画像数 nb_validation_samples = 1000 #バッチサイズ batch_size = 100 #エポック数 nb_epoch = 20 # トレーンング用、バリデーション用データを生成するジェネレータ作成 train_datagen = ImageDataGenerator( rescale=1.0 / 255,) validation_datagen = ImageDataGenerator(rescale=1.0 / 255) train_generator = train_datagen.flow_from_directory( train_data_dir, target_size=(img_width, img_height), color_mode='rgb', classes=classes, class_mode='categorical', batch_size=batch_size, shuffle=True) validation_generator = validation_datagen.flow_from_directory( validation_data_dir, target_size=(img_width, img_height), color_mode='rgb', classes=classes, class_mode='categorical', batch_size=batch_size, shuffle=True) # VGG16のロード。FC層は不要なので include_top=False input_tensor = Input(shape=(img_width, img_height, 3)) vgg16 = VGG16(include_top=False, weights='imagenet', input_tensor=input_tensor) # VGG16の図の緑色の部分(FC層)の作成 top_model = Sequential() top_model.add(Flatten(input_shape=vgg16.output_shape[1:])) top_model.add(Dense(256, activation='relu')) top_model.add(Dropout(0.5)) top_model.add(Dense(nb_classes, activation='softmax')) # VGG16とFC層を結合してモデルを作成(完成図が上の図) vgg_model = Model(input=vgg16.input, output=top_model(vgg16.output)) # VGG16の図の青色の部分は重みを固定(frozen) for layer in vgg_model.layers[:15]: layer.trainable = False # 多クラス分類を指定 vgg_model.compile(loss='categorical_crossentropy', optimizer=optimizers.SGD(lr=1e-3, momentum=0.9), metrics=['accuracy']) # Fine-tuning history = vgg_model.fit_generator( train_generator, samples_per_epoch=nb_train_samples, nb_epoch=nb_epoch, validation_data=validation_generator, nb_val_samples=nb_validation_samples) vgg_model.save('model.h5') # 学習結果を描写 import matplotlib.pyplot as plt #acc, val_accのプロット plt.plot(history.history["accuracy"], label="accuracy", ls="-", marker="o") plt.plot(history.history["val_accuracy"], label="val_accuracy", ls="-", marker="x") plt.ylabel("accuracy") plt.xlabel("epoch") plt.legend(loc="best") #Final.pngという名前で、結果を保存 plt.savefig('Final.png') plt.show() コード

試したこと

tensorflow(2.2.0)は最新のバージョンにしました。

補足情報(FW/ツールのバージョンなど)

mac python3.7
ここにより詳細な情報を記載してください。

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

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

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

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

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

tiitoi

2020/05/19 10:24

Keras のバージョンが古いのが原因ではないでしょうか。 pip install --upgrade keras で最新版にしてもエラーが出るか確認できますか
meg_

2020/05/19 10:38

エラーメッセージは全文掲載してください。
0000

2020/05/19 10:43

回答ありがとうございます。 最新版にして実行した所、Epoch 1/20という表記が出ております。 追加で申し訳ないのですが、これは現在処理をしているという事でしょうか?
tiitoi

2020/05/19 10:46 編集

学習中に表示されるものなので、エラーが出てないのであれば、学習中と判断していいと思います。 データ数にもよりますが、モデルが VGG16 で CPU 実行なのでかなり時間がかかると思います。
0000

2020/05/19 10:54

meg_様 すいません、今後は全て掲載します。 tiitoi様 そうなんですね。。 Google Colaboratoryの方でやってみようと思います。 ありがとうございました。
guest

回答1

0

自己解決

無事解決出来ました。

投稿2020/05/19 12:13

0000

総合スコア3

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問