我希望能够将专为 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
Example:
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]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)