Python 使用Adam优化器对时装设计师进行逻辑回归训练时出错
数据集是FashionList(784输入,10输出)。我正在尝试使用Adam optimizer(也对其进行编码)训练逻辑回归: 列车功能为:Python 使用Adam优化器对时装设计师进行逻辑回归训练时出错,python,pytorch,logistic-regression,adam,Python,Pytorch,Logistic Regression,Adam,数据集是FashionList(784输入,10输出)。我正在尝试使用Adam optimizer(也对其进行编码)训练逻辑回归: 列车功能为: def train_logistic_regression(weights, bias, batch, loss, optimizer): inputs, labels = batch inputs = inputs.view(inputs.shape[0], -1) optimizer.zero_grad() y
def train_logistic_regression(weights, bias, batch, loss, optimizer):
inputs, labels = batch
inputs = inputs.view(inputs.shape[0], -1)
optimizer.zero_grad()
y_pred = torch.sigmoid(weights@inputs + bias) # there must be the problem
loss = criterion(y_pred, labels)
loss.backward()
optimizer.step()
from IPython.display import clear_output
for epoch in range(1, 5):
for batch in train_dataloader: # have to go with batches
metrics = train_logistic_regression(weights, bias, batch, criterion, optimizer)
每次出现错误时:
RuntimeError Traceback (most recent call last)
<ipython-input-161-408b80d71db1> in <module>()
5
6 for batch in train_dataloader:
----> 7 metrics = train_logistic_regression(weights, bias, batch, criterion, optimizer)
8
9
<ipython-input-160-9c2f95ee56ee> in train_logistic_regression(weights, bias, batch, loss, optimizer)
6
7 optimizer.zero_grad()
----> 8 y_pred = torch.sigmoid(weights@inputs + bias)
9 # y_pred = model(inputs)
10 loss = criterion(y_pred, labels)
RuntimeError: size mismatch, m1: [784 x 10], m2: [128 x 784] at /pytorch/aten/src/TH/generic/THTensorMath.cpp:41
运行时错误回溯(最近一次调用)
在()
5.
6对于批量入列数据加载器:
---->7个指标=训练逻辑回归(权重、偏差、批次、标准、优化器)
8.
9
序列内逻辑回归(权重、偏差、批次、损失、优化器)
6.
7优化器0_grad()
---->8 y_pred=火炬乙状体(weights@inputs+偏差)
9#y#u pred=模型(输入)
10损失=标准(y_pred,标签)
运行时错误:大小不匹配,m1:[784 x 10],m2:[128 x 784]at/pytorch/aten/src/TH/generic/THTensorMath.cpp:41
如果有人能帮助我,我将不胜感激。而不是
y\u pred=torch.sigmoid(weights@inputs+偏差)
应为y\u pred=torch.sigmoid(输入.mm(权重)+偏差)
RuntimeError Traceback (most recent call last)
<ipython-input-161-408b80d71db1> in <module>()
5
6 for batch in train_dataloader:
----> 7 metrics = train_logistic_regression(weights, bias, batch, criterion, optimizer)
8
9
<ipython-input-160-9c2f95ee56ee> in train_logistic_regression(weights, bias, batch, loss, optimizer)
6
7 optimizer.zero_grad()
----> 8 y_pred = torch.sigmoid(weights@inputs + bias)
9 # y_pred = model(inputs)
10 loss = criterion(y_pred, labels)
RuntimeError: size mismatch, m1: [784 x 10], m2: [128 x 784] at /pytorch/aten/src/TH/generic/THTensorMath.cpp:41