【发布时间】:2020-12-07 17:31:30
【问题描述】:
torch::stack 接受 c10::TensorList 并在给出相同形状的张量时工作得很好。但是,当您尝试发送以前的 torch::stacked 张量的输出时,它会失败并导致内存访问冲突。
更具体地说,假设我们有 3 个形状为 4 的张量,例如:
torch::Tensor x1 = torch::randn({4});
torch::Tensor x2 = torch::randn({4});
torch::Tensor x3 = torch::randn({4});
torch::Tensor y = torch::randn({4});
第一轮堆叠很琐碎:
torch::Tensor stacked_xs = torch::stack({x1,x2,x3});
但是,尝试做:
torch::Tensor stacked_result = torch::stack({y, stacked_xs});
会失败。
我希望在 Python 中获得与np.vstack 相同的行为,这是允许的并且有效的。
我该怎么办?
【问题讨论】:
-
我想不出更好的标题!什么是更好的标题?请提出建议,使其更清晰