2021/04/09 Updated by 
PyTorch
[Up]

インストール
- macOS (m1, arm64) の場合
- Miniforge 版 Python パッケージをインストるする。
# インストール
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh"
bash Miniforge3-MacOSX-arm64.sh
# 環境作成
conda create -n pytorch python=3.10
conda activate pytorch
# PyTorchインストール
conda install pytorch torchvision torchaudio -c pytorch
# 確認
python -c "import torch; print(f'PyTorch: {torch.__version__}'); print(f'MPS available: {torch.backends.mps.is_available()}')"
python -c "import platform; print(f'Architecture: {platform.machine()}')" # arm64と表示されるべき
python 仮想環境は conda を使う
Metal Performance Shaders に対応した公式 PyTorchをインストールする。
# 最新の安定版(MPS対応)
pip install torch torchvision torchaudio
https://pytorch.org/get-started/locally/ で確認できる。
MPSデバイスの活用
import torch
import torch.nn as nn
# デバイスの設定
device = torch.device("mps" if torch.backends.mps.is_available() else "cpu")
print(f"Using device: {device}")
# テンソルをMPSデバイスに移動
x = torch.randn(1000, 1000).to(device)
y = torch.randn(1000, 1000).to(device)
# GPU(MPS)で計算
z = x @ y # 行列積
print(f"Result shape: {z.shape}")
print(f"Result device: {z.device}")
MPS での推奨構成
Python 3.9〜3.12
PyTorch 2.0以降(MPS対応)
device = torch.device("mps") で高速化
num_workers=0 でDataLoader使用
メモ
本
関連リンク