LightningModule を紹介する
いよいよ最初の LightningModule を作成します。この実践演習では、分類ワークフローの基本構造を組み立てます。線形層を定義し、forward メソッドでデータをその層に通し、training step で損失を計算します。このシンプルな構造があれば、モデルの実験を始めるための確かな土台ができます。
torch と lightning.pytorch(pl としてインポート済み)はすでに読み込まれています。
この演習はコースの一部です
PyTorch Lightning によるスケーラブルな AI モデルの構築
演習の手順
pl.LightningModuleを継承するクラスLightModelを定義します。- 入力特徴量が16、出力クラスが10であることを前提に、入力を変換する線形層を定義します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define the model class
class LightModel(____):
# Define a linear layer to transform your input
def __init__(self):
super().__init__()
self.layer = ____
def forward(self, x):
return self.layer(x)
def training_step(self, batch, batch_idx):
x, y = batch
logits = self(x)
loss = torch.nn.functional.cross_entropy(logits, y)
return loss