Appendix
困ったときの補足集
本編の流れを止めずに済むように、よく詰まりやすい話題をここにまとめておきます。
今日は何をしたい?
本編を読みながら、「shape って何だっけ」「dtype は何を見ればいいの」「名前は cuda なのに ROCm なのはなぜ」という引っかかりを、短く確認できる場所にします。
最小コード
import torch
x = torch.randn(2, 3, dtype=torch.float32)
print("shape :", x.shape)
print("dtype :", x.dtype)
print("device:", x.device)困ったときは、まず shape、dtype、device の 3 つを見るだけでも整理しやすくなります。
どこがROCm?
ROCm で読むときの最初のチェックポイントも、この 3 つです。さらに、ROCm 版 PyTorch でも torch.cuda という名前が出ることがある、と知っておくと落ち着いて読めます。
ここで出てきたPython
- 属性を 1 つずつ読み出す
- 文字列ラベルを付けて表示する
- 値を見比べながら整理する
よくあるつまずき
- shape mismatch なのに ROCm の不調だと思い込んでしまう
- dtype の違いを見落として、計算結果の意味がずれてしまう
- model.train() と model.eval() の切り替えを忘れる
- cuda という名前だけを見て混乱する
1分演習
本編のどれか 1 章のコードを開いて、実行前に shape、dtype、device をどこで見られるか探してみましょう。