首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >火炬衬垫

火炬衬垫
EN

Stack Overflow用户
提问于 2018-10-24 08:56:28
回答 1查看 1.4K关注 0票数 1

在PyTorch张量中,我想从输入中获得如下输出:

我怎样才能在Pytroch实现这个填充呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-24 11:51:56

这样做的一个方法是

代码语言:javascript
运行
复制
def my_odd_padding(list_of_2d_tensors, pad_value):
  # get the sizes of the matrices
  hs = [t_.shape[0] for t_ in list_of_2d_tensors]
  ws = [t_.shape[1] for t_ in list_of_2d_tensors]
  # allocate space for output
  result = torch.zeros(sum(hs), sum(ws))
  result.add_(pad_value)
  fh = 0
  fw = 0
  for i, t_ in enumerate(list_of_2d_tensors):
    result[fh:fh+hs[i], fw:fw+ws[i]] = t_
    fh += hs[i]
    fw += ws[i]
  return result 

假设list_of_2d_tensors上的所有张量都是相同的dtype和相同的device,那么当使用torch.zeros分配它时,您可以显式地将这个dtype和设备设置为result

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52964807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档