2017-07-13 7 views
0

トレーニング中に私のトレーニングがOSによって殺された理由を理解するのに苦労します。Tensorflowトレーニングがシステムによって殺されました

このプログラムは、トレーニングサイクルの約50%で正常に動作します。最後の数サイクルの間、プログラム全体が殺されます。

テンソルフローは、列車で多くのメモリを消費しますか?それとも、トレーニング中に一定量のメモリを使用していますか?

注:仮想マシン上のCPUのみのTensorflowで実行しています。

+0

プロセスが強制終了されたときに出力を表示できますか? Tensorflowは、 'tf.ConfigProto'によって特に指定されていない限り、利用可能なすべてのCPUにコンピューティングリソースを自動的に配布します。テンソルフローで使用されるメモリは一般的に一定のままですが、これはデータの読み方によって多少異なります。実行中のCPU使用率を確認するには、端末タイプで「top」を選択し、次に「1」を入力します。 – bnorm

+0

@ user3451457端末が 'Killed'を表示しました。チェックのために 'dmesg'コマンドを使用したとき、最後の行には** Out of Memory **のような何かが書かれています。プロセスを殺すか子供を犠牲にするものです。だから、Tensorflowのメモリ使用量の点では、一旦トレーニングが始まると、消費されるメモリはほぼ一定です(モデルはすでにロードされており、トレーニングが始まるともうデータを読み込めませんでした)。 – Bosen

答えて

0

私はtf.global_variables_initializer()をforループのトレーニングに含めていることが分かりました。一旦ループから取り除くと、消費されるメモリは安定しています。

関連する問題