始める無料で始める

forward メソッドを完成させる

__init__ メソッドで層を設定したら、次は forward メソッドでデータがその層をどのように流れるかを定義します。PyTorch Lightning では、この分離によってコードがシンプルで保守しやすくなります。コンストラクタの構成方法はすでに学んだので、今度はフォワードパスに集中しましょう。分類ロジックを明確にし、学習に適した形へ最適化することが目標です。ここでは __init__ 内の層はすでに定義済みなので、フォワードの流れだけに集中できます。

lightning.pytorch と torch.nn はそれぞれ pl、nn としてすでにインポートされています。

この演習はコースの一部です

PyTorch Lightning によるスケーラブルな AI モデルの構築

コースを見る

演習の手順

  • ClassifierModel 内に forward メソッドを実装しましょう。
  • 隠れ層の後に ReLU 活性化関数を適用しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

class ClassifierModel(pl.LightningModule):
  
    def __init__(self, input_dim, hidden_dim, output_dim):
        super().__init__()
        self.hidden = nn.Linear(input_dim, hidden_dim)
        self.output = nn.Linear(hidden_dim, output_dim)
        
    # Define forward method
    def ____(self, ____):
        # Complete the forward pass
        x = self.hidden(x)
        x = ____(x)
        x = self.output(x)
        return x
コードを編集して実行