|
我有一个一维向量,它的维数是(5)我想把它重塑成二维矩阵(1,5)
下面是numpy代码
- >>> import numpy as np
- >>> a = np.array([1,2,3,4,5])
- >>> a.shape
- (5,)
- >>> a = np.reshape(a, (1,5))
- >>> a.shape
- (1, 5)
- >>> a
- array([[1, 2, 3, 4, 5]])
- >>>
复制代码 但是我怎么用Pytorch张量(和变量)来做呢。我不想切换回numpy并再次切换回Torch变量,因为它会丢失反向传播信息。
代码如下:
- >>> import torch
- >>> from torch.autograd import Variable
- >>> a = torch.Tensor([1,2,3,4,5])
- >>> a
- 1
- 2
- 3
- 4
- 5
- [torch.FloatTensor of size 5]
- >>> a.size()
- (5L,)
- >>> a_var = variable(a)
- >>> a_var = Variable(a)
- >>> a_var.size()
- (5L,)
- .....do some calculation in forward function
- >>> a_var.size()
- (5L,)
复制代码 现在我想让它的大小为(1,5)。如何在不丢失梯度信息的情况下,在变量中调整或重塑pytorch张量的大小
|
|