标签:local float star add tensor list 最大 数组 会同
PyTorch安装:
https://pytorch.org/get-started/locally/
PyTorch基础:
张量:包括零维(常数),一维(数组/列表/元组),二维(矩阵)......
张量的创建:
torch.tensor(list/array/tuple) #把数组/列表/集合转化为张量
torch.ones([2,3]) #创建形状为[2,3]的,元素均为1的张量
torch.zeros([2,3]) #创建形状为[2,3]的,元素均为0的张量
torch.empty([2,3]) #创建形状为[2,3]的,元素服从正态分布的张量
torch.rand([2,3]) #创建形状为[2,3]的,元素为0-1的张量
torch.randn([2,3]) #创建一个形状为[2,3],元素均值为0标准差为1的数组
torch.randint(low,high,size=[]) 生成一个指定size,元素为low-high见随机整数的张量
tensor属性:
tensor.item() tensor中只有一个元素时用于获取元素(多个元素会报错)
tensor与numpy的转换:
np_ts = tensor.numpy()
ts = torch.tensor(np_ts)
tensor.size(dim) tensor的形状(可指定方向)
tensor.view(size) 改变tensor形状
tensor.t(0,1) tensor的转置(可指定维度)
tensor切片与索引:
类同于numpy
tensor方法:
tensor.max(dim) 获取tensor中最大的元素(可指定维度,会同时返回索引)
tensor数据类型:
tensor.dtype 查看tensor的数据类型
tensor.int() 转为int32
tensor.long() 转为int64
tensor.float() 转为float32
tensor.double() 转为float64
tensor计算:
tensor+/-/*//tensor 形状相同的矩阵对应位置进行操作(若形状不同,满足广播条件,可进行广播后操作)
tensor+/-/*//数字
tensor1.add_(tensor2) 将相加后的tensor赋值为tensor1
CUDA类型:
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
torch.tensor([2,3],device) #创建类型为cuda的tensor
tensor.to(device) #将已创建好的tensor转为cuda类型的tensor
tensor.cpu() #将cuda类型的tensor转化为cpu类型的tensor
标签:local float star add tensor list 最大 数组 会同
原文地址:https://www.cnblogs.com/nanhua097/p/11194743.html