2021暑假的Pytorch学习笔记

 

之前一段时间的“科研”经历几乎没什么代码经验,对于Pytorch的了解也局限于部分基础应用。希望这个假期能在大哥的帮助下提高自己!

——希望自己假期不摸鱼的qsy

  • 维度问题

Pytorch中大量使用的tensor有着许多的接口函数,其中对于维度的规定与使用是许多函数应用中都需要熟练掌握的。经过大哥的讲解与一段时间的理解,tensor的维度可以概括为:

最高维在最前面,在最外面(第0维);正维度从前向后,负维度从后向前。

比如下面这段代码:(torch.cumprod是求某一维度的累乘)

1 tensor1 = torch.tensor([[[1, 2], [3 ,4]], [[5, 6], [7, 8]]]) 
2 cumprod = torch.cumprod(tensor1, 0)  
3 
4 print(cumprod)

得到的结果为:

1 tensor([[[ 1,  2],
2            [ 3,  4]],
3           [[ 5, 12],
4            [21, 32]]])

可以看到,对tensor1第0维做累乘的结果就是对最高的维度变化的数据做累乘。

(这里我理解的最高是我认为把一个tensor从二维扩展到三维,需要额外增加的一个维度,这个额外增加的维度我认为是最高维,位于最前面与括号的最外面)

  • 冒号的用法

在使用 torch.tensor 时,经常会需要对张量内部数据进行操作,这时, [ : ] 就是必不可少的操作符啦!

简要说来,  :  表示选择某一维的数据范围

  1.  [a : b] 就表示选区的数据范围为: [a, b) 
  2. 如果冒号的一侧没有数字的话,表示的就是那一侧的所有数据
  3. 如果有小于零的数据,则代表是倒数的第几个

 

 

posted @ 2021-08-10 22:54  MergusSquamatus  阅读(205)  评论(3编辑  收藏  举报