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

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

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

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

Q&A

0回答

6270閲覧

JupyterNotebookでカーネルが落ちる。実行直後にディスクに負担がかかっているのが原因っぽいが対策が分かりません。

nemu_

総合スコア0

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

0グッド

1クリップ

投稿2020/12/02 12:14

編集2020/12/02 12:20

前提・実現したいこと

Jupyter notebookでの深層学習を勉強している初心者です。
本に書いてある、mnistを用いてエポック数が上がるにつれて正解率が上がっている様子を確認するコードを実行しているのですがkernelが途中で死んでしまい実行できません

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

コードを実行するとカーネルが死んだ、再起動するとメッセージが出ます。タスクマネージャーを見たところ、コードを実行すると、最初は1%とかだったディスクの欄だけが実行数秒後に一時的に97%ぐらいに跳ねあがっています。その後kennelが落ちます。CPUやメモリは70%ぐらいまでしか上がらないので問題なさそうです。cpuやメモリが足りないならともかくディスクが跳ね上がるのはどう対策したらよいか分からなくて困っています。

エラーメッセージ

「The kernel appears to have died. It will restart automatically.」です

該当のソースコード

Python3

1ソースコード 2↓実際のコードです 3import numpy as np 4import matplotlib.pyplot as plt 5from keras.datasets import mnist 6from keras.layers import Activation,Dense,Dropout 7from keras.models import Sequential,load_model 8from keras import optimizers 9from keras.utils.np_utils import to_categorical 10%matplotlib inline 11 12(X_train,y_train),(X_train,y_test)=mnist.load_data() 13 14X_train=X_train.reshape(X_train.shape[0],784)[:6000] 15X_test=X_test.reshape(X_test.shape[0],784)[:1000] 16y_train=to_categorical(y_train)[:6000] 17y_train=to_categorical(y_test)[:1000] 18 19 20model=Sequential() 21model.add(Dense(256,input_dim=784)) 22model.add(Activaton("sigmoid")) 23model.add(Dense(128)) 24model.add(Activaton("sigmoid")) 25model.add(Dropout(rate=0.5)) 26model.add(Dense(10)) 27model.add(Activation("softmax")) 28 29sgd=optimizers.SGD(lr=0.1) 30model.compile(optimizer=sgd,loss="categorical_crossentropy",metrics=["accuracy"]) 31 32 33 34history = model.fit(X_train,y_train,batch_size=500,epochs=5,verbose=1,validation_data=(X_test,y_test)) 35 36acc,val_accのプロット 37plt.plot(history.history["acc"],label="acc",ls="-",marker="o") 38plt.plot(history.history["val_acc"],label="val_acc",ls="-",marker="x") 39 40plt.ylabel("accuracy") 41plt.xlabel("epoch") 42plt.legend(loc="best") 43 44plt.show() 45 46 47### 試したこと 48 49numpyアップデート・再インストール、Tensorflowのバージョンダウン、PCのディスク解放、PC設定から仮想メモリの上限を7000MBへ。調べたところ、同じような事例があったので対策として書かれていた上記のことはやってみましたがダメでした。 50 51### 補足情報(FW/ツールのバージョンなど) 52 53PC:windows10 cpuは8GB

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

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

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

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

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

plasticgrammer

2020/12/03 02:39

トレーニングおよびテストのデータ件数を極端に減らすとどうなるでしょうか? 例えば今6000件程度のものを100件にするとか。
nemu_

2020/12/03 03:49

6000件を100件へ、1000件を10件へとそれぞれ置き換えてやってみましたが結果は変わりませんでした。やはり実行数十秒後にkernelが死にます…
bsdfan

2020/12/03 04:05

jupyterでやられているとのことなので、一行ずつとか、ある程度のかたまりの単位で実行してみて、何をやったときにkernelが落ちるのかを確認してみてはどうでしょう。 (何回かやってみて、同じところで落ちるか確認するとよりベター) ディスクの負荷でkernelが落ちるというのはあまり考えにくいです。
nemu_

2020/12/03 04:41

アドバイスしていただいた通り何度か検証してみたところ、どうやら3行目の「from keras.datasets import mnist」のところでkernelが落ちることが判明しました。つまりmnistが何らかの原因でインポート出来てないのでしょうが、何か考えられる対策はありますでしょうか?
bsdfan

2020/12/03 07:47

kerasがちゃんとインストールされていないのでしょうか。再インストールも試されているようなので、ちょっとわかりませんね。 tensorflow のバージョンが2だったら、kerasはtensorflowの中に入っているので、これを試してみてください。 from tensorflow.keras.datasets import mnist
nemu_

2020/12/03 08:31

kerasを再インストール、さらに教えていただいたfrom tensorflow.keras.datasets import mnistもやってみましたがやはりダメでした。試しにGoogle Colaboratoryのほうで同じコードを実行してみたところ正常に実行できましたので、何らかの環境の原因かとは思うのですが…。長々とありがとうございます
plasticgrammer

2020/12/03 08:35

Jupyter notebook 以外(通常のコンソールで実行)で実行することはできますか? できるようでしたら、その結果を共有して頂けるとたすかります。
nemu_

2020/12/03 09:37

Google Colaboratoryでは実行できました。 タイプミス部分とkeyエラーがあったのでそこは修正したものの、 import numpy as np import matplotlib.pyplot as plt from keras.datasets import mnist from keras.layers import Activation,Dense,Dropout from keras.models import Sequential,load_model from keras.utils.np_utils import to_categorical from keras import optimizers %matplotlib inline (X_train,y_train),(X_test,y_test)=mnist.load_data() X_train=X_train.reshape(X_train.shape[0],784)[:6000] X_test=X_test.reshape(X_test.shape[0],784)[:1000] y_train=to_categorical(y_train)[:6000] y_test=to_categorical(y_test)[:1000] model=Sequential() model.add(Dense(256,input_dim=784)) model.add(Activation("sigmoid")) model.add(Dense(128)) model.add(Activation("sigmoid")) model.add(Dropout(rate=0.5)) model.add(Dense(10)) model.add(Activation("softmax")) sgd=optimizers.SGD(lr=0.1) model.compile(optimizer=sgd,loss="categorical_crossentropy",metrics=["accuracy"]) history = model.fit( X_train, y_train, batch_size=500, epochs=5, verbose=1, validation_data=(X_test, y_test), ) plt.plot(history.history["accuracy"],label="acc",ls="-",marker="o") plt.plot(history.history["val_accuracy"],label="val_acc",ls="-",marker="x") plt.ylabel("accuracy") plt.xlabel("epoch") plt.legend(loc="best") 以上のプログラムより Epoch 1/5 12/12 [==============================] - 0s 24ms/step - loss: 2.3855 - accuracy: 0.1553 - val_loss: 2.0380 - val_accuracy: 0.4630 Epoch 2/5 12/12 [==============================] - 0s 15ms/step - loss: 2.0973 - accuracy: 0.2653 - val_loss: 1.8543 - val_accuracy: 0.5540 Epoch 3/5 12/12 [==============================] - 0s 14ms/step - loss: 1.8763 - accuracy: 0.3693 - val_loss: 1.6837 - val_accuracy: 0.6570 Epoch 4/5 12/12 [==============================] - 0s 15ms/step - loss: 1.7182 - accuracy: 0.4500 - val_loss: 1.5269 - val_accuracy: 0.7150 Epoch 5/5 12/12 [==============================] - 0s 16ms/step - loss: 1.5703 - accuracy: 0.5205 - val_loss: 1.3912 - val_accuracy: 0.7390 <matplotlib.legend.Legend at 0x7f9dbc289240> という結果が得られました。(グラフもちゃんと表示されています)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問