2016-02-05 61 views
2

我想在兩種方式重複火炬的張量。例如重複張量{1,2,3,4}兩種方式產生;火炬 - 重複張量像numpy重複

{1,2,3,4,1,2,3,4,1,2,3,4} 
{1,1,1,2,2,2,3,3,3,4,4,4} 

有一個內置的火炬:這將產生第一個兩個(如numpy.tile())的repeatTensor功能,但我不能找到一個對於後者(如numpy.repeat())。我敢肯定,我可以打電話給第一個給第二個,但我認爲這對於更大的數組可能在計算上是昂貴的?

謝謝。

+2

repeatTensor and expandAs你的朋友。 https://github.com/torch/torch7/wiki/Torch-for-Numpy-users – smhx

回答

5
a = torch.Tensor{1,2,3,4} 

爲了得到{1,2,3,4,1,2,3,4,1,2,3,4}我們三次重複的張量在第一維:

a:repeatTensor(3) 

爲了得到{1,1,1,2,2,2,3,3,3,4,4,4}我們添加了一個維度,張量和三次重複它在第二維獲得4 x 3張量,我們可以扁平化。

b = a:reshape(4,1):repeatTensor(1,3) 
b:view(b:nElement()) 
+0

小心解釋你的答案? –

+0

@AndréSchild我的不好。現在好多了? – abhshkdz