【发布时间】:2017-06-16 15:39:56
【问题描述】:
我是 Python/Pytorch 用户。首先,在 numpy 中,假设我有一个大小为 LxL 的数组 M,我想要以下 数组:A=(M,...,M) 的大小,比如 NxLxL,有没有比这样做更优雅/内存效率更高的方法:
A=np.array([M]*N) ?
与火炬张量相同的问题! 原因,现在,如果 M 是变量(torch.tensor),我必须这样做:
A=torch.autograd.Variable(torch.tensor(np.array([M]*N)))
太丑了!
【问题讨论】:
-
numpy有tile和repeat。使用它们可能需要M[None,...] -
你可以只广播它。 (我不确定 PyTorch 是否有广播;最近是 implemented,但我不确定它是否可用。)
-
还有expand,有点像手动广播。
标签: arrays numpy pytorch tensor