「Pytorch:data」の版間の差分

提供:classwiki
ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
1行目: 1行目:
= データセットの扱い =
= データセットの扱い =
Pytorch の標準機能を用いてデータセットを扱う練習と,自作のデータ拡張(data augmentation)機能の実装方法について学びます.
Pytorch でデータセットを扱う練習と,データ拡張(data augmentation)機能の実装方法について学びます.


== DataLoader ==
== Pytorch の DataLoader とは ==
PyTorchにおけるDataLoaderは、大規模なデータセットを効率的にミニバッチに分割し、前処理やシャッフルを行いながら,モデルに供給するための機能です。
PyTorchにおける DataLoader は、大規模なデータセットを効率的にミニバッチに分割し、前処理やシャッフルを行いながら,モデルに供給するための機能です。


前処理には以下のように,Pytorchでの用いた学習・推論のために最低限必要な処理と,
前処理には,Pytorchでの用いた学習・推論のために最低限必要な処理と,
# 縦横のサイズ(解像度)調整
# 縦横のサイズ(解像度)調整
# 型キャスト
# 型キャスト
13行目: 13行目:
# ランダムな回転
# ランダムな回転
# ランダムな色変更
# ランダムな色変更
# ランダムなマスク処理
など.
など.
== DataLoader の作り方 ==
以下は,最もシンプルな例.
# ライブラリのインポート
from torchvision import datasets, transforms
from torch.utils.data import DataLoader
# 前処理
transform = transforms.Compose([
    transforms.ToTensor(),
])
# データローダーの作成
ds = datasets.STL10(root='./data', split='train', download=False, transform=transform)
tl = DataLoader(ds, batch_size=batch_size, shuffle=True)
ここで,torchvision とは,Pytorch で画像データを扱うときに使える便利なライブラリです.Torchvision に含まれる datasets というモジュールはデータのファイルの読み込みやデータセットの分割(学習用・検証用・テスト用に分割)などに,transforms というモジュールはデータの前処理に,それぞれ使われます.

2025年2月22日 (土) 14:44時点における版

データセットの扱い

Pytorch でデータセットを扱う練習と,データ拡張(data augmentation)機能の実装方法について学びます.

Pytorch の DataLoader とは

PyTorchにおける DataLoader は、大規模なデータセットを効率的にミニバッチに分割し、前処理やシャッフルを行いながら,モデルに供給するための機能です。

前処理には,Pytorchでの用いた学習・推論のために最低限必要な処理と,

  1. 縦横のサイズ(解像度)調整
  2. 型キャスト

学習後の精度をより良くするためのデータ拡張があります.

  1. ランダムな左右反転
  2. ランダムな並進
  3. ランダムな回転
  4. ランダムな色変更
  5. ランダムなマスク処理

など.

DataLoader の作り方

以下は,最もシンプルな例.

# ライブラリのインポート
from torchvision import datasets, transforms
from torch.utils.data import DataLoader
# 前処理
transform = transforms.Compose([
    transforms.ToTensor(),
])

# データローダーの作成
ds = datasets.STL10(root='./data', split='train', download=False, transform=transform)
tl = DataLoader(ds, batch_size=batch_size, shuffle=True)

ここで,torchvision とは,Pytorch で画像データを扱うときに使える便利なライブラリです.Torchvision に含まれる datasets というモジュールはデータのファイルの読み込みやデータセットの分割(学習用・検証用・テスト用に分割)などに,transforms というモジュールはデータの前処理に,それぞれ使われます.