相关疑难解决方法(0)

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

OpenAI的REINFORCE和演员批评强化学习的例子有以下代码:

加强:

policy_loss = torch.cat(policy_loss).sum()
Run Code Online (Sandbox Code Playgroud)

演员评论家:

loss = torch.stack(policy_losses).sum() + torch.stack(value_losses).sum()
Run Code Online (Sandbox Code Playgroud)

一个是使用torch.cat,另一个是使用torch.stack.

就我的理解而言,该文件并未对它们作出任何明确的区分.

我很高兴知道这些功能之间的差异.

python machine-learning pytorch

16
推荐指数
2
解决办法
8861
查看次数

将张量列表转换为张量 pytorch

我有张量列表,每个张量都有不同的大小,如何使用 pytroch 将此张量列表转换为张量

有关更多信息,我的列表包含张量,每个张量都有不同的大小,例如第一个张量大小是 torch.Size([76080, 38])

其他张量的形状在第二个元素中会有所不同,例如列表中的第二个张量是 torch.Size([76080, 36])

当我使用 torch.tensor(x) 我得到一个错误 ValueError: only one element tensors can be convert to Python scalars

python pytorch

12
推荐指数
2
解决办法
4万
查看次数

ValueError:在张量列表上使用 torch.Tensor 时,只能将一个元素张量转换为 Python 标量

我有一个张量列表:

object_ids = [tensor([2., 3.]), tensor([2., 3.]), tensor([2., 3.]), tensor([2., 3.]), tensor([2., 3.]), tensor([2., 3.]), tensor([2., 3.]), tensor([2., 3.]), tensor([2., 3.]), tensor([2., 3.])]
Run Code Online (Sandbox Code Playgroud)

直观上,我似乎应该能够由此创建一个新的张量:

torch.as_tensor(object_ids, dtype=torch.float32)
Run Code Online (Sandbox Code Playgroud)

但这不起作用。显然, torch.as_tensor 和 torch.Tensor 只能将标量列表转换为新的张量。它无法将 d-dim 张量列表转换为 d+1 dim 张量。

python pytorch

5
推荐指数
1
解决办法
4287
查看次数

2d 张量到一个 3d 张量的列表

我有一个单词嵌入的句子列表。所以每个句子都是一个16*300的矩阵,所以它是一个二维张量。我想将它们连接到 3d 张量并使用这个 3d 张量作为 CNN 模型的输入。不幸的是,我无法将其放入这个 3d 张量中。

在我看来,至少通过 tf.concat 将这些 2d 张量中的两个连接到较小的 3d 张量应该可以工作。不幸的是,我收到以下错误消息

tf.concat(0, [Tweets_final.Text_M[0], Tweets_final.Text_M[1]])

ValueError: Shape (3, 16, 300) must have rank 0
Run Code Online (Sandbox Code Playgroud)

如果它适用于两个二维张量,我可能会使用一个循环

列表中的这些 2d 张量之一如下所示:

<tf.Tensor: shape=(16, 300), dtype=float32, numpy= array([[-0.03571776,  0.07699937, -0.02208528, ...,  0.00873246,
    -0.05967658, -0.03735098],
   [-0.03044251,  0.050944  , -0.02236165, ..., -0.01745957,
     0.01311598,  0.01744673],
   [ 0.        ,  0.        ,  0.        , ...,  0.        ,
     0.        ,  0.        ],
   ...,
   [ 0.        ,  0.        ,  0.        , ...,  0.        ,
     0.        ,  0. …
Run Code Online (Sandbox Code Playgroud)

python tensorflow word-embedding tensor cnn

2
推荐指数
1
解决办法
671
查看次数