怎么新建MySQL数据库

发布时间:2022-12-20 作者:admin
阅读:385
这篇主要是介绍“Pytorch如何实现List和Tensor的转化,要注意哪些问题”的内容了,下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家解决Pytorch如何实现List和Tensor的转化,要注意哪些问题的问题,下面我们一起来了解看看吧。

目录
  • 一、List Tensor转Tensor (torch.cat)
    • 高维tensor
  • 二、List Tensor转Tensor (torch.stack)

    持续更新一些常用的Tensor操作,比如List,Numpy,Tensor之间的转换,Tensor的拼接,维度的变换等操作。

    其它Tensor操作如 einsum等见:待更新。

    用到两个函数:

    • torch.cat
    • torch.stack

    一、List Tensor转Tensor (torch.cat)

    // An highlighted block
    >>> t1 = torch.FloatTensor([[1,2],[5,6]])
    >>> t2 = torch.FloatTensor([[3,4],[7,8]])
    >>> l = []
    >>> l.append(t1)
    >>> l.append(t2)
    >>> ta = torch.cat(l,dim=0)
    >>> ta = torch.cat(l,dim=0).reshape(2,2,2)
    >>> tb = torch.cat(l,dim=1).reshape(2,2,2)
    >>> ta
    tensor([[[1., 2.],
             [5., 6.]],
    
            [[3., 4.],
             [7., 8.]]])
    >>> tb
    tensor([[[1., 2.],
             [3., 4.]],
    
            [[5., 6.],
             [7., 8.]]])

    高维tensor

    ** 如果理解了2D to 3DTensor,以此类推,不难理解3D to 4D,看下面代码即可明白:**

    >>> t1 = torch.range(1,8).reshape(2,2,2)
    >>> t2 = torch.range(11,18).reshape(2,2,2)
    >>> l = []
    >>> l.append(t1)
    >>> l.append(t2)
    >>> torch.cat(l,dim=2).reshape(2,2,2,2)
    tensor([[[[ 1.,  2.],
              [11., 12.]],
    
             [[ 3.,  4.],
              [13., 14.]]],
    
    
            [[[ 5.,  6.],
              [15., 16.]],
    
             [[ 7.,  8.],
              [17., 18.]]]])
    >>> torch.cat(l,dim=1).reshape(2,2,2,2)
    tensor([[[[ 1.,  2.],
              [ 3.,  4.]],
    
             [[11., 12.],
              [13., 14.]]],
    
    
            [[[ 5.,  6.],
              [ 7.,  8.]],
    
             [[15., 16.],
              [17., 18.]]]])
    >>> torch.cat(l,dim=0).reshape(2,2,2,2)
    tensor([[[[ 1.,  2.],
              [ 3.,  4.]],
    
             [[ 5.,  6.],
              [ 7.,  8.]]],
    
    
            [[[11., 12.],
              [13., 14.]],
    
             [[15., 16.],
              [17., 18.]]]])

    二、List Tensor转Tensor (torch.stack)

    代码:

    import torch
    
    t1 = torch.FloatTensor([[1,2],[5,6]])
    t2 = torch.FloatTensor([[3,4],[7,8]])
    l = [t1, t2]
    
    t3 = torch.stack(l, dim=2)
    print(t3.shape)
    print(t3)
    
    ## output:
    ## torch.Size([2, 2, 2])
    ## tensor([[[1., 3.],
    ##          [2., 4.]],
    ##        [[5., 7.],
    ##         [6., 8.]]])

    这篇关于“Pytorch如何实现List和Tensor的转化,要注意哪些问题”的文章就介绍到这了,更多相关的内容,欢迎关注群英网络,小编将为大家输出更多高质量的实用文章!

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

    二维码-群英

    长按识别二维码并关注微信

    更方便到期提醒、手机管理

    7*24 全天候服务

    售前 400-678-4567

    售后 0668-2555666

    售后 400 678 4567

    信息安全 0668-2555 118

    域名空间 3004329145