目次
PyTorch 基礎
PyTorch の主要な機能一覧
PyTorch は、機械学習やディープラーニングの実装に便利なさまざまな機能を提供しています。
その中でも、必須の機能 を以下に整理しました。一つずつ学習していきましょう。
1. Tensor(テンソル)
- 数値データを効率的に扱うための基本的なデータ構造
- NumPy の
ndarray
に似ているが、GPU を使った計算が可能 - 自動微分(Autograd) に対応している
2. Autograd(自動微分)
- 勾配(微分)を自動計算する機能
- 損失関数を微分して、最適化の計算を簡単に行える
3. Optimizer(最適化アルゴリズム)
- 勾配降下法(Gradient Descent)や Adam などの最適化アルゴリズムを提供
torch.optim
を使用してモデルのパラメータを更新
4. nn(ニューラルネットワークの構築)
torch.nn
はディープラーニングの層(レイヤー)を構築するためのモジュールtorch.nn.Module
を継承してモデルを定義できる
5. Dataset & DataLoader(データセット管理)
- 大量のデータを扱いやすくするためのツール
- バッチ処理やシャッフルを簡単に実装
6. GPU & CUDA(GPU 計算)
- PyTorch は GPU を使った高速計算が可能
to("cuda")
を使うことで GPU へ Tensor を移動できる
7. torchvision(画像データ処理)
- 画像データの前処理、データセットの管理、モデルの読み込みが可能
torchvision.datasets
で MNIST などのデータセットを利用できる
8. torchtext(自然言語処理)
- テキストデータの前処理やデータセットの管理を提供
torchtext.datasets
を使えば、IMDb などのデータセットを簡単に扱える
9. モデルの保存 & ロード
- 学習済みモデルを保存して再利用可能
torch.save()
で保存し、torch.load()
で復元できる
10. 分散学習 & マルチ GPU
- 複数の GPU を利用して高速に学習
torch.nn.DataParallel()
を使うことで簡単に並列処理が可能
📌 まとめ
機能 | 説明 |
---|---|
Tensor | 数値データの処理(NumPy 互換 & GPU 対応) |
Autograd(自動微分) | 勾配(微分)の計算を自動化 |
Optimizer(最適化) | SGD, Adam などの最適化アルゴリズム |
nn(ニューラルネットワーク) | ニューラルネットワークを簡単に構築 |
Dataset & DataLoader | データのバッチ処理 & ローダー |
GPU & CUDA | GPU を活用した高速計算 |
torchvision | 画像データの処理 & 事前学習モデル |
torchtext | NLP(自然言語処理)のデータ処理 |
モデルの保存 & ロード | torch.save() で保存、torch.load() で復元 |
分散学習 & マルチ GPU | DataParallel() で並列学習 |