機械学習または深層学習モデルをトレーニングする目標は、「汎用」モデルになることです。これには、モデルがトレーニング データセットに過剰適合しないことが必要です。つまり、モデルが目に見えないデータをよく理解している必要があります。データ拡張も、過剰適合を回避するための多くの方法の 1 つです。
モデルのトレーニングに使用されるデータの量を拡大するプロセスは、データ拡張と呼ばれます。複数のデータ型を使用してモデルをトレーニングすることにより、より「一般化された」モデルを取得できます。 「複数のデータ型」とはどういう意味ですか?この記事では、「画像」データ拡張テクノロジについてのみ説明し、さまざまな画像データ拡張戦略を詳細に紹介するだけです。また、PyTorch を使用して、主に画像データやコンピューター ビジョンで使用されるデータ拡張テクニックを実践して実装します。
import PIL.Image as Image import torch from torchvision import transforms import matplotlib.pyplot as plt import numpy as np import warnings def imshow(img_path, transform):
path = './kitten.jpeg' transform = transforms.Resize((224, 224)) imshow(path, transform)
transform = transforms.CenterCrop((224, 224)) imshow(path, transform)
transform = transforms.RandomResizedCrop((100, 300)) imshow(path, transform)
transform = transforms.RandomHorizontalFlip() imshow(path, transform)
transform = transforms.Pad((50,50,50,50)) imshow(path, transform)
transform = transforms.RandomRotation(15) imshow(path, transform)
transform = transforms.RandomAffine(1, translate=(0.5, 0.5), scale=(1, 1), shear=(1,1), fillcolor=(256,256,256)) imshow(path, transform)
transform = transforms.GaussianBlur(7, 3) imshow(path, transform)
transform = transforms.Grayscale(num_output_channels=3) imshow(path, transform)
transform = transforms.ColorJitter(brightness=2) imshow(path, transform)
transform = transforms.ColorJitter(cnotallow=2) imshow(path, transform)
一般的に使用される 12 の画像データ補正技術のまとめ中颜色的分离被定义为饱和度。
transform = transforms.ColorJitter(saturatinotallow=20) imshow(path, transform)
色调被定义为一般的に使用される 12 の画像データ補正技術のまとめ中颜色的深浅。
transform = transforms.ColorJitter(hue=2) imshow(path, transform)
图像本身的变化将有助于模型对未见数据的泛化,从而不会对数据进行过拟合。以上整理的都是我们常见的数据增强技术,torchvision中还包含了很多方法,可以在他的文档中找到:https://pytorch.org/vision/stable/transforms.html
以上が一般的に使用される 12 の画像データ補正技術のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。