問題タブ [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.
python - トレーニング セットのラベルを取得する際の問題
関数を使用してデータを、、、train_test_split
に分割し、それを CNN にフィードしていましたが、混同行列を作成して予測テンソルと比較するためにラベル テンソルにアクセスする方法がわからないという問題があります。私はそれが基本的な質問であることを知っていますが、とにかくあなたの助けに感謝します.X_train
X_test
y_train
y_test
utils.data.DataLoader
そして私は使った
私のネットワークにデータを供給するために、train_setの後にtargets属性を入力するだけでラベルにアクセスできるようですが、そのようtrain_set.targets
には機能しません。ラベルを取得するにはどうすればよいですか?
python - PyTorch DataLoader は、バッチを唯一のエントリとして、バッチをリストとして返します。DataLoader からテンソルを取得する最良の方法は?
DataLoader
現在、numpy 配列をバッチ処理するために使用したい次のような状況があります。
batch
はすでに であると予想していtorch.Tensor
ます。今のところbatch[0]
、Tensor を取得するためにバッチにインデックスを付けていますが、これはあまりきれいではなく、コードが読みにくくなっていると感じています。
DataLoader
が と呼ばれるバッチ処理関数を使用することがわかりましたcollate_fn
。ただし、設定は、唯一のエントリが Tensor としてのバッチでdata_utils.DataLoader(..., collage_fn=lambda batch: batch[0])
あるタプルにリストを変更するだけです。(tensor([ 0.8454, ..., -0.5863]),)
バッチをテンソルにエレガントに変換する方法を見つけるのを手伝ってくれて、私を大いに助けてくれます (バッチ内の単一のエントリにインデックスを付けても問題ないことを教えてくれる場合でも)。
python - __getitem__ の idx は PyTorch の DataLoader 内でどのように機能しますか?
現在、PyTorch の DataLoader を使用してデータを処理し、深層学習モデルにフィードしようとしていますが、いくつかの問題に直面しています。
必要なデータは形(minibatch_size=32, rows=100, columns=41)
です。私が書いたカスタム クラス内の__getitem__
コードDataset
は次のようになります。
このように記述した理由は、DataLoader で形状の入力インスタンスを一度に処理する必要(100, 41)
があり、これらの単一インスタンスが 32 個あるためです。
ただし、当初の考えに反してidx
、DataLoader が関数に渡す引数がシーケンシャルではないことに気付きました (データが時系列データであるため、これは重要です)。たとえば、値を出力すると、次のようになります。
これは正常な動作ですか?返されたデータ バッチが最初に望んでいたものではないため、この質問を投稿しています。
DataLoader を使用する前にデータを前処理するために使用した元のロジックは次のとおりです。
txt
またはcsv
ファイルからデータを読み込みます。- データに含まれるバッチの数を計算し、それに応じてデータをスライスします。たとえば、1 つの入力インスタンスが形状
(100, 41)
であり、これらの 32 が 1 つのミニバッチを形成するため、通常は約 100 程度のバッチになり、それに応じてデータを再形成します。 - 1 つの入力は shape
(32, 100, 41)
です。
DataLoader フック メソッドを他にどのように処理すればよいかわかりません。ヒントやアドバイスは大歓迎です。前もって感謝します。