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

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

ただいまの
回答率

87.49%

fitあたりでエラーになる

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 2,147

score 75

前提・実現したいこと

Pythonの勉強をし始めました。
AI Academyのこちらの記事を参考に、ローカルで環境を整え実行したのですが、学習させるところでエラーになってしまいます。

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

Epoch 1/40
---------------------------------------------------------------------------
UnknownError                              Traceback (most recent call last)
 in 
     75     model = train(X_train, y_train, X_test, y_test)
     76 
---> 77 main()

 in main()
     73 
     74     # モデルの学習
---> 75     model = train(X_train, y_train, X_test, y_test)
     76 
     77 main()

 in train(X, y, X_test, y_test)
     58     # https://keras.io/ja/models/sequential/
     59     model.compile(loss='categorical_crossentropy',optimizer=opt,metrics=['accuracy'])
---> 60     model.fit(X, y, batch_size=28, epochs=40)
     61     # HDF5ファイルにKerasのモデルを保存
     62     model.save('./cnn.h5')

~\.conda\envs\gpu\lib\site-packages\keras\engine\training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, **kwargs)
   1037                                         initial_epoch=initial_epoch,
   1038                                         steps_per_epoch=steps_per_epoch,
-> 1039                                         validation_steps=validation_steps)
   1040 
   1041     def evaluate(self, x=None, y=None,

~\.conda\envs\gpu\lib\site-packages\keras\engine\training_arrays.py in fit_loop(model, f, ins, out_labels, batch_size, epochs, verbose, callbacks, val_f, val_ins, shuffle, callback_metrics, initial_epoch, steps_per_epoch, validation_steps)
    197                     ins_batch[i] = ins_batch[i].toarray()
    198 
--> 199                 outs = f(ins_batch)
    200                 outs = to_list(outs)
    201                 for l, o in zip(out_labels, outs):

~\.conda\envs\gpu\lib\site-packages\keras\backend\tensorflow_backend.py in __call__(self, inputs)
   2713                 return self._legacy_call(inputs)
   2714 
-> 2715             return self._call(inputs)
   2716         else:
   2717             if py_any(is_tensor(x) for x in inputs):

~\.conda\envs\gpu\lib\site-packages\keras\backend\tensorflow_backend.py in _call(self, inputs)
   2673             fetched = self._callable_fn(*array_vals, run_metadata=self.run_metadata)
   2674         else:
-> 2675             fetched = self._callable_fn(*array_vals)
   2676         return fetched[:len(self.outputs)]
   2677 

~\.conda\envs\gpu\lib\site-packages\tensorflow_core\python\client\session.py in __call__(self, *args, **kwargs)
   1470         ret = tf_session.TF_SessionRunCallable(self._session._session,
   1471                                                self._handle, args,
-> 1472                                                run_metadata_ptr)
   1473         if run_metadata:
   1474           proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)

UnknownError: 2 root error(s) found.
  (0) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
     [[{{node conv2d_17/convolution}}]]
     [[metrics_4/acc/Mean/_499]]
  (1) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
     [[{{node conv2d_17/convolution}}]]
0 successful operations.
0 derived errors ignored.

該当のソースコード

記事のまんまです。

def train(X, y, X_test, y_test):
    model = Sequential()

    """
    省略
    """


    # https://keras.io/ja/optimizers/
    # 今回は、最適化アルゴリズムにRMSpropを利用
    opt = keras.optimizers.rmsprop(lr=0.00005, decay=1e-6)
    # https://keras.io/ja/models/sequential/
    model.compile(loss='categorical_crossentropy',optimizer=opt,metrics=['accuracy'])
    model.fit(X, y, batch_size=28, epochs=40)
    # HDF5ファイルにKerasのモデルを保存
    model.save('./cnn.h5')

    return model

試したこと

記事では、Google Colabを用いて実行されていたので、とりあえず、Google Colabで実行してみた結果、できました。
ローカルでは、何度コピペしても、上記のようなエラーになってしまいます。

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

データの整形と学習データの作成のところまでは、うまくいきました。
また、GPUの設定も終了しており、実行もできました。
不足している、

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Nero1129

    2019/12/15 23:46

    cuDNNに関しては、NvidiaのcuDNNのところできちんと、バージョンを確認してインストールを行いました。下記が参考にさせていただいたサイトです。

    [50歳じじい初心者がGPU搭載windows10のマシンにtnesorflowのGPU版を環境設定するときに苦労したこと](https://qiita.com/umesaku/items/b9290520479c8167363d)

    現時点で、インストールされているのは
    - CUDA 10.2
    - cuDNN v7.6.5
    です。

    参考にさせていただいたサイトでVScode 2015でないとできないとのことでしたので、単一でファイルを作成してコマンドプロント上で実行した結果も同様でした。

    よろしくお願いいたします。

    キャンセル

  • meg_

    2019/12/16 00:05

    Keras、TensorFlow、Python、cuDNN、CUDAのバージョンを質問に追記されると回答がつきやすくなるかと思います。
    ※上記リンクは「404Not Found」で見られませんでした。

    キャンセル

  • Nero1129

    2019/12/16 00:13

    ありがとうございます。
    https://www.tensorflow.org/install/source
    試験的に、上記のサイトで推奨しているバージョンまで下げて行ってみたいと思います。

    本当ですね。こちらからアクセスすると404ですね。申し訳ありません。

    キャンセル

回答 1

check解決した方法

0

自己解決いたしました。

方法

初期化し、すべて入れなおしました。

注意点

最新版ならいいとは思わず、サポート対象となっているバージョンを入れるのが正解でした。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 87.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る