Optimization Pytork使用卷积神经网络将二维张量映射到二维张量
我试图用网络近似黑盒函数。该函数取二维张量(169x5)并给出二维张量(169x45)。这两个张量有不同的标度。我使用一个简单的线性模型,如下所示:Optimization Pytork使用卷积神经网络将二维张量映射到二维张量,optimization,neural-network,pytorch,Optimization,Neural Network,Pytorch,我试图用网络近似黑盒函数。该函数取二维张量(169x5)并给出二维张量(169x45)。这两个张量有不同的标度。我使用一个简单的线性模型,如下所示: import torch from torch.autograd import Variable import torch.nn.functional as F import torch.utils.data as Data import matplotlib.pyplot as plt import numpy as np imp
import torch
from torch.autograd import Variable
import torch.nn.functional as F
import torch.utils.data as Data
import matplotlib.pyplot as plt
import numpy as np
import imageio
torch.manual_seed(1)
# data
x_in = torch.rand(169, 5)
x_out = torch.rand(169, 45)*23
x_in, x_out = Variable(x_in), Variable(x_out)
# linear network
net = torch.nn.Sequential(
torch.nn.Linear(5, 200),
torch.nn.ReLU(),
torch.nn.Linear(200, 100),
torch.nn.ReLU(),
torch.nn.Linear(100, 45),)
optimizer = torch.optim.SGD(net.parameters(), lr=0.2)
loss_func = torch.nn.MSELoss()
for t in range(200):
prediction = net(x_in)
loss = loss_func(prediction, x_out)
optimizer.zero_grad()
loss.backward()
optimizer.step()
我相信卷积神经网络会更好地完成这样的任务。但是,我如何使用CNN从2D映射到2D呢。如何构建这样的CNN?这是pytorch的官方文档,这里是