【发布时间】:2018-07-31 19:44:38
【问题描述】:
对于我训练有素的模型,此代码:
model(x[0].reshape(1,784).cuda())
返回:
tensor([[-1.9903, -4.0458, -4.1143, -4.0074, -3.5510, 7.1074]], device='cuda:0')
我的网络模型定义为:
# Hyper-parameters
input_size = 784
hidden_size = 50
num_classes = 6
num_epochs = 5000
batch_size = 1
learning_rate = 0.0001
criterion = nn.CrossEntropyLoss()
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)
class NeuralNet(nn.Module):
def __init__(self, input_size, hidden_size, num_classes):
super(NeuralNet, self).__init__()
self.fc1 = nn.Linear(input_size, hidden_size)
self.relu = nn.ReLU()
self.fc2 = nn.Linear(hidden_size, num_classes)
def forward(self, x):
out = self.fc1(x)
out = self.relu(out)
out = self.fc2(out)
return out
我正在尝试理解返回的值:
tensor([[-1.9903, -4.0458, -4.1143, -4.0074, -3.5510, 7.1074]], device='cuda:0')
值 7.1074 最有可能是张量数组中的最大值?由于 7.1074 位于位置 5,因此对于输入 x[0] 预测的相关输出值为 5 是否有意义?如果是这样,这背后的直觉是什么?
【问题讨论】: