インスピレーションと洞察から生成されました 8 ソースから

img6

img7

img8

img9

img10

img11

はじめに

  • 概要:Torchvisionは、PyTorchプロジェクトの一部であり、コンピュータビジョンに特化した人気のあるデータセット、モデルアーキテクチャ、および一般的な画像変換を提供しています。

  • データセットモジュール:Torchvisionのデータセットモジュールは、多くの実世界のビジョンデータセットを提供し、利用可能です。

  • APIの特徴:すべてのデータセットはtorch.utils.data.Datasetのサブクラスで、__getitem__と__len__メソッドが実装されています。これにより、torch.utils.data.DataLoaderと互換性があります。

  • 変換機能:すべてのデータセットには、入力とターゲットをそれぞれ変換するためのtransformとtarget_transformという2つの共通の引数があります。

  • ビルトインデータセットの例:CIFAR、COCO、ImageNet、MNIST、UCF101など、多数のビルトインデータセットがあります。

ビルトインデータセット [1]

  • 例:CIFAR10とCIFAR100データセットは、トレーニングとテスト用に利用可能です。

  • 例:ImageNetデータセットは、画像認識のために広く使用されています。

  • 例:UCF101は、アクション認識用のビデオデータセットです。

  • 例:COCOは、検出およびキャプションタスクのための豊富なデータセットです。

  • 例:Fashion-MNISTは、衣料品を分類するためのデータセットです。

img6

データセットモジュール [2]

  • 講座:torchvision.datasetsモジュールでは、さまざまなビジョンデータセットのオブジェクトが用意されています。

  • 使い方:imagenet_data = torchvision.datasets.ImageNet('path/to/imagenet_root/') のように使用します。

  • データローダー:torch.utils.data.DataLoaderと組み合わせて、複数のサンプルを並行してロード可能です。

  • 注意点:データセットのダウンロードはマルチプロセスセーフではありません。

  • カスタム化:基本クラスを利用して独自のデータセットを作成可能です。

img6

APIの特徴 [2]

  • 共通メソッド:すべてのデータセットは__getitem__と__len__メソッドを提供します。

  • データローダーとの互換性:torch.utils.data.DataLoaderでの使用に最適化されています。

  • APIの一貫性:すべてのデータセットは共通のAPIを持ち、使い勝手が一致しています。

  • 変換オプション:transformとtarget_transformを使用して入力とターゲットをカスタマイズ可能。

  • シャッフルとバッチ処理:データローダーを使用して簡単にシャッフルやバッチ処理が可能です。

img6

img7

データの変換 [1]

  • 入力変換:transformオプションで入力画像をカスタマイズ可能です。

  • ターゲット変換:target_transformでターゲットラベルの変換を支持しています。

  • ユーザ定義の変換:カスタム関数を使って詳細な変換が可能です。

  • 変換の組み合わせ:transforms.Composeを用いて複数の変換を組み合わせることができます。

  • 例:transforms.ToTensor, transforms.RandomCropなどの変換が利用されています。

img6

ダウンロード方法 [2]

  • 手順:download=Trueのオプションを使用するとデータセットが自動でダウンロードされます。

  • 注意:既存のデータがある場合は、再度ダウンロードは行われません。

  • 配置先:データセットは指定したルートディレクトリに保存されます。

  • マルチプロセスの注意:ダウンロード中はマルチプロセッシングを避けることがあります。

  • 推奨:ダウンロードが済んでいない場合、最初にダウンロードを済ませることが推奨されます。

img6

関連動画

<br><br>