コンピューター ビジョンは、著しい成長を遂げている分野であり、自動運転車から顔認識システムに至るまで、数多くの実用的なアプリケーションがあります。ただし、この分野の主な課題の 1 つは、機械学習モデルをトレーニングするための高品質のデータセットを取得することです。
この課題に対処するために、torchvision は、コンピューター ビジョン タスク用に特別に設計された事前構築済みのデータセット、モデル、および変換へのアクセスを提供します。また、Torchvision は CPU と GPU アクセラレーションの両方をサポートしているため、コンピューター ビジョン アプリケーションを開発するための柔軟で強力なツールとなっています。
Torchvision データセットは、機械学習モデルの開発とテストのためにコンピューター ビジョンで一般的に使用される一般的なデータセットのコレクションです。 torchvision データセットを使用すると、開発者は、画像分類、オブジェクト検出、セグメンテーションなどのさまざまなタスクで機械学習モデルをトレーニングおよびテストできます。
データセットも前処理され、ラベル付けされ、簡単に読み込んで使用できる形式に編成されます。
この torchvision データセットは人気があり、機械学習とコンピューター ビジョンの分野で広く使用されています。これは、手書きの数字 0 ~ 9 の 70,000 枚のグレースケール画像で構成され、トレーニング用に 60,000 枚の画像、テスト用に 10,000 枚の画像が含まれます。各画像のサイズは 28x28 ピクセルで、対応するラベルで、それが表す数字を示します。
このデータセットにアクセスするには、から直接ダウンロードできます。
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から取得。
CIFAR-10 データセットは、10 クラスの 60,000 枚の 32x32 カラー画像で構成され、クラスごとに 6,000 枚の画像があります。合計 50,000 のトレーニング イメージと 10,000 のテスト イメージがあり、さらに 5 つのトレーニング バッチと 1 つのテスト バッチに分割され、それぞれに 10,000 のイメージがあります。
このデータセットは、からダウンロードできます。
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から取得。
CIFAR-100 データセットには、100 クラスに 60,000 (50,000 のトレーニング画像と 10,000 のテスト画像) の 32x32 カラー画像があり、クラスごとに 600 の画像があります。 100 個のクラスは 20 個のスーパークラスにグループ化され、そのクラスを表す細かいラベルと、そのクラスが属するスーパークラスを表す粗いラベルが付いています。
Kaggle から Torchvision データセットをダウンロードするには、Kaggle にアクセスしてください。
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から取得。
torchvision の ImageNet データセットには、約 120 万のトレーニング画像、50,000 の検証画像、および 100,000 のテスト画像が含まれています。データセット内の各画像は、「猫」、「犬」、「車」、「飛行機」など、1,000 のカテゴリのいずれかでラベル付けされています。
この 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から取得。
Microsoft Common Objects in Context(MS Coco) データセットには、日常のオブジェクトと人間の 328,000 の高品質のビジュアル イメージが含まれており、リアルタイムのオブジェクト検出におけるアルゴリズムのパフォーマンスを比較するための標準としてよく使用されます。
この 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から取得。
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から取得。
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から取得。
STL-10 データセットは、10 クラスで構成される画像認識データセットで、合計で約 6,000 以上の画像があります。 STL-10 は「Image Recognition-10 クラスの標準トレーニングおよびテスト セット」の略で、データセット内の 10 クラスは次のとおりです。
このデータセットにアクセスするには、から直接ダウンロードできます。
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から取得。
この 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から取得。
VOC データセット (Visual Object Classes) は、視覚認識の最先端を目指す PASCAL VOC チャレンジの一環として 2005 年に初めて導入されました。動物、乗り物、一般的な家庭用品など、20 種類のオブジェクト カテゴリの画像で構成されています。これらの各画像には、画像内のオブジェクトの位置と分類に関する注釈が付けられています。注釈には、境界ボックスとピクセル レベルのセグメンテーション マスクの両方が含まれます。
データセットは、トレーニング セットと検証セットの 2 つの主要なセットに分割されます。トレーニング セットには注釈付きの約 5,000 枚の画像が含まれていますが、検証セットには注釈のない約 5,000 枚の画像が含まれています。さらに、データセットには約 10,000 枚の画像を含むテスト セットも含まれていますが、このセットの注釈は公開されていません。
最近のデータセットにアクセスするには、
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から取得。
Places365 データセットは、365 のシーン カテゴリをカバーする 180 万を超える画像を含む大規模なシーン認識データセットです。 Places365 Standard データセットは約 180 万の画像で構成されていますが、Places365-Challenge データセットには、認識モデルにとってより困難な 50,000 の追加の検証画像が含まれています。
このデータセットにアクセスするには、次を使用できます
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から取得。
Torchvision データセットは、コンピューター ビジョン アプリケーションで一般的に使用される畳み込みニューラル ネットワーク (CNN) などの機械学習モデルのトレーニングと評価によく使用されます。
また、どなたでも自由にダウンロードしてご利用いただけます。
この記事のリード画像は、HackerNoon の AI Stable Diffusionモデルを介して、「小さなフレームにまとめられた数千の画像」というプロンプトを使用して生成されました。
その他のデータセット リスト: