0

私は現在TensorFlow(CPU Version)のRnDに取り組んでいますが、大規模なデータセットのトレーニングのための私のシステムの基本的な要件を決定することができないか、TensorFlowライブラリのバグに遭遇する可能性があります。Lagging SystemまたはTensorFlowのバグ?

Official TensorFlow documentationでは、システムがTensorFlowプログラムをビルドして実行するための特定の要件はありません。私が理解できるところでは、それがWindows、Linux、Mac、Android、iOS、RaspberryPiのような組み込みシステムでも実行できるのであれば、同じハードウェア要件はないはずです。

最初の研究の過程で、私はTensorFlow Seq2Seqモデル(英語をフランス語に翻訳https://www.tensorflow.org/tutorials/seq2seq)を実行しようとしましたが、ここでトレーニングとテストのデータセットは、最初は約7〜8GBのディスクスペースと20〜22GB全体として。 translate.py pythonスクリプトが実行されると、メモリが窒息してディスク使用率がそれぞれ98%と100%になります。

現在のシステムでは、Windows 8.1の64ビットOS、2.2GHzで動作するCore i5 5200U、8GBのRAM、およそ70GBの空き容量(TensorFlowの使用に特化して割り当てられています)が実行されます。しかし、私のシステムが(他のアプリケーションを実行していない状態で)7〜8時間稼動させた後でも、データセットをトークン化した後、メモリ使用率が約100%になると、複数回スタックされます。

TensorFlowラーニンググラフがRAM内に作成されていて、すべてのメモリ空間に展開されると、プログラムはメモリがクリアされるのを待って終了しないループで終了し、学習グラフを大きくします。 3つの質問へのダウン

だから、全体のドリルは:

  1. んTensorFlowは、建物と学習のグラフを保存するためのRAMを使用していますか?もしそうなら、同様の方法で窒息する可能性はありますか?
  2. ビジネスの観点からは、そのようなシステムをトレーニングするための最小ハードウェア要件はありますか?
  3. システム要件ではない場合、TensorFlowライブラリのバグである可能性があります。このライブラリは、メモリがクリアされるのを待っているループにプッシュします。

更新

連続30時間以上のPythonスクリプトを実行した後、プロセスは「開発とトレーニングデータを読み込み」しながら、過去14時間に同じ場所で立ち往生しているようです。さらなる調査のために下の画像を参照してください。

enter image description here

+1

これはバグではありません。20GBのデータセットでDeep Learningを実行するには、ご使用のコンピュータのRAMが少なすぎるようです。 GPUも考慮していません。 –

+0

@MatiasValdenegro、あなたは学習グラフ作成プロセスについて少し詳しく教えていただけますか?それはRAMや他のどこかに作られていますか?そして、そのようなプロセスを実行するための最小限のシステム要件がありますか? – Cyberpks

+0

RAMの場合は、最低限の要件を考えるべきではありません。タスクと忍耐に完全に依存するためです。 –

答えて

0

とすぐに私はプログラムをシャットダウンしようとしたとして、同じことが再び応答を開始し、私は別の15〜20分間待っていたし、最終的に私からの回答を得ましたOSそのもの。それは確かに問題を引き起こしていた低RAMでした。参照のためにメモリが不足しているシステムのWindowsアラートのスクリーングラバーを取り付けると、誰もが同じ状況で捕まってしまう。

enter image description here

UPDATE

私はGoogleのクラウドプラットフォーム上でVMインスタンスを取ってみました。このマシンには、Intel Xeon(R)が2基搭載されていました。それぞれ、2.23GHz、13GBのRAM、50GBのストレージが搭載されています。しかし、アプリケーションが10.5 GB以上のRAMを利用していたとしても、この状況は同じでした。このチュートリアルスクリプトのように、非常に強烈なシステムが必要です。おそらく、実行して完全に実行するには、少なくとも32 GBのRAMを搭載したスーパーコンピュータでしょう。私は今自分のデータセットを書いて/手配するように見えるかもしれません。ただし、メモリのチャッキングを避けるために、RAMの代わりにグラフを作成するために、永続ストレージ(HDD/SSD)を使用する将来の拡張としてこれを行う必要があります。

関連する問題