前言
主要记录遇到的bug和函数的笔记,减少重复搜索
Doc
torch
torch.eye(n, m=None, out=None)
得到单位矩阵,即对角线为1,不设置 m 默认方阵
torch.cat((A, B), dim)
按维度拼接
torch.sum(input, list: dim, bool: keepdim=False, dtype=None)
input:输入一个tensor,dim:要求和的维度,可以是一个列表,keepdim:求和之后这个dim的元素个数为1,默认被squeeze掉,如果要保留这个维度,则应当keepdim=True
tensor
tensor.expand(n, m)
只要是单维度均可进行扩展,但是若非单维度会报错,单个维度的数据重复
tensor.view()
把原先tensor中的数据按照行优先的顺序排成一个一维的数据(这里应该是因为要求地址是连续存储的),然后按照参数组合成其他维度的tensor。某些维度设为 -1 则是按需调整
Debug
报错:RuntimeError: Expected object of type torch.DoubleTensor but found type torch.FloatTensor for argument #2 ‘mat2’
解决:看看是不是使用了 torch.tensor()
,将其更改为 torch.Tensor()
,因为 torch.Tensor()
是 torch.FloatTensor()
的别名,可以得到 float 型的,但是 torch.tensor()
根据原始数据类型生成相应的torch.LongTensor,torch.FloatTensor,torch.DoubleTensor。