pytorchに付属しているデータセットは、二つの上位レベルのAPIによって提供され、torchvision
そしてtorchtext
その中で:
torchvision
画像データ処理に関連するAPIとデータを提供します- データの場所
torchvision.datasets
:(例:(torchvision.datasets.MNIST
手書きのデジタル画像データ)
- データの場所
torchtext
テキストデータ処理に関連するAPIとデータを提供します- データの場所:
torchtext.datasets
例:torchtext.datasets.IMDB(电影
コメントテキストデータ)
- データの場所:
Mnistの手書きの数値を例として取り上げて、pytorchが独自のデータセットをロードする方法を見てみましょう。
使用方法は以前と同じです。
- データセットインスタンスを準備します
- データセットをデータローダーに渡して、注文を中断し、バッチを形成します
4.1 torchversion.datasets
torchversoin.datasets
(たとえばtorchvision.datasets.MNIST
)のデータセットクラスはから継承されますDataset
手段:直接インスタンス化するtorchvision.datasets.MNIST
ことで取得できるDataset
インスタンス
ただし、MNISTAPIのパラメーターには注意する必要があります。
torchvision.datasets.MNIST(root='/files/', train=True, download=True, transform=)
root
パラメータは、データが保存される場所を示しますtrain:
ブール型は、トレーニングセットのデータとテストセットのデータのどちらを使用するかを示します。download:
ルートディレクトリにデータをダウンロードする必要があるかどうかを示すブール型transform:
実現した画像処理機能
4.2MNISTデータセットの概要
データセットの元のアドレス:http://yann.lecun.com/exdb/mnist/
MNISTはYann LeCun
、et al。が提供する無料の画像認識データセットで、60,000のトレーニングサンプルと10,000のテストサンプルが含まれています。画像のサイズは標準化されています。これらはすべて白黒画像で、サイズは28X28
コードを実行し、データをダウンロードし、データ型を観察します。
import torchvision
dataset = torchvision.datasets.MNIST(root="./data",train=True,download=True,transform=None)
print(dataset[0])
ダウンロードしたデータは次のとおりです。
コードの出力は次のとおりです。
Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz
Downloading http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz
Downloading http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz
Downloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz
Processing...
Done!
(<PIL.Image.Image image mode=L size=28x28 at 0x18D303B9C18>, tensor(5))
データセットから2つのデータを返すことができます。これは、画像のデータとターゲット値として推測できます。
0番目の戻り値はImage型であり、show()メソッドを呼び出すことで開くことができ、手書きの番号5であることがわかります。
import torchvision
dataset = torchvision.datasets.MNIST(root="./data",train=True,download=True,transform=None)
print(dataset[0])
img = dataset[0][0]
img.show() #打开图片
写真は次のとおりです。
上記からわかるように、戻り値はです(图片,目标值)
。この結果は、ソースコードを観察することによっても取得できます。