zoukankan      html  css  js  c++  java
  • tensor

    初始化

    z = torch.Tensor(3,4,2,3,5)  --可以创建多维数组。里面是随机的数。
    s = torch.Tensor(2,3):fill(1) --用1填充
    t = torch.rand(3,3)
    m = torch.zeros(3,3)或者 m = torch.Tensor(3,3):zero()   --第一个zero后面有s,第二个没有
    th> a=torch.Tensor(3)
                                                                          [0.0001s]
    th> a
     7.0944e-317
     6.9495e-310
     1.5085e+132
    [torch.DoubleTensor of size 3]
    
                                                                          [0.0061s]
    th> b=torch.Tensor(2,3)
                                                                          [0.0001s]
    th> b
     9.4690e+250   5.2287e-67  8.1738e+247
      7.7683e-72  8.1738e+247  1.9119e+214
    [torch.DoubleTensor of size 2x3]                          只有一个参数时,是行参数

    tensor相关信息

    z = torch.Tensor(3,4)
    x = z:nDimension()  -- 2,tensor多少维
    y = z:size()  -- 3和4
    t = z:nElement() -- 12

    改变tensor里的元素

    x = torch.Tensor(5,6):zero()
    x[{1,3}] = 1 --第一行第三个元素转换成1
    x[ {2, {2,4}} ] = 2 --第二行第二个到第四个元素都转换成1
    x[ { {}, 4}] = -1 --从第一行到最后一行,每行的第四个元素都转换成-1

    tensor的提取

    总说:select是直接提取某一维;narrow是取出某一维并进行裁剪; sub就是取出一块,是对取出的所有维进行裁剪。 
    语法 select(dim, index); narrow(dim, index, num); sub(dim1s, dim1e, dim2s, dim2e,…)

    x = torch.Tensor(3,4)
    i = 0 
    x:apply(function()i = i+1 return i end)
    --[[
    x 为
      1   2   3   4
      5   6   7   8
      9  10  11  12
    ]]
    selected = x:select(1,2)  --第一维的第二个,就是第二行。第一个参数是选择哪一维,第二个参数是选择这一维的哪一个。
    narrowed = x:narrow(2,1,2)
    --[[ 第二维的第一个到第二个
    th> narrowed
      1   2
      5   6
      9  10
    ]]
    subbed = x:sub(1,3,2,3)
    --[[ 一维到3为止,二维也到3为止。
    th> subbed
      2   3
      6   7
     10  11
    ]]
  • 相关阅读:
    WC2021 游记
    TC11054
    P5904
    CF741D
    CF1467 题解
    [CTSC2008]网络管理 [树剖+整体二分]
    [HNOI2015]接水果[整体二分]
    [SDOI2010]粟粟的书架 [主席树]
    整体二分的一些见解[整体二分学习笔记]
    P2710 数列[fhq treap]
  • 原文地址:https://www.cnblogs.com/ymjyqsx/p/6230856.html
Copyright © 2011-2022 走看看