【Note】PyTorch 文档学习历程

1. torch
torch.eye(n, m=None, out=None)
返回 2 维张量,对角线为 1,其他为 0.
torch.ones(*sizes, out=None) -> Tensor
返回形状由可变参数 sizes 决定的全为 1 的张量。
torch.zeros(*sizes, out=None) -> Tensor
返回形状由可变参数 sizes 决定的全为 0 的张量。

torch.linspace(start, end, steps=100, out=None) -> Tensor
返回一个 1 维张量,包含 [start, end] 的 step 个点。
torch.logspace(start, end, steps=100, out=None) -> Tensor
返回一个 1 维张量,包含 [10^start, 10^end] 的 step 个点。
torch.arange(start, end, step=1, out=None) -> Tensor
[start, end),步长为 step。
torch.range(start, end, step=1, out=None) -> Tensor
[start, end],步长为 step。

torch.rand(*sizes, out=None) -> Tensor
[0, 1) 均匀分布的一组随机数。
torch.randn(*sizes, out=None) -> Tensor
服从标准正态分布的一组随机数。
torch.randperm(n, out=None) -> Tensor
[0, n-1] 的随机整数序列。

torch.gather(input, dim, index:LongTensor, out=None) -> Tensor
官方定义是这样的:

沿给定轴 dim,将输入索引张量 index 指定位置的值进行聚合。

对一个3维张量,输出可以定义为:

out[i][j][k] = tensor[index[i][j][k]][j][k]  # dim=0
out[i][j][k] = tensor[i][index[i][j][k]][k]  # dim=1
out[i][j][k] = tensor[i][j][index[i][j][k]]  # dim=3

例子:
>>> t = torch.Tensor([[1,2],[3,4]])
>>> torch.gather(t, 1, torch.LongTensor([[0,0],[1,0]]))
 1  1
 4  3
[torch.FloatTensor of size 2x2]

我是这么理解的,以上面官方例子为例。t 是 [1, 2; 3, 4],对应的 index 是 [(0, 0), (0, 1); (1, 0), (1, 1)]。
gather 方法中 dim 设置为 1,也就是只有第 1 维索引改变,其他维(在此例中就是 0 维)都不变。
因此索引就变成 [(0, 0), (0, 0); (1, 1), (1, 0)],对应原先 Tensor 值就是 [1, 1; 4, 3]。

torch.index_select(input, dim, index:LongTensor, out=None) -> Tensor
举个例子就明白了:

>>> x = torch.randn(3, 4)
>>> x

 1.2045  2.4084  0.4001  1.1372
 0.5596  1.5677  0.6219 -0.7954
 1.3635 -1.2313 -0.5414 -1.8478
[torch.FloatTensor of size 3x4]

>>> indices = torch.LongTensor([0, 2])
>>> torch.index_select(x, 0, indices)

 1.2045  2.4084  0.4001  1.1372
 1.3635 -1.2313 -0.5414 -1.8478
[torch.FloatTensor of size 2x4]

>>> torch.index_select(x, 1, indices)

 1.2045  0.4001
 0.5596  0.6219
 1.3635 -0.5414
[torch.FloatTensor of size 3x2]

torch.masked_select(input, mask:ByteTensor, out=None) -> Tensor
根据掩码张量mask中的二元值,取输入张量中的指定项( mask为一个 ByteTensor),将取值返回到一个新的1D张量,

张量 mask 须跟 input 张量有相同数量的元素数目,但形状或维度不需要相同。 注意: 返回的张量不与原始张量共享内存空间。

x = torch.randn(3, 4)
>>> x
tensor([[-0.1711, -1.1977, -0.4085,  1.6461],
        [ 0.3719, -1.0407,  1.7696, -0.5083],
        [-1.1868, -1.0291,  0.1067,  0.3486]])
>>> mask = x.ge(0.5)
>>> mask
tensor([[0, 0, 0, 1],
        [0, 0, 1, 0],
        [0, 0, 0, 0]], dtype=torch.uint8)
>>> torch.masked_select(x, mask)
tensor([1.6461, 1.7696])

torch.nonzero(input, out=None) -> LongTensor
设 z 为输入张量 input 中所有非零元素的个数,n 为输入张量的维数,那么输出张量的形状为 z*n。

torch.squeeze(input, dim=None, out=None)
将输入张量形状中的 1 去除并返回,若指定 dim 不是 1,则保持张量不变进行返回。
torch.unsqueeze(input, dim, out=None)
与上述函数操作相反。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,192评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,858评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,517评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,148评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,162评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,905评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,537评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,439评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,956评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,083评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,218评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,899评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,565评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,093评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,201评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,539评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,215评论 2 358

推荐阅读更多精彩内容