• Tensor类型


    Tensor类型

    1.Tensor有不同的数据类型,每种类型又有CPU和GPU两种版本;
    2.默认的tensor类型是FloatTensor,t.set_default_tensor_type可以修改默认的tensor类型;
    3.特别的HalfTensor是专门为GPU显存不足设计的,同样的元素个数,显存只占用FloatTensor的一半;
    ------------------------------------------------------------------------------------
    数据类型               |   CPU tensor                |   GPU tensor
    ------------------------------------------------------------------------------------
    32bit浮点              | torch.FloatTensor           | torch.cuda.FloatTensor
    64bit浮点              | torch.DoubleTensor          |torch.cuda.DoubleTensor
    16bit半精度浮点        | N/A                         | torch.cuda.HalfTensor   
    8bit无符号整形         | torch.ByteTensor            | torch.cuda.ByteTensor
    8bit有符号整形         | torch.CharTensor            | torch.cuda.CharTensor
    16bit有符号整形        | torch.ShortTensor           | torch.cuda.ShortTensor  
    32bit有符号整形        | torch.IntTensor             | torch.cuda.IntTensor  
    64bit有符号整形        | torch.LongTensor            | torch.cuda.LongTensor   
    ------------------------------------------------------------------------------------
    4.各个数据类型之间可以相互转化,type(new_type)是通用的方法,也有float、long、half等快捷方法,CPU tensor与GPU tensor之间的相互转化通过tensor.cuda和tensor.cpu的方法实现;

    实例操作

    #设置默认tensor格式,正常默认是FloatTensor,修改为IntTensor
    t.set_default_tensor_type(t.DoubleTensor)
    a = t.Tensor(2,3)
    print(a.dtype)      #torch.float64
    
    b = a.float()       #等价于b = a.type(t.FloatTensor)
    print(b.dtype)      #torch.float32
    
    self = t.Tensor(3, 5)
    print('self',self.dtype)
    tesnor = t.IntTensor(2,3)
    print('tensor',tesnor.dtype)
    
    print( self.type_as(tesnor).dtype)      #通过typt_as转化类型
    '''
    self torch.float64
    tensor torch.int32
    torch.int32
    '''
    
    d = a.new(2,3)      # 等价于torch.DoubleTensor(2,3)
    print('d',d)

    Monkey
  • 相关阅读:
    mojoportal学习——文章翻译之SmartCombo
    windows froms 程序打包 (转载)
    [笔记]LCD1602 Display Experiment
    [笔记] JLink V8固件烧录指导
    [笔记]NiosII之Count Binary
    [笔记]DE2115 LCD1602字符的显示
    [笔记]What is HDBaseT
    [笔记]Inrush Current Case
    [笔记]远传中继的实现
    [笔记]RunningLED Experiment
  • 原文地址:https://www.cnblogs.com/monkeyT/p/9994441.html
Copyright © 2020-2023  润新知