gpt4 book ai didi

python - PyTorch - 按元素签名的最小值/最大值?

转载 作者:行者123 更新时间:2023-12-04 15:23:02 24 4
gpt4 key购买 nike

我可能遗漏了一些明显的东西,但我找不到计算它的方法。

给定两个张量,我想保留每个张量中的最小元素以及符号。

我想过

sign_x = torch.sign(x)
sign_y = torch.sign(y)
min = torch.min(torch.abs(x), torch.abs(y))

为了最终将符号与获得的最小值相乘,但我无法将正确的符号乘以保留的每个元素,必须选择两个张量之一。

最佳答案

这是一种方法。相乘torch.sign(x)torch.sign(y)由代表是否 x 的 bool 值张量或 ymin 的结果计算。然后取两个结果张量的逻辑或 (|) 将它们组合起来,并将其乘以 min。计算。

mins = torch.min(torch.abs(x), torch.abs(y))

xSigns = (mins == torch.abs(x)) * torch.sign(x)
ySigns = (mins == torch.abs(y)) * torch.sign(y)
finalSigns = xSigns.int() | ySigns.int()

result = mins * finalSigns

如果xy对于某个元素具有相同的绝对值,在代码中 x 的符号上方优先。对于 y要优先,交换顺序并使用 finalSigns = ySigns.int() | xSigns.int()相反。

关于python - PyTorch - 按元素签名的最小值/最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62907427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com