Tensor 和 NumPy 相互轉(zhuǎn)換的實(shí)現(xiàn)
我們很容易用numpy()和from_numpy()將Tensor和NumPy中的數(shù)組相互轉(zhuǎn)換。但是需要注意的一點(diǎn)是: 這兩個(gè)函數(shù)所產(chǎn)生的Tensor和NumPy中的數(shù)組共享相同的內(nèi)存(所以他們之間的轉(zhuǎn)換很快),改變其中一個(gè)時(shí)另一個(gè)也會(huì)改變!
1. Tensor 轉(zhuǎn) NumPy
a = torch.ones(6) b = a.numpy() print(a, b) a += 1 print(a, b) b += 1 print(a, b)
tensor([1., 1., 1., 1., 1., 1.]) [1. 1. 1. 1. 1. 1.] tensor([2., 2., 2., 2., 2., 2.]) [2. 2. 2. 2. 2. 2.] tensor([3., 3., 3., 3., 3., 3.]) [3. 3. 3. 3. 3. 3.]
2. NumPy 數(shù)組轉(zhuǎn) Tensor
import numpy as np a = np.ones(7) b = torch.from_numpy(a) print(a, b) a += 1 print(a, b) b += 1 print(a, b)
[1. 1. 1. 1. 1. 1. 1.] tensor([1., 1., 1., 1., 1., 1., 1.], dtype=torch.float64) [2. 2. 2. 2. 2. 2. 2.] tensor([2., 2., 2., 2., 2., 2., 2.], dtype=torch.float64) [3. 3. 3. 3. 3. 3. 3.] tensor([3., 3., 3., 3., 3., 3., 3.], dtype=torch.float64)
3. torch.tensor() 將 NumPy 數(shù)組轉(zhuǎn)換成 Tensor
直接用torch.tensor()將NumPy數(shù)組轉(zhuǎn)換成Tensor,該方法總是會(huì)進(jìn)行數(shù)據(jù)拷貝,返回的Tensor和原來(lái)的數(shù)據(jù)不再共享內(nèi)存。
import numpy as np
a = np.ones((2,3))
c = torch.tensor(a)
a += 1
print('a:',a)
print('c:',c)
print(id(a)==id(c))a: [[2. 2. 2.]
[2. 2. 2.]]
c: tensor([[1., 1., 1.],
[1., 1., 1.]], dtype=torch.float64)
False
到此這篇關(guān)于Tensor 和 NumPy 相互轉(zhuǎn)換的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Tensor 和 NumPy 相互轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python升級(jí)導(dǎo)致yum、pip報(bào)錯(cuò)的解決方法
這篇文章主要給大家介紹了因?yàn)镻ython升級(jí)導(dǎo)致yum、pip報(bào)錯(cuò)的解決方法,文中通過(guò)示例代碼將解決的方法介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)下吧。2017-09-09
Python中使用format函數(shù)的小結(jié)
在Python中,format()函數(shù)是一種用于格式化字符串的方法主要介紹了Python中使用format函數(shù)的小結(jié),本文就來(lái)介紹一下format()函數(shù)的使用示例,感興趣的可以了解一下2023-08-08
Python進(jìn)程間通訊與進(jìn)程池超詳細(xì)講解
進(jìn)程彼此之間互相隔離,要實(shí)現(xiàn)進(jìn)程間通信(IPC),multiprocessing模塊主要通過(guò)隊(duì)列方式,隊(duì)列:隊(duì)列類似于一條管道,元素先進(jìn)先出,需要注意的一點(diǎn)是:隊(duì)列都是在內(nèi)存中操作,進(jìn)程退出,隊(duì)列清空,另外,隊(duì)列也是一個(gè)阻塞的形態(tài)2022-12-12
Vs Code中8個(gè)好用的python 擴(kuò)展插件
這篇文章主要介紹了Vs Code中8個(gè)好用的python 擴(kuò)展插件,幫助大家更好的利用vs code進(jìn)行python開(kāi)發(fā),感興趣的朋友可以了解下2020-10-10
使用Python制作讀單詞視頻的實(shí)現(xiàn)代碼
我們經(jīng)常在B站或其他視頻網(wǎng)站上看到那種逐條讀單詞的視頻,但他們的視頻多多少少和我們的預(yù)期都不太一致,然而,網(wǎng)上很難找到和自己需求符合的視頻,所以本文給大家介紹了使用Python制作讀單詞視頻的實(shí)現(xiàn),需要的朋友可以參考下2024-04-04
探索Python定時(shí)任務(wù)實(shí)現(xiàn)高效時(shí)間管理
這篇文章主要為大家介紹了探索Python定時(shí)任務(wù)高效實(shí)現(xiàn)高效時(shí)間管理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Python中將字符串轉(zhuǎn)換為列表的常用八種方法
本文介紹了Python中將字符串轉(zhuǎn)換為列表的八種常用方法,包括split()方法、列表解析、正則表達(dá)式、str()函數(shù)、map()函數(shù)、re.split()、re.finditer()和逐字符遍歷,感興趣的可以了解一下2024-07-07
在Python中構(gòu)建增廣矩陣的實(shí)現(xiàn)方法
今天小編就為大家分享一篇在Python中構(gòu)建增廣矩陣的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
django的分頁(yè)器Paginator 從django中導(dǎo)入類
這篇文章主要介紹了django的分頁(yè)器Paginator 從django中導(dǎo)入類,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07

