Skip to content

[0-size Tensor No.203] Add 0-size Tensor support for paddle.nn.functional.multi_margin_loss - #341

Merged
cangtianhuang merged 2 commits into
PFCCLab:mainfrom
co63oc:fix38
Jun 30, 2025
Merged

cangtianhuang merged 2 commits into
PFCCLab:mainfrom
co63oc:fix38

Conversation

@co63oc

@co63oc co63oc commented Jun 25, 2025 •

Copy link
Copy Markdown
Contributor

paddle.nn.functional.multi_margin_loss 测试都为numpy error,是否迁移配置到其他文件
image

配置 report/0size_tensor_gpu/error_config.txt
report/0size_tensor_cpu/error_config.txt

@cangtianhuang

Copy link
Copy Markdown
Collaborator

@co63oc numpy error 代表配置初始化时失败。这五个看上去也是错误配置,直接删去即可~
image

@cangtianhuang cangtianhuang self-assigned this Jun 30, 2025
@co63oc

co63oc commented Jun 30, 2025

Copy link
Copy Markdown
Contributor Author

已修改删除 @cangtianhuang

@cangtianhuang

Copy link
Copy Markdown
Collaborator

帮忙把这里面的也一齐删掉吧!这些配置应该都是无效的
report/0size_tensor_cpu/error_api.txt、
report/0size_tensor_gpu/error_api_paddleonly.txt、
report/0size_tensor_gpu/error_api.txt、
report/0size_tensor_gpu/error_config_paddleonly.txt

@co63oc

co63oc commented Jun 30, 2025

Copy link
Copy Markdown
Contributor Author

report/0size_tensor_gpu/error_config_paddleonly.txt

已删除

@cangtianhuang cangtianhuang left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@cangtianhuang

Copy link
Copy Markdown
Collaborator
paddle.nn.functional.multi_margin_loss(Tensor([5, 0],"float64"), Tensor([5],"int64"), p=1, margin=1.0, weight=None, reduction="mean", name=None, )

该配置在 apitest 中能够正常拦截,但是直接运行会抛出 cuda700 错误:

import paddle

# paddle.nn.functional.multi_margin_loss(Tensor([5, 0],"float64"), Tensor([5],"int64"), p=1, margin=1.0, weight=None, reduction="mean", name=None, )

input = paddle.zeros([5, 0], dtype='float64')
label = paddle.ones([5], dtype="int64")
result = paddle.nn.functional.multi_margin_loss(input, label, p=1, margin=1.0, weight=None, reduction="mean")
print(result)

image

这是对用户不友好的行为,co 师傅可以尝试向 paddle 库中提出 issue,或者直接提交 pr 尝试修复一下😉~

@co63oc

co63oc commented Jun 30, 2025 •

Copy link
Copy Markdown
Contributor Author
paddle.nn.functional.multi_margin_loss(Tensor([5, 0],"float64"), Tensor([5],"int64"), p=1, margin=1.0, weight=None, reduction="mean", name=None, )

该配置在 apitest 中能够正常拦截,但是直接运行会抛出 cuda700 错误:

import paddle

# paddle.nn.functional.multi_margin_loss(Tensor([5, 0],"float64"), Tensor([5],"int64"), p=1, margin=1.0, weight=None, reduction="mean", name=None, )

input = paddle.zeros([5, 0], dtype='float64')
label = paddle.ones([5], dtype="int64")
result = paddle.nn.functional.multi_margin_loss(input, label, p=1, margin=1.0, weight=None, reduction="mean")
print(result)

image

这是对用户不友好的行为,co 师傅可以尝试向 paddle 库中提出 issue,或者直接提交 pr 尝试修复一下😉~

好的,代码查看应是其他api的问题
image

@cangtianhuang

Copy link
Copy Markdown
Collaborator

是的,这个问题可以记录一下,那这个 pr 可以先合入,因为 torch 也不支持 0size:

import torch

# paddle.nn.functional.multi_margin_loss(Tensor([5, 0],"float64"), Tensor([5],"int64"), p=1, margin=1.0, weight=None, reduction="mean", name=None, )

input = torch.zeros([5, 0], dtype=torch.float64)
target = torch.ones([5], dtype=torch.int64)
result = torch.nn.functional.multi_margin_loss(input, target, p=1, margin=1.0, weight=None, reduction="mean")
print(result)

image

@cangtianhuang
cangtianhuang merged commit d495351 into PFCCLab:main Jun 30, 2025
@co63oc

co63oc commented Jun 30, 2025

Copy link
Copy Markdown
Contributor Author

是的,这个问题可以记录一下,那这个 pr 可以先合入,因为 torch 也不支持 0size:

好的

@co63oc
co63oc deleted the fix38 branch June 30, 2025 22:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants