torch.utils.data.DataLoader(dataset=test_dataset,batch_size=64,shuffle=False,num_workers=2)データローダの部分です。データセットからミニバッチ単位でデータを取り出し、ネットワークへ供給することが出来ます。シンプルで分かりやすいです。weight_decay=5e-4)ネットワークを構築する部分です。MLPNetクラスでネットワークを定義しています。nn.Moduleを継承した記法で、前半にブロックを書いて、後半に接続を書いています。後は、デバイス(GPUかCPU)を選択して、損失関数と最適化関数を設定しています。trainingtrain_loss_list.append(avg_train_loss)train_acc_list.append(avg_train_acc)val_loss_list.append(avg_val_loss)val_acc_list.append(avg_val_acc)学習部分です。ここは、細かな記述が必要ですが、こうなっているからこそ、複雑なネットワークを試す時に、細かくデバッグができるわけですね。学習の時には効かせて、評価の時には効かせないブロックがあるためです。ログの出力や後でグラフを描かせるためのデータ保持をする部分があり、ここはもうちょっと簡略化しても良い気もしますが、まあ良いでしょう。accuracy')plt.grid()学習後の部分です。テストデータセットを使って、モデルの最終的な精度を計算します。その後、学習した重みファイルを保存し、ロスと精度の推移グラフを描きます。