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如何求數(shù)組連續(xù)最大和的示例代碼
這篇文章主要介紹了python如何求數(shù)組連續(xù)最大和的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02Python pygame實(shí)現(xiàn)中國(guó)象棋單機(jī)版源碼
今天給大家?guī)?lái)的是關(guān)于Python實(shí)戰(zhàn)的相關(guān)知識(shí),文章圍繞著用Python pygame實(shí)現(xiàn)中國(guó)象棋單機(jī)版展開(kāi),文中有非常詳細(xì)的代碼示例,需要的朋友可以參考下2021-06-06Python實(shí)現(xiàn)批量提取PPT中的文字
這篇文章主要為大家詳細(xì)介紹了如何使用Python中的pptx和docx庫(kù)來(lái)將PPT中的文字提取到Word中,文中的示例代碼講解詳細(xì),有需要的可以參考下2024-03-03在ubuntu16.04中將python3設(shè)置為默認(rèn)的命令寫(xiě)法
這篇文章主要介紹了在ubuntu16.04中將python3設(shè)置為默認(rèn)python的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-10-10python爬蟲(chóng)_自動(dòng)獲取seebug的poc實(shí)例
下面小編就為大家?guī)?lái)一篇python爬蟲(chóng)_自動(dòng)獲取seebug的poc實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08Python OpenCV 圖像區(qū)域輪廓標(biāo)記(框選各種小紙條)
這篇文章主要介紹了Python OpenCV 圖像區(qū)域輪廓標(biāo)記(框選各種小紙條),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03如何寫(xiě)好?Python?的?Lambda?函數(shù)
這篇文章主要介紹了如何寫(xiě)好?Python?的?Lambda?函數(shù),Lambda?函數(shù)是?Python?中的匿名函數(shù),下面文章通過(guò)介紹Lambda?函數(shù)的相關(guān)內(nèi)容展開(kāi)文章主題,需要的小伙伴可以參考一下2022-03-03Python進(jìn)階篇之多線程爬取網(wǎng)頁(yè)
這篇文章主要為大家介紹了Python進(jìn)階中利用多線程來(lái)爬取網(wǎng)頁(yè)的示例實(shí)現(xiàn)及解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10