1. ホーム
  2. python

[解決済み】torch.stack()とtorch.cat()関数の違いとは?

2022-01-20 19:05:18

質問

OpenAIの強化学習のREINFORCEとアクタークリティックの例では、以下のようなコードになっています。

ラインフォース :

{コード

俳優評論家 :

{コード

1つは、使用している policy_loss = torch.cat(policy_loss).sum() .

私の理解の範囲では 博士 は明確な区別をしていません。

機能の違いを教えていただければと思います。

解決方法は?

{コード

に沿ってテンソル列を連結する。 新次元 .

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

与えられたseqテンソルの列を連結する 与えられた次元で .

では、もし torch.cattorch.stack は形状(6, 4)になり {コード は(2,3,4)の形状になります。