• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    pytorch中[..., 0]的用法说明

    在看程序的时候看到了x[…, 0]的语句不是很理解,后来自己做实验略微了解,以此记录方便自己查看。

    b=torch.Tensor([[[[10,2],[4,5],[7,8]],[[1,2],[4,5],[7,8]]]])
    print(b.size())
    (1, 2, 3, 2)
    print(b[…,0])
    tensor([[[10., 4., 7.],
    [ 1., 4., 7.]]])
    print(b[…,0].size())
    (1, 2, 3)
    print(b[…,2])
    Traceback (most recent call last):
    File “”, line 1, in
    IndexError: index 2 is out of bounds for dimension 3 with size 2
    print(b[0,…])
    tensor([[[10., 2.],
    [ 4., 5.],
    [ 7., 8.]],
    [[ 1., 2.],
    [ 4., 5.],
    [ 7., 8.]]])
    print(b[0,…].size())
    (2, 3, 2)
    print(b[0,…,0].size())
    (2, 3)
    print(b[0,…,0])
    tensor([[10., 4., 7.],
    [ 1., 4., 7.]])

    […, 0]表示抽取tensor b的第4根轴上的第一列数字组成tensor,[0, …]表示抽取tensor b的第一根轴上的第一列数字组成tensor,[0, …, 0]表示抽取b的第一根和第四根轴上的第一列数字组成tensor。

    还发现一个现象

    print(b[…,0:])
    tensor([[[[10., 2.],
    [ 4., 5.],
    [ 7., 8.]],
    [[ 1., 2.],
    [ 4., 5.],
    [ 7., 8.]]]])
    print(b[…,1:])
    tensor([[[[2.],
    [5.],
    [8.]],
    [[2.],
    [5.],
    [8.]]]])
    print(b[…,2:])
    tensor([], size=(1, 2, 3, 0))

    补充:PyTorch中[..., 0]的使用案例

    1. 示例1

    import torch
    a = torch.rand((17, 24, 8))
    b = a[..., 0]
    c = a[:, :, 0]
    print(b == c)

    结果为True

    2. 示例2

    import torch
    a = torch.rand((64, 17, 24, 8))
    b = a[..., 0]
    c = a[:, :, :, 0]
    print(b == c)

    结果为True

    3. 结论

    可以看出[…, 0]相当于[:, :, … :, 0]

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • pytorch中的nn.ZeroPad2d()零填充函数实例详解
    • 基于python及pytorch中乘法的使用详解
    • PyTorch安装与基本使用详解
    上一篇:浅谈pytorch中stack和cat的及to_tensor的坑
    下一篇:Python 线程池模块之多线程操作代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    pytorch中[..., 0]的用法说明 pytorch,中,...,的,用法,说明,