pytorch刪除Tensor中指定位置的元素

2021-10-09 22:17:29 字數 713 閱讀 5506

list中刪除乙個元素:

l1 = ['a','b','c']

del l1[1] # 或者l1.remove('b')

print(l1)

> ['a', 'c']

array中刪除元素

arr1 = np.array(['a','b','c'])

arr2 = np.delete(arr1,1) # 刪除arr1中索引為1的元素

print(arr2)

> ['a' 'c']

tensor中刪除元素,pytorch中貌似沒有直接刪除元素的方法,那麼我們就簡單寫乙個,經過測試發現這個方法居然跟np.delete速度差不多,還以為自己寫的會很慢呢

def del_tensor_ele(arr,index):

arr1 = arr[0:index]

arr2 = arr[index+1:]

return torch.cat((arr1,arr2),dim=0)

tensor1 = torch.tensor([1,2,3,4,5,6])

tensor2 = del_tensor_ele(tensor1,1) # 刪除tensor1中索引為1的元素

print(tensor2)

> tensor([1., 3., 4., 5., 6.])

Pytorch快速入門一 Tensor

tensor 可以簡單地認為是乙個陣列,且支援高效的科學計算。基礎操作 從儲存角度講,可以分為以下兩類 tensor和numpy的相互轉換。tensor 和numpy共享記憶體,所以互相轉換的速度非常快。這也意味著,如果其中乙個變了,另外乙個也會變。import torch as t a t.one...

Pytorch之Tensor和Numpy之間的轉換

最重要的區別t.tensor和t.tensor 不論輸入的型別是什麼,t.tensor 都會進行資料拷貝,不會共享記憶體 t.tensor 與numpy共享記憶體,但當numpy的資料型別和tensor的型別不一樣的時候,資料會被複製,不會共享記憶體。可使用t.from numpy 或者t.deta...

pytorch的tensor與numpy陣列共享值

網上的很多部落格說tensor與numpy陣列共享記憶體,這是錯誤的 先給結論 tensor與numpy陣列共享部分記憶體,說共享值更嚴謹,且有條件 看 a torch.ones 2,2 b a.numpy print id a print id b 輸出 3030786996336 3030755...