PyTorchでニューラルネットワークモデルを作成する方法は何ですか?
PyTorchでニューラルネットワークモデルを作成する際には、通常、torch.nn.Moduleクラスを継承したカスタムクラスを定義する必要があります。以下は簡単な例です:
import torch
import torch.nn as nn
class SimpleNN(nn.Module):
def __init__(self):
super(SimpleNN, self).__init__()
self.fc1 = nn.Linear(784, 128) # 定义一个全连接层
self.relu = nn.ReLU() # 定义一个激活函数
self.fc2 = nn.Linear(128, 10) # 定义另一个全连接层
def forward(self, x):
x = self.fc1(x)
x = self.relu(x)
x = self.fc2(x)
return x
上記の例では、私たちは2つの全結合層と1つのReLU活性化関数を含む単純なニューラルネットワークモデルSimpleNNを定義しました。__init__メソッドはモデルの構造を定義するために使用され、forwardメソッドはモデルのフォワードプロパゲーションプロセスを定義するために使用されます。
このモデルを使用するには、オブジェクトをインスタンス化して入力データを渡し、フォワードプロパゲーション計算を行います。
model = SimpleNN()
input_data = torch.randn(1, 784) # 创建一个输入数据张量
output = model(input_data) # 进行前向传播
print(output)
PyTorchで簡単なニューラルネットワークモデルを作成することができます。より複雑なモデル構造やフォワードプロセスを定義することも可能です。