問題タブ [dataloader]
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.
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/秒に近い) よりもはるかに高い値です。
python - pytorch データセットのクラスあたりのインスタンス数
PyTorch を使用して単純な画像分類子を作成しようとしています。これは、データをデータセットと dataLoader にロードする方法です。
次のように、トレーニング データとテスト データの各クラスの画像数を個別に出力したいと思います。
列車データ:
- 靴: 20
- シャツ: 14
テストデータでは:
- 靴: 4
- シャツ: 3
私はこれを試しました:
しかし、私はこのエラーが発生しました:
python - PyTorch:既存のデータセットに別の変換を適用する方法は?
これはコード例です:
データセットはランダムにリサンプリングされるため、新しいデータセットを でリロードするのではなく、既存のデータセットにtransform
適用するだけです。transform
助けてくれてありがとう:D
python - pytorch enumerate の使用時にファイルを閉じることができませんでした。
pytorch enumerate メソッドを呼び出すとエラーが発生するようです。エラーメッセージだけをグーグルで調べたところ、私のオペレーティングシステムであるmacOS catalinaに問題があるようです。私が見つけられなかった解決策はありますか、および/または列挙を使用する代わりの方法はありますか? (私は他の誰かが書いたスクリプトを実行していますが、pytorch の DataLoaders に精通しておらず、enumerate メソッドに関する多くの情報を見つけることができませんでした)。完全なエラー メッセージは次のとおりです。