pytorch.gather一点理解,为啥要造这个玩意

# 首先有一个input,取他的元素按照index来,  
# e.g   
# a=[[1,2],[3,4]] ----取他的元素---->  a[行1][列1] ,..., a[行n][列n]
# 记作 index = [[行],[列]]
# 即阔一发现 index 维度是和 a的shape一样
# 回到问题,作为一个noob,我费解的这样取索引不就好了,那么大神复杂设计背后
# 除了显示大神思维之处,一个noob都能想到的好处是压缩索引,和确定output的size
# 那么就需要利用index自己的索引
# 首先 index自己的维度是和input一样的,
# 考虑最极端情况 a自己当自己索引,并不考虑当作索引的a内元素具体值
# a=[[1]] ----索引 a=[[*]]
# a是1行1列,*是[0][0]
# 再增加*具体值,因此引入dim
# dim表示干掉!!索引a的索引
# 比如 dim=0 *原本的[0][0] 将被替代为[*][0]
# dim=1 就是被替代为[0][*]
# 是不是一下简单了...

https://github.com/XingShell/SelfCultivationforNoob/blob/master/pytorch/torch%E5%9F%BA%E6%9C%AC%E7%B1%BB%E5%9E%8B3--gather%E7%9A%84%E7%90%86%E8%A7%A3.ipynb

你可能感兴趣的:(pytorch,深度学习,torch.gather)