【发布时间】:2019-10-12 23:20:38
【问题描述】:
我正在尝试在 pytorch 中处理 lstm。它只需要张量作为输入。我拥有的数据是numpy.object_ 的形式,如果我将其转换为numpy.float,那么它可以转换为tensor。
我使用print(type(array)) 检查了数据类型,它将'numpy.ndarray' 类作为输出,print(arr.dtype.type) 将'numpy.object_' 类作为输出。
或者有什么方法可以直接将元组转换为torch.tensor?
【问题讨论】:
-
@mansisinha,你能添加一些示例数据吗?
-
class fullstop(nn.Module): def __init__(self): super(fullstop, self).__init__() self.seq1=nn.LSTM(input_size=30,hidden_size=20) self. seq2=nn.LSTM(input_size=20,hidden_size=10) self.fc1=nn.Linear(20,5) self.fc2=nn.Linear(5,1) def forward(self,input1,input2): prefix1= self.seq1(input1) suffix1=self.seq1(input2) prefix2=self.seq2(prefix1) suffix2=self.seq2(suffix1) result=torch.cat(Variable(prefix1,suffix1),1) r1=F.sigmoid (self.fc1(result)) r2=self.fc2(r1) return r2
-
@AnubhavSingh 这里的 forward 函数只接受张量作为输入。因此,当我将 input1 和 input2 作为张量时,它可以正常工作,但是对于 seq2,seq1 的输出将作为输入。此输出以元组形式出现,因此会出错。
标签: python-3.x numpy pytorch