'''构造一个row*column的矩阵,并指定数据类型为long,不初始化'''
x = torch.empty(row, column, dtype = torch.long)#默认数据类型是float'''构造一个随机初始化的矩阵'''
x = torch.rand(row, column)#从均匀分布的区间(0, 1)从抽一组随机数
x = torch.randn(row, column)#从正太分布的区间(0, 1)从抽一组随机数
x = torch.randint(low, hign,(row, column))#从整数范围(low, column)中抽一组随机数'''因为torch中没有random.shuffle,所以打乱得用randperm'''
x = torch.randperm(n)#把0到n-1的整数打乱,得到一个一维tensor'''构造全0的矩阵'''
x = torch.zeros(row, column)'''构造全1的矩阵'''
x = torch.ones(row, column)
x = x.new_ones(row, column)'''利用数组构造Tensor'''
x = torch.tensor([[1,2],[3,4]])'''基于Tensor构造Tensor'''
y = torch.rand_like(x)'''基于numpy构造Tensor'''
x = torch.from_numpy(np.array([[1,2],[3,4]]))
常用函数方法
'''维度'''
x.size()#查看维度'''轴'''
x.dim()'''类型'''
x.type()type(x)isinstance(x, torch.FloatTensor)'''操作'''#加法
x + y
y.add_(x)#结果会赋给y
torch.add(x, y, out = z)#z = x + y, z必须事先定义,且跟x, y同型#复制
y.copy_(a)#索引(支持切片)
x[1][1]; x[1,1]#第2行第2列的元素
x[1]#第2行元素
x[:,1]#第2列元素#改变形状,新的形状必须可以由row*column个元素组成
x = torch.rand(4,4)
y = x.view(16)#一维
y = x.view(2,8)#二维
y = x.view(2,2,2,2)#四维
y = x.view(-1,4)#如果有且只有一个参数是-1,那么他会自己根据其他参数推断出这个-1应该是多少。例如本例中的-1应是4*4/4=4,其中4*4是row*column,除以4是另一个已知参数是4#获取值
x = torch.tensor([1])
x.item()#必须是单个元素才能调用.item()