从火炬张量方法中解压和扩展的numpy等效代码

Posted

技术标签:

【中文标题】从火炬张量方法中解压和扩展的numpy等效代码【英文标题】:numpy equivalent code of unsqueeze and expand from torch tensor method 【发布时间】:2021-07-26 22:54:21 【问题描述】:

我有这两个张量

box_a = torch.randn(1,4)
box_b = torch.randn(1,4)

我在 pytorch 中有一个代码

box_a[:, 2:].unsqueeze(1).expand(1, 1, 2)

但我想将上面的代码转换成 numpy 对于box_abox_b,我可以这样做

  box_a = numpy.random.randn(1,4)
  box_b = numpy.random.randn(1,4)

但是这个呢

box_a[:, 2:].unsqueeze(1).expand(1, 1, 2)

【问题讨论】:

【参考方案1】:

解决了

box_a = np.random.randn(1,4)
box_b = np.random.randn(1,4)
max_xy = np.broadcast_to(np.expand_dims(box_a[:, 2:],axis=1),(1,1,2))

【讨论】:

以上是关于从火炬张量方法中解压和扩展的numpy等效代码的主要内容,如果未能解决你的问题,请参考以下文章

如何将 pytorch 张量转换为 numpy 数组?

计算多维火炬张量中向量之间的欧几里得距离

在pytorch中连接两个不同形状的火炬张量

在某个索引后用零填充火炬张量

在某个索引处连接火炬张量

如何有效地乘以重复行的火炬张量而不将所有行存储在内存中或迭代?