torch x = x.view(-1, ...)理解
阿新 • • 發佈:2019-02-08
在torch裡面,view函式相當於numpy的reshape,來看幾個例子:
a = torch.arange(1, 17) # a's shape is (16,) a.view(4, 4) # output below tensor([[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12], [13, 14, 15, 16]]) [torch.FloatTensor of size 4x4] a.view(2, 2, 4) # output below tensor([[[ 1, 2, 3, 4], [ 5, 6, 7, 8]], [[ 9, 10, 11, 12], [13, 14, 15, 16]]]) [torch.FloatTensor of size 2x2x4]
在函式的引數中經常可以看到-1例如x.view(-1, 4)
這裡-1表示一個不確定的數,就是你如果不確定你想要reshape成幾行,但是你很肯定要reshape成4列,那不確定的地方就可以寫成-1
例如一個長度的16向量x,
x.view(-1, 4)等價於x.view(4, 4)
x.view(-1, 2)等價於x.view(8,2)
以此類推