pytorch 中 contiguous()

好像是已經過時的函數, 在pytorch0.4之前, view()進行改變形狀時, 這個變量tensor的內存必須是連續的, 否則會失敗, 但是現在可以了, 舉例如下:

import torch

x = torch.tensor([[1, 2, 0], [0, 0, 0], [0, 0, 0], [0, 2, 3]])
mask = x != 0
print("mask:\n", mask)
x = x[mask]
print("\nx:", x)

print("\nx內存是否連續:", x.is_contiguous())   # 是否連續

# 如果不連續, 需要這樣操作一下, 使其連續
x2 = x.contiguous()

print("\n變性後:\n", x2.view(2, 2))

結果如下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章