码迷,mamicode.com
首页 > 其他好文 > 详细

PyTorch安装及基础

时间:2019-07-17 23:15:18      阅读:390      评论:0      收藏:0      [点我收藏+]

标签: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

PyTorch安装及基础

标签:local   float   star   add   tensor   list   最大   数组   会同   

原文地址:https://www.cnblogs.com/nanhua097/p/11194743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!