gpt4 book ai didi

lua - Torch - 在维度上应用函数

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

我希望能够将一个为 3D 张量设计的函数应用于 4D 张量中的每个 3D 张量,即 image.translate() .例如,我可以将函数单独应用于维度 (3,50,50) 的两个图像,但如果我可以提供它们的 (2,3,50,50) 4D 连接,那就太好了。

这可能可以在 for 循环中完成,但我想知道是否有任何内置函数。谢谢。

最佳答案

我还没有设法在 Torch 中找到这样的功能.当然,你可以自己定义一个,让你的生活更快乐一点:

function apply_to_slices(tensor, dimension, func, ...)
for i, slice in ipairs(tensor:split(1, dimension)) do
func(slice, i, ...)
end
return tensor
end

例子:
function power_fill(tensor, i, power)
power = power or 1
tensor:fill(i ^ power)
end

A = torch.Tensor(5, 6)

apply_to_slices(A, 1, power_fill)

1 1 1 1 1 1
2 2 2 2 2 2
3 3 3 3 3 3
4 4 4 4 4 4
5 5 5 5 5 5
[torch.DoubleTensor of size 5x6]

apply_to_slices(A, 2, power_fill, 3)

1 8 27 64 125 216
1 8 27 64 125 216
1 8 27 64 125 216
1 8 27 64 125 216
1 8 27 64 125 216
[torch.DoubleTensor of size 5x6]

关于lua - Torch - 在维度上应用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34123291/

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