用pytorch写一个输入为2输出为1用来预测股价的线性回归神经网络
时间: 2023-06-04 09:03:38 浏览: 252
基于Pytorch实现线性回归/单层神经网络(数据集 + 源代码)
非常感谢您的提问!我理解您的问题。以下是使用 PyTorch 编写一个简单的线性回归神经网络的示例代码,可以用于预测股价:
import torch
import torch.nn as nn
class LinearRegression(nn.Module):
def __init__(self, input_size, output_size):
super(LinearRegression, self).__init__()
self.linear = nn.Linear(input_size, output_size)
def forward(self, x):
out = self.linear(x)
return out
input_size = 2
output_size = 1
lr_rate = 0.01
epochs = 1000
seed_val = 1234
torch.manual_seed(seed_val)
X_train = torch.tensor([[1.0, 2.0], [2.0, 4.0], [3.0, 6.0], [4.0, 8.0]], dtype=torch.float32)
y_train = torch.tensor([[3.0], [6.0], [9.0], [12.0]], dtype=torch.float32)
model = LinearRegression(input_size, output_size)
criterion = nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=lr_rate)
for epoch in range(epochs):
optimizer.zero_grad()
output = model(X_train)
loss = criterion(output, y_train)
loss.backward()
optimizer.step()
if (epoch + 1) % 100 == 0:
print('Epoch [{}/{}], Loss: {:.4f}'.format(epoch + 1, epochs, loss.item()))
test_input = torch.tensor([[5.0, 10.0], [6.0, 12.0]], dtype=torch.float32)
predicted_output = model(test_input)
print(predicted_output)
请注意,此代码仅仅是一个简单的示例,仅用于演示如何使用 PyTorch 编写一个线性回归神经网络。如果你要使用这个模型来进行股价预测,请谨慎考虑数据和模型的可用性及准确性。股票预测需要更复杂和深入的研究和技巧。
阅读全文