問題タブ [numpy-memmap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
294 参照

numpy - 使用可能な RAM がファイル サイズよりも小さい場合、Pytorch Dataloader で Numpy memmap スロットルが発生する

大きすぎて RAM に収まらないデータセットに取り組んでいます。私が現在試している解決策は、numpy memmap を使用して、Dataloader を使用して一度に 1 つのサンプル/行をロードすることです。解決策は次のようになります。

使用可能な RAMの量がmemmap ファイルのサイズよりも大きい場合、データの読み込みは高速です。私は約60バッチ/秒を取得します。ただし、使用可能な RAM が memmap ファイルのサイズよりも小さい場合、約 3 バッチ/秒になります。

memmap ファイルのさまざまなサイズを試したときに、これを発見しました。

これはなぜですか?使用可能な RAM < memmap ファイル サイズのときに Dataloader + memmap がスロットルしようとしている場合、これはソリューションのポイントを無効にします。

利用可能な RAM < memmap ファイル サイズの場合、ディスク I/O が常に 500MB/秒で読み取られることがわかりました。これは、4096 サンプルのバッチをロードするために必要な理論上の読み取り量 (8MB/秒に近い) よりもはるかに高い値です。