問題タブ [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.

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

image-processing - Pytorch - 推論中に損失 0.000 とキーエラーを取得する

私の列車セットには 51000 (3 チャネル) の画像が含まれています。2 列の画像とラベルを含む csv ファイル/データフレームからトレーニング用の画像を取得しようとしています。例: traindataset.loc[0][0] は最初の画像ディレクトリである「/kaggle/input/alaska2-image-steganalysis/UERD/00155.jpg」を意味し、traindataset.loc[0][1] は「1」を意味します。これはその画像のラベルで、2 つのラベル (1,0) が存在するため、バイナリ分類の問題ですが、コードにバグがあるかどうかを判断できませんでした。ここに私のコードがあります:

上記のコードを使用すると、次の出力が得られます。

訓練損失: 0.0000 訓練は 34 分 53 秒で完了

だから私の質問はなぜ損失:0.0000です

次に、次のようなテストセット予測を作成しようとしました:

そして今、私はこのエラーを受け取ります:

0 投票する
1 に答える
177 参照

python - Pytorch: DataLoader を使用して画像のサンプルをロードする

torch.utils.data の標準 DataLoader を使用します。データセット クラスを作成し、次のように DataLoader をビルドします。

それは完璧に機能しますが、データセットは十分に大きく、300k の画像です。そのため、DataLoader を使用すると画像の読み込みに時間がかかります。したがって、デバッグ段階でこのような大きな DataLoader を構築するのは本当に悲惨なことです。私は自分の仮説をいくつかテストしたいだけで、すぐに実行したいのです! このためにデータセット全体をロードする必要はありません。

データセット全体にdataLoaderを構築せずに、データセットの小さな固定部分だけをロードする方法を見つけようとしていますか? 現時点では、私のアイデアはすべて、別のフォルダーを作成し、ここに画像の一部をコピーして、パイプラインを使用することです。しかし、Pytorch は十分に賢いので、大きなデータセットから画像の一部だけを読み込むための組み込みメソッドがいくつかあると思います。どうすればよいかアドバイスいただけますか?

0 投票する
2 に答える
162 参照

python - カスタム データセット、データローダー、サンプラー、またはその他の何か?

私は、非常に大きな画像データセットで PyTorch フレームワーク NN をトレーニングする必要があるプロジェクトに取り組んでいます。これらの画像の一部は問題とはまったく無関係ですが、これらの無関係な画像はそのように分類されていません。ただし、それらが無関係であるかどうかを計算するために使用できるメトリックがいくつかあります (たとえば、すべてのピクセル値を合計すると、関連する画像とそうでない画像がよくわかります)。私が理想的にやりたいことは、Dataset クラスを取り、関連する画像のみでバッチを作成できる Dataloader を持つことです。Dataset クラスは画像とそのラベルのリストを知っているだけで、Dataloader はバッチを作成している画像が関連しているかどうかを解釈し、関連する画像のみを含むバッチを作成します。

これを例に適用するために、白黒画像のデータセットがあるとしましょう。白い画像は無関係ですが、そのようにラベル付けされていません。ファイルの場所からバッチをロードできるようにしたいのですが、これらのバッチには黒い画像のみが含まれています。ある時点で、すべてのピクセルを合計して 0 になるようにフィルタリングすることができます。

私が疑問に思っているのは、カスタム データセット、データローダー、またはサンプラーがこのタスクを解決できるかどうかということです。保存されたすべての画像のディレクトリとそのディレクトリ内のすべての画像のリストを格納するカスタム データセットを既に作成しており、getitem関数でそのラベルを含む画像を返すことができます。特定の画像を除外するために追加する必要があるものはありますか? または、そのフィルターをカスタム Dataloader または Sampler に適用する必要がありますか?

ありがとうございました!