Python torch 单输入 单输出
时间: 2024-03-12 13:50:23 浏览: 26
您可以使用 PyTorch 的 nn 模块来创建单输入单输出的神经网络。以下是一个简单的例子:
```
import torch
import torch.nn as nn
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.fc1 = nn.Linear(10, 5)
self.fc2 = nn.Linear(5, 1)
def forward(self, x):
x = torch.relu(self.fc1(x))
x = self.fc2(x)
return x
```
在这个例子中,我们创建了一个名为 Net 的类,它继承自 nn.Module。我们定义了两个全连接层(fc1 和 fc2),并在 forward 方法中定义了模型的前向传递逻辑。在这个例子中,输入的张量 x 的形状是 (batch_size, 10),输出的张量的形状是 (batch_size, 1)。
您可以使用这个模型来进行训练和预测,例如:
```
model = Net()
criterion = nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
# 训练
for epoch in range(num_epochs):
for inputs, targets in train_data:
optimizer.zero_grad()
outputs = model(inputs)
loss = criterion(outputs, targets)
loss.backward()
optimizer.step()
# 预测
with torch.no_grad():
inputs = torch.randn(1, 10)
outputs = model(inputs)
print(outputs)
```
在这个例子中,我们定义了损失函数和优化器,并使用训练数据来训练模型。然后,我们使用一个随机的输入张量来预测输出。