gpt4 book ai didi

python - torch.stack() 和 torch.cat() 函数有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 17:41:04 27 4
gpt4 key购买 nike

用于强化学习的 OpenAI REINFORCE 和 actor-critic 示例具有以下代码:

REINFORCE :

policy_loss = torch.cat(policy_loss).sum()

actor-critic :

loss = torch.stack(policy_losses).sum() + torch.stack(value_losses).sum()

一个正在使用 torch.cat , 另一个用途 torch.stack ,对于类似的用例。

就我的理解而言,文档没有对它们进行任何明确区分。

我很高兴知道这些函数之间的区别。

最佳答案

stack

Concatenates sequence of tensors along a new dimension.

cat

Concatenates the given sequence of seq tensors in the given dimension.

所以如果 AB 的形状是 (3, 4):

  • torch.cat([A, B], dim=0) 形状为 (6, 4)
  • torch.stack([A, B], dim=0) 形状为 (2, 3, 4)

关于python - torch.stack() 和 torch.cat() 函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54307225/

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