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

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

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

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

Pythonista

Pythonistaは、iOS上でPythonプログラミングができる開発アプリです。さらに、Pythonの関数・変数などを自動で補完する便利なコードエディタや、PythonスクリプトをiOS上で多様な形で機能させる各種機能も内包しています。

Q&A

解決済

1回答

1047閲覧

Kerasを使ったモデルの予測において、同じ設定でも実行のたびに結果が変わるのはなぜ?

kougakaka

総合スコア25

Keras

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

Pythonista

Pythonistaは、iOS上でPythonプログラミングができる開発アプリです。さらに、Pythonの関数・変数などを自動で補完する便利なコードエディタや、PythonスクリプトをiOS上で多様な形で機能させる各種機能も内包しています。

0グッド

0クリップ

投稿2022/07/07 11:56

Kerasを用いてディープラーニングのモデルの結果について質問があります。
データ、学習パラメータなどの設定を変えずに、同じプログラムを実行すると、
実行のたびに出力結果(損失関数値や精度値)が変わるのはKerasの仕様なのでしょうか。
またその理由について教えていただければ幸いです。

↓プログラムの一部。プログラムを最初から実行するたびに、結果が変わります。

python

1# プログラムの一部 2# モデルの定義 3model = Sequential() 4 5# 隠れ層1 6# model.add(Dense(H, activation='relu', input_shape=(D,), kernel_initializer=initializers.RandomNormal(mean=0.0, stddev=0.05, seed=None))) 7model.add(Dense(H, activation='relu', input_shape=(D,))) 8 9# 隠れ層2 10# model.add(Dense(H, activation='relu', kernel_initializer='random_uniform')) 11model.add(Dense(H, activation='relu')) 12 13# 出力層 14model.add(Dense(num_classes, activation='softmax')) 15 16# コンパイル 17sgd = optimizers.SGD(lr=0.01) # 初期値 18model.compile(loss = 'categorical_crossentropy', 19 optimizer = sgd, 20 metrics=['accuracy']) 21 22# 学習 23batch_size = 512 24 25# 繰り返し回数 26nb_epoch = 100 27 28# モデルの学習 29history1 = model.fit( 30 x_train, 31 y_train_ohe, 32 batch_size = batch_size, 33 epochs = nb_epoch, 34 verbose = 1, 35 validation_data = (x_test, y_test_ohe))

〇実行結果その1
Epoch 100/100
118/118 [==============================] - 1s 5ms/step - loss: 0.1431 - accuracy: 0.9593 - val_loss: 0.1521 - val_accuracy: 0.9562

〇実行結果その2
Epoch 100/100
118/118 [==============================] - 1s 5ms/step - loss: 0.1441 - accuracy: 0.9593 - val_loss: 0.1518 - val_accuracy: 0.9551

上記のように同じ設定で実行しても結果が変わります。

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

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

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

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

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

kougakaka

2022/07/11 06:03

理解しました。 ありがとうございます!
guest

回答1

0

自己解決

初期値が乱数で決まるので、結果が変わるようです。
※jbpb0さんありがとうございました。

投稿2022/07/11 06:04

kougakaka

総合スコア25

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問