首页 Paddle框架 帖子详情
求助|线性回归|fit()函数|Target -0.663 is out of lower bound. 已解决
收藏
快速回复
Paddle框架 问答深度学习 390 1
求助|线性回归|fit()函数|Target -0.663 is out of lower bound. 已解决
收藏
快速回复
Paddle框架 问答深度学习 390 1

 

在做一个项目学习paddle,大概是用天气预报数据,预测发电机功率,功率是有负值的。

paddle版本是2.3

意思是label必须为正值?那么model.fit怎么做线性回归?可是我看到官方案例就有波士顿房价预测的例子,为什么label有负数就报错了

报错信息为

D:\study_software\annoconda\envs\fd\lib\site-packages\paddle\nn\functional\loss.py in cross_entropy(input, label, weight, ignore_index, reduction, soft_label, axis, use_softmax, name)
   1718             if label_min < 0:
   1719                 raise ValueError("Target {} is out of lower bound.".format(
-> 1720                     label_min.item()))
   1721             if label_max >= input.shape[axis]:
   1722                 raise ValueError("Target {} is out of upper bound.".format(

ValueError: Target -0.9184724688529968 is out of lower bound.

 

代码:

class Regressor(paddle.nn.Layer):
    def __init__(self):
        super(Regressor, self).__init__()
        self.fc = paddle.nn.Linear(27, 1,)

    def forward(self, inputs):
        pred = self.fc(inputs)
        return pred
model = Regressor()

import paddle
import paddle.nn as nn
import paddle.vision.transforms as T
from paddle.static import InputSpec
device = paddle.set_device('cpu') # or 'gpu'
net = nn.Sequential(
    
    nn.Linear(27, 1))
# inputs and labels are not required for dynamic graph.
input = InputSpec([None, 27], 'float32', 'x')
label = InputSpec([None, 1], 'float32', 'label')
model = paddle.Model(net, input, label)
optim = paddle.optimizer.SGD(learning_rate=1e-3,
    parameters=model.parameters())
model.prepare(optim,
            paddle.nn.CrossEntropyLoss(),
            paddle.metric.Accuracy())


model.fit(dataset, epochs=2, batch_size=32, verbose=1)
k
kbkb74741
已解决
2# 回复于2022-12
已解决: paddle.nn.CrossEntropyLoss()函数的问题,换成paddle.nn.MSELoss()就可以训练了。 至于为什么不能用交叉熵?个人暂时还没有细究,希望有大佬能够解答
展开
1
收藏
回复
全部评论(1)
时间顺序
k
kbkb74741
#2 回复于2022-12

已解决:

paddle.nn.CrossEntropyLoss()函数的问题,换成paddle.nn.MSELoss()就可以训练了。

至于为什么不能用交叉熵?个人暂时还没有细究,希望有大佬能够解答

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户