paint-brush
知っておくべきコンピューター ビジョン用の 11 の Torchvision データセット@datasets
7,691 測定値
7,691 測定値

知っておくべきコンピューター ビジョン用の 11 の Torchvision データセット

長すぎる; 読むには

Torchvision は、コンピューター ビジョン タスク用に特別に設計された事前構築済みのデータセット、モデル、および変換へのアクセスを提供します。データセットは前処理され、ラベル付けされ、簡単に読み込んで使用できる形式に編成されます。また、Torchvision は CPU と GPU アクセラレーションの両方をサポートしているため、コンピューター ビジョン アプリケーションを開発するための柔軟で強力なツールとなっています。
featured image - 知っておくべきコンピューター ビジョン用の 11 の Torchvision データセット
Open Datasets Compiled by HackerNoon HackerNoon profile picture

コンピューター ビジョンは、著しい成長を遂げている分野であり、自動運転車から顔認識システムに至るまで、数多くの実用的なアプリケーションがあります。ただし、この分野の主な課題の 1 つは、機械学習モデルをトレーニングするための高品質のデータセットを取得することです。


この課題に対処するために、torchvision は、コンピューター ビジョン タスク用に特別に設計された事前構築済みのデータセット、モデル、および変換へのアクセスを提供します。また、Torchvision は CPU と GPU アクセラレーションの両方をサポートしているため、コンピューター ビジョン アプリケーションを開発するための柔軟で強力なツールとなっています。

「Torchvision データセット」とは何ですか?

Torchvision データセットは、機械学習モデルの開発とテストのためにコンピューター ビジョンで一般的に使用される一般的なデータセットのコレクションです。 torchvision データセットを使用すると、開発者は、画像分類、オブジェクト検出、セグメンテーションなどのさまざまなタスクで機械学習モデルをトレーニングおよびテストできます。

データセットも前処理され、ラベル付けされ、簡単に読み込んで使用できる形式に編成されます。

Torchvision データセットのリスト

  1. MNIST
  2. CIFAR-10
  3. CIFAR-100
  4. ImageNet
  5. ココ
  6. ファッション-MNIST
  7. SVHN
  8. STL-10
  9. セレブA
  10. パスカル VOC
  11. Places365

1. MNIST

この torchvision データセットは人気があり、機械学習とコンピューター ビジョンの分野で広く使用されています。これは、手書きの数字 0 ~ 9 の 70,000 枚のグレースケール画像で構成され、トレーニング用に 60,000 枚の画像、テスト用に 10,000 枚の画像が含まれます。各画像のサイズは 28x28 ピクセルで、対応するラベルで、それが表す数字を示します。


このデータセットにアクセスするには、から直接ダウンロードできます。カグルまたは torchvision を使用してデータセットをロードします。


 import torchvision.datasets as datasets # Load the training dataset train_dataset = datasets.MNIST(root='data/', train=True, transform=None, download=True) # Load the testing dataset test_dataset = datasets.MNIST(root='data/', train=False, transform=None, download=True)


PyTorch torchvision パッケージを使用して MNIST データセットをロードするためのコード。 2023 年 3 月 20 日にhttps://pytorch.org/vision/stable/generated/torchvision.datasets.MNIST.html#torchvision.datasets.MNISTから取得。


MNIST データセットの表現

2. CIFAR-10

CIFAR-10 データセットは、10 クラスの 60,000 枚の 32x32 カラー画像で構成され、クラスごとに 6,000 枚の画像があります。合計 50,000 のトレーニング イメージと 10,000 のテスト イメージがあり、さらに 5 つのトレーニング バッチと 1 つのテスト バッチに分割され、それぞれに 10,000 のイメージがあります。


このデータセットは、からダウンロードできます。カグル、または torchvision を使用してここにロード:


 import torch import torchvision import torchvision.transforms as transforms transform = transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]) trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform) testset = torchvision.datasets.CIFAR10(root='./data', train=False, download=True, transform=transform) trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True, num_workers=2) testloader = torch.utils.data.DataLoader(testset, batch_size=4, shuffle=False, num_workers=2)


必要に応じて、データ ローダーのバッチ サイズとワーカー プロセスの数を調整できることに注意してください。


PyTorch torchvision パッケージを使用して CIFAR-10 データセットをロードするためのコード。 2023 年 3 月 20 日にhttps://pytorch.org/vision/stable/generated/torchvision.datasets.CIFAR10.html#torchvision.datasets.CIFAR10から取得。

3. CIFAR-100

CIFAR-100 データセットには、100 クラスに 60,000 (50,000 のトレーニング画像と 10,000 のテスト画像) の 32x32 カラー画像があり、クラスごとに 600 の画像があります。 100 個のクラスは 20 個のスーパークラスにグループ化され、そのクラスを表す細かいラベルと、そのクラスが属するスーパークラスを表す粗いラベルが付いています。


Kaggle から Torchvision データセットをダウンロードするには、Kaggle にアクセスしてください。 Webサイトそこにある指示に従ってください。あるいは、torchvision ライブラリを使用してデータセットをロードしたい場合は、次のようにすることができます。


 import torchvision.datasets as datasets import torchvision.transforms as transforms # Define transform to normalize data transform = transforms.Compose([ transforms.ToTensor(), transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]) ]) # Load CIFAR-100 train and test datasets trainset = datasets.CIFAR100(root='./data', train=True, download=True, transform=transform) testset = datasets.CIFAR100(root='./data', train=False, download=True, transform=transform) # Create data loaders for train and test datasets trainloader = torch.utils.data.DataLoader(trainset, batch_size=64, shuffle=True) testloader = torch.utils.data.DataLoader(testset, batch_size=64, shuffle=False)


PyTorch torchvision パッケージを使用して CIFAR-100 データセットをロードするためのコード。 2023 年 3 月 20 日にhttps://pytorch.org/vision/stable/generated/torchvision.datasets.CIFAR100.html#torchvision.datasets.CIFAR100から取得。

4. ImageNet

torchvision の ImageNet データセットには、約 120 万のトレーニング画像、50,000 の検証画像、および 100,000 のテスト画像が含まれています。データセット内の各画像は、「猫」、「犬」、「車」、「飛行機」など、1,000 のカテゴリのいずれかでラベル付けされています。


この Torchvision データセットをダウンロードするには、 Webサイトまたは torchvision にロードします。


 import torchvision.datasets as datasets import torchvision.transforms as transforms # Set the path to the ImageNet dataset on your machine data_path = "/path/to/imagenet" # Create the ImageNet dataset object with custom options imagenet_train = datasets.ImageNet( root=data_path, split='train', transform=transforms.Compose([ transforms.Resize(256), transforms.RandomCrop(224), transforms.RandomHorizontalFlip(), transforms.ToTensor(), transforms.Normalize( mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]), download=False ) imagenet_val = datasets.ImageNet( root=data_path, split='val', transform=transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), transforms.Normalize( mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]), download=False ) # Print the number of images in the training and validation sets print("Number of images in the training set:", len(imagenet_train)) print("Number of images in the validation set:", len(imagenet_val))


PyTorch torchvision パッケージを使用して ImageNet データセットをロードするためのコード。 2023 年 3 月 21 日にhttps://pytorch.org/vision/stable/generated/torchvision.datasets.ImageNet.html#torchvision.datasets.ImageNetから取得。


ImageNet データセットの表現

5. MS ココ

Microsoft Common Objects in Context(MS Coco) データセットには、日常のオブジェクトと人間の 328,000 の高品質のビジュアル イメージが含まれており、リアルタイムのオブジェクト検出におけるアルゴリズムのパフォーマンスを比較するための標準としてよく使用されます。


この Torchvision データセットをダウンロードするには、 Webサイトまたは torchvision にロードします。


 import torch from torchvision import datasets, transforms # Define transformation transform = transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) # Load training dataset train_dataset = datasets.CocoDetection(root='/path/to/dataset/train2017', annFile='/path/to/dataset/annotations/instances_train2017.json', transform=transform) train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=32, shuffle=True) # Load validation dataset val_dataset = datasets.CocoDetection(root='/path/to/dataset/val2017', annFile='/path/to/dataset/annotations/instances_val2017.json', transform=transform) val_loader = torch.utils.data.DataLoader(val_dataset, batch_size=32, shuffle=False)


/path/to/dataset プレースホルダーは、データセット ディレクトリへの実際のパスに置き換えてください。また、必要に応じて batch_size パラメータを調整します。


PyTorch torchvision パッケージを使用して MS Coco データセットをロードするためのコード。 2023 年 3 月 21 日にhttps://pytorch.org/vision/stable/generated/torchvision.datasets.CocoDetection.html#torchvision.datasets.CocoDetectionから取得。

6. ファッション-MNIST

Fashion MNIST データセットは、元の MNIST データセットの代わりとして Zalando Research によって作成されました。 Fashion MNIST データセットは、衣料品の 70,000 のグレースケール画像 (60,000 のトレーニング セットと 10,000 のテスト セット) で構成されています。


画像のサイズは 28x28 ピクセルで、T シャツ/トップス、ズボン、プルオーバー、ドレス、コート、サンダル、シャツ、スニーカー、バッグ、アンクル ブーツなど、10 種類の衣料品を表しています。これは元の MNIST データセットに似ていますが、衣類のアイテムがより複雑で多様であるため、分類タスクがより困難になっています。


この Torchvision データセットは、次の場所からダウンロードできます。カグル、またはこのコードを使用してロードされます:


 import torch import torchvision import torchvision.transforms as transforms # Define transformations transform = transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))]) # Load the dataset trainset = torchvision.datasets.FashionMNIST(root='./data', train=True, download=True, transform=transform) testset = torchvision.datasets.FashionMNIST(root='./data', train=False, download=True, transform=transform) # Create data loaders trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True, num_workers=2) testloader = torch.utils.data.DataLoader(testset, batch_size=4, shuffle=False, num_workers=2)


PyTorch torchvision パッケージを使用して Fashion-MNIST データセットをロードするためのコード。 2023 年 3 月 21 日にhttps://pytorch.org/vision/stable/generated/torchvision.datasets.FashionMNIST.html#torchvision.datasets.FashionMNISTから取得。

7。 SVHN

SVHN (Street View House Numbers) データセットは、Google のストリート ビュー画像から派生した画像データセットであり、ストリート レベルの画像から取得された家番号のトリミングされた画像で構成されます。すべての番地とその境界ボックスを含む完全な形式と、番地のみのトリミングされた形式で利用できます。完全な形式はオブジェクト検出タスクによく使用されますが、トリミングされた形式は分類タスクによく使用されます。


SVHN データセットも torchvision パッケージに含まれており、トレーニング用の 73,257 枚の画像、テスト用の 26,032 枚の画像、追加のトレーニング データ用の 531,131 枚の追加画像が含まれています。


この Torchvision データセットをダウンロードするには、次の URL にアクセスしてください。カグルまたは、ここでロードできます。


 import torchvision import torch # Load the train and test sets train_set = torchvision.datasets.SVHN(root='./data', split='train', download=True, transform=torchvision.transforms.ToTensor()) test_set = torchvision.datasets.SVHN(root='./data', split='test', download=True, transform=torchvision.transforms.ToTensor()) # Create data loaders train_loader = torch.utils.data.DataLoader(train_set, batch_size=64, shuffle=True) test_loader = torch.utils.data.DataLoader(test_set, batch_size=64, shuffle=False)


PyTorch torchvision パッケージを使用して SVHN データセットをロードするためのコード。 2023 年 3 月 22 日にhttps://pytorch.org/vision/stable/generated/torchvision.datasets.SVHN.html#torchvision.datasets.SVHNから取得。

8. STL-10

STL-10 データセットは、10 クラスで構成される画像認識データセットで、合計で約 6,000 以上の画像があります。 STL-10 は「Image Recognition-10 クラスの標準トレーニングおよびテスト セット」の略で、データセット内の 10 クラスは次のとおりです。


  • 飛行機
  • 鹿
  • トラック


このデータセットにアクセスするには、から直接ダウンロードできます。カグルまたは torchvision を使用してデータセットをロードします。


 import torchvision.datasets as datasets import torchvision.transforms as transforms # Define the transformation to apply to the data transform = transforms.Compose([ transforms.ToTensor(), # Convert PIL image to PyTorch tensor transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) # Normalize the data ]) # Load the STL-10 dataset train_dataset = datasets.STL10(root='./data', split='train', download=True, transform=transform) test_dataset = datasets.STL10(root='./data', split='test', download=True, transform=transform)


PyTorch torchvision パッケージを使用して STL-10 データセットをロードするためのコード。 2023 年 3 月 22 日にhttps://pytorch.org/vision/stable/generated/torchvision.datasets.STL10.html#torchvision.datasets.STL10から取得。

9. セレブA

この torchvision データセットは、人気のある大規模な顔属性データセットで、200,000 を超える有名人の画像で構成されています。 2015 年に香港中文大学の研究者によって初めて公開されました。CelebA の画像は、年齢、髪の色、表情、性別などの 40 の顔属性で構成されています。また、これらの画像はインターネットから取得されたもので、さまざまな人種、年齢、性別など、さまざまな顔の外観をカバーしています。各画像の顔の位置の境界ボックスの注釈と、目、鼻、口の 5 つのランドマーク ポイント。


このデータセットは次のサイトでダウンロードできますカグルまたは、次のコードを使用してロードします。


 import torchvision.datasets as datasets import torchvision.transforms as transforms transform = transforms.Compose([ transforms.CenterCrop(178), transforms.Resize(128), transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) ]) celeba_dataset = datasets.CelebA(root='./data', split='train', transform=transform, download=True)


PyTorch torchvision パッケージを使用して CelebA データセットをロードするためのコード。 2023 年 3 月 22 日にhttps://pytorch.org/vision/stable/generated/torchvision.datasets.CelebA.html#torchvision.datasets.CelebAから取得。

10. パスカル VOC

VOC データセット (Visual Object Classes) は、視覚認識の最先端を目指す PASCAL VOC チャレンジの一環として 2005 年に初めて導入されました。動物、乗り物、一般的な家庭用品など、20 種類のオブジェクト カテゴリの画像で構成されています。これらの各画像には、画像内のオブジェクトの位置と分類に関する注釈が付けられています。注釈には、境界ボックスとピクセル レベルのセグメンテーション マスクの両方が含まれます。


データセットは、トレーニング セットと検証セットの 2 つの主要なセットに分割されます。トレーニング セットには注釈付きの約 5,000 枚の画像が含まれていますが、検証セットには注釈のない約 5,000 枚の画像が含まれています。さらに、データセットには約 10,000 枚の画像を含むテスト セットも含まれていますが、このセットの注釈は公開されていません。


最近のデータセットにアクセスするには、 Webサイトカグルまたは torchvision にロードします:


 import torch import torchvision from torchvision import transforms # Define transformations to apply to the images transform = transforms.Compose([ transforms.Resize((224, 224)), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) # Load the train and validation datasets train_dataset = torchvision.datasets.VOCDetection(root='./data', year='2007', image_set='train', transform=transform) val_dataset = torchvision.datasets.VOCDetection(root='./data', year='2007', image_set='val', transform=transform) # Create data loaders train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=32, shuffle=True) val_loader = torch.utils.data.DataLoader(val_dataset, batch_size=32, shuffle=False)


PyTorch torchvision パッケージを使用して PASCAL VOC データセットをロードするためのコード。 2023 年 3 月 22 日にhttps://pytorch.org/vision/stable/generated/torchvision.datasets.VOCDetection.html#torchvision.datasets.VOCDetectionから取得。

11. Places365

Places365 データセットは、365 のシーン カテゴリをカバーする 180 万を超える画像を含む大規模なシーン認識データセットです。 Places365 Standard データセットは約 180 万の画像で構成されていますが、Places365-Challenge データセットには、認識モデルにとってより困難な 50,000 の追加の検証画像が含まれています。


このデータセットにアクセスするには、次を使用できますカグルまたは torchvision をここにロードします:


 import torch import torchvision from torchvision import transforms # Define transformations to apply to the images transform = transforms.Compose([ transforms.Resize((224, 224)), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) # Load the train and validation datasets train_dataset = torchvision.datasets.Places365(root='./data', split='train-standard', transform=transform) val_dataset = torchvision.datasets.Places365(root='./data', split='val', transform=transform) # Create data loaders train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=32, shuffle=True) val_loader = torch.utils.data.DataLoader(val_dataset, batch_size=32, shuffle=False)


PyTorch torchvision パッケージを使用して Places365 データセットをロードするためのコード。 2023 年 3 月 22 日にhttps://pytorch.org/vision/stable/generated/torchvision.datasets.Places365.html#torchvision.datasets.Places365から取得。


Places365 データセットの表現

Torchvision データセットの一般的なユース ケース

MNIST - このデータセットは、画像分類タスク、特に手書きの数字認識によく使用されます。


CIFAR-10CIFAR-100 - これらのデータセットは、画像分類タスク、特にオブジェクト認識によく使用されます。


ImageNet - この torchvision データセットには、さまざまな物体や動物の何百万もの画像が含まれており、一般的に物体認識タスクに使用されます。


MS ココ- このデータセットは、オブジェクト検出、セグメンテーション、キャプション タスクによく使用されます。


ファッション-MNIST - MNIST と同様に、このデータセットは一般的に画像分類タスク、特にファッション アイテムの認識に使用されます。


SVHN - このデータセットは、数字認識タスクによく使用されます。これは、実際の設定で数値を認識するためのアルゴリズムの開発とテストに特に役立ちます。


STL-10 - この torchvision データセットは、画像分類タスク、特に物体認識によく使用されます。


セレブA - このデータセットは、顔認識および属性分類タスクに一般的に使用されます。さまざまな表情、ポーズ、背景の画像で構成されています。


パスカル VOC - このデータセットは、オブジェクト検出およびセグメンテーション タスクに一般的に使用されます。


Places365 - このデータセットは、シーン認識タスクによく使用されます。ベッドルーム、ビーチ、オフィスなど、屋内外のさまざまなシーンの画像で構成されています。

最終的な考え

Torchvision データセットは、コンピューター ビジョン アプリケーションで一般的に使用される畳み込みニューラル ネットワーク (CNN) などの機械学習モデルのトレーニングと評価によく使用されます。


また、どなたでも自由にダウンロードしてご利用いただけます。


この記事のリード画像は、HackerNoon の AI Stable Diffusionモデルを介して、「小さなフレームにまとめられた数千の画像」というプロンプトを使用して生成されました。


その他のデータセット リスト:

  1. Excel データセット
  2. Keras データセット
  3. R データセット
  4. PyTorch データセット
  5. ハグ データセット