Python 使用Adam优化器对时装设计师进行逻辑回归训练时出错

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

数据集是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_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