はじめに
ステップ1: ライブラリのインポート
import torch
import torch.nn as nn
import torchvision
ステップ2: ニューラルネットワークの定義
class SimpleNeuralNetwork(nn.Module):
def __init__(self, input_size, hidden_size, output_size):
super(SimpleNeuralNetwork, self).__init__()
self.fc1 = nn.Linear(input_size, hidden_size)
self.relu = nn.ReLU()
self.fc2 = nn.Linear(hidden_size, output_size)
def forward(self, x):
out = self.fc1(x)
out = self.relu(out)
out = self.fc2(out)
return out
ステップ3: ニューラルネットワークのインスタンス作成
input_size = 784
hidden_size = 100
output_size = 10
model = SimpleNeuralNetwork(input_size, hidden_size, output_size)
ステップ4: 損失関数と最適化関数の定義
loss_function = nn.CrossEntropyLoss()
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
ステップ5: ニューラルネットワークの訓練
num_epochs = 5
for epoch in range(num_epochs):
for i, (images, labels) in enumerate(train_loader):
images = images.view(-1, 28*28)
# Forward pass
outputs = model(images)
loss = loss_function(outputs, labels)
# Backward pass
optimizer.zero_grad()
loss.backward()
optimizer.step()
おわりに
お疲れ様!PythonとPyTorchを使ってシンプルなニューラルネットワークを作成できたね。ネットワークを定義し、インスタンスを作成し、損失関数と最適化関数を定義し、ネットワークを訓練しました。ニューラルネットワークをもっと探求して楽しもう!🎉