前提・実現したいこと
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.
該当のソースコード
記事のまんまです。
python
1def train(X, y, X_test, y_test): 2 model = Sequential() 3 4 """ 5 省略 6 """ 7 8 9 # https://keras.io/ja/optimizers/ 10 # 今回は、最適化アルゴリズムにRMSpropを利用 11 opt = keras.optimizers.rmsprop(lr=0.00005, decay=1e-6) 12 # https://keras.io/ja/models/sequential/ 13 model.compile(loss='categorical_crossentropy',optimizer=opt,metrics=['accuracy']) 14 model.fit(X, y, batch_size=28, epochs=40) 15 # HDF5ファイルにKerasのモデルを保存 16 model.save('./cnn.h5') 17 18 return model
試したこと
記事では、Google Colabを用いて実行されていたので、とりあえず、Google Colabで実行してみた結果、できました。
ローカルでは、何度コピペしても、上記のようなエラーになってしまいます。
補足情報(FW/ツールのバージョンなど)
データの整形と学習データの作成のところまでは、うまくいきました。
また、GPUの設定も終了しており、実行もできました。
不足しているパッケージ等もありませんでした。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー