首页 Paddle框架 帖子详情
nn.loss.CrossEntropyLoss的记录
收藏
快速回复
Paddle框架 问答炼丹技巧 693 7
nn.loss.CrossEntropyLoss的记录
收藏
快速回复
Paddle框架 问答炼丹技巧 693 7

!注意,与pytorch不同在paddle的损失计算中当labelsoft设置为FALSE时label的类型应设置为整形,在torch中支持float。设置为TRUE时应注意axis的设置。

不注意softlabel报错类型是:SystemError: (Fatal) Operator softmax_with_cross_entropy raises an struct paddle::PD_Exception exception.
The exception content is
:function "CrossEntropyWithSoftmaxCUDAKernel" is not implemented for data type float32

不改写axis报错类型是:ValueError: (InvalidArgument) Input(Logits) and Input(Label) should in same shape in dimensions except axis. [Hint: Expected logits_dims[i] == labels_dims[i], but received logits_dims[i]:5 != labels_dims[i]:512.] (at /paddle/paddle/fluid/operators/softmax_with_cross_entropy_op.cc:145)

0
收藏
回复
全部评论(7)
时间顺序
A
AIStudio469397
#2 回复于2023-04

paddle的Dataset类的get_item返回值只能是ndarray,不能是tensor、string等其他任何类型

0
回复
A
AIStudio469397
#3 回复于2023-04

paddle的tensor转换ndarray时用x.numpy()即可,np.array(x)不行,会一直卡在这步

0
回复
A
AIStudio469397
#4 回复于2023-04

paddle模型参数是parambase类型,paddle.save, paddle.load只能对模型参数、优化器参数进行加载保存,如果保存ckpt字典,模型参数是字典中的一个值,会出问题,需要把模型参数转成ndarray;paddle.load加载的模型参数结果始终是ndarray;

0
回复
A
AIStudio469397
#5 回复于2023-04

代码模型加载文件参数: paddle用model.set_state_dict;torch用model.load_state_dict

0
回复
A
AIStudio469397
#6 回复于2023-04

特征复制:paddle.tile;torch.repeat

0
回复
A
AIStudio469397
#7 回复于2023-04

特征维度变换:paddle.transpose;torch.permute

0
回复
A
AIStudio469397
#8 回复于2023-04

torch.nn.CrossEntropyLoss
paddle.nn.CrossEntropyLoss  注意softlable和axis的设置以及lable与y的设置。

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