Tensor en pytorch de uso común es_significado contiguo

es_contiguo

Según el nombre, puedes saber si es continuo y adyacente. En pytorch, la capa inferior de tensores de cualquier dimensión es un tensor unidimensional, pero depende de cómo lo leas. Por lo tanto, los escalares en cada tensor son continuo. Si transponemos la matriz, los escalares del tensor serán discontinuos, y llamar a is_contiguous será False, y False no puede llamar a view para cambiar la dimensión del tensor, solo se puede usar remodelar.

demostración de código

import torch

a = [[1,2,3], [4,5,6], [7,8,9]]
a = torch.tensor(a)

'''
tensor([[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]])
'''
a = a.t()
'''
tensor([[1, 4, 7],
        [2, 5, 8],
        [3, 6, 9]])
'''


print(a.is_contiguous())
# False
a = a.contiguous()
print(a.is_contiguous())
# True

Supongo que te gusta

Origin blog.csdn.net/weixin_45074568/article/details/126748659
Recomendado
Clasificación