尝试如下代码
importtorch a=torch.arange(10).view(5,2)#.Tprint(a,a.is_contiguous(),a.data_ptr())foriinrange(a.shape[0]):forjinrange(a.shape[1]):print(f"a[{i},{j}]={a[i,j]},地址:{a[i,j].data_ptr()}")b=a.Tprint(b,b.is_contiguous(),b.data_ptr())foriinrange(b.shape[0]):forjinrange(b.shape[1]):print(f"b[{i},{j}]={b[i,j]},地址:{b[i,j].data_ptr()}")c=b.contiguous()print(c,c.is_contiguous(),c.data_ptr())foriinrange(c.shape[0]):forjinrange(c.shape[1]):print(f"c[{i},{j}]={c[i,j]},地址:{c[i,j].data_ptr()}")运行结果
转置操作会导致张量不连续