Pytorch之Tensor和Numpy之間的轉(zhuǎn)換的實(shí)現(xiàn)方法
為什么要相互轉(zhuǎn)換:
1. 要對(duì)tensor進(jìn)行操作,需要先啟動(dòng)一個(gè)Session,否則,我們無(wú)法對(duì)一個(gè)tensor比如一個(gè)tensor常量重新賦值或是做一些判斷操作,所以如果將它轉(zhuǎn)化為numpy數(shù)組就好處理了。下面一個(gè)小程序講述了將tensor轉(zhuǎn)化為numpy數(shù)組,以及又重新還原為tensor:
2. Torch的Tensor和numpy的array會(huì)共享他們的存儲(chǔ)空間,修改一個(gè)會(huì)導(dǎo)致另外的一個(gè)也被修改。
學(xué)習(xí)鏈接:https://github.com/chenyuntc/pytorch-book
特別提醒[注意Tensor大小寫(xiě)]
- 最重要的區(qū)別
t.Tensor
和t.tensor
:不論輸入的類(lèi)型是什么,t.tensor()
都會(huì)進(jìn)行數(shù)據(jù)拷貝,不會(huì)共享內(nèi)存;t.Tensor()
與Numpy共享內(nèi)存,但當(dāng)Numpy的數(shù)據(jù)類(lèi)型和Tensor的類(lèi)型不一樣的時(shí)候,數(shù)據(jù)會(huì)被復(fù)制,不會(huì)共享內(nèi)存。 - 可使用
t.from_numpy()
或者t.detach()
將Numpy轉(zhuǎn)為T(mén)ensor,與原Numpy數(shù)據(jù)共享內(nèi)存。
附上實(shí)驗(yàn)證明
常規(guī)轉(zhuǎn)換:使用t.from_numpy()
將Numpy轉(zhuǎn)為T(mén)ensor,使用torch.numpy()
將Tensor轉(zhuǎn)為Numpy
需要注意的情況:使用t.Tensor()
進(jìn)行轉(zhuǎn)換,發(fā)現(xiàn)Numpy的數(shù)據(jù)類(lèi)型和Tensor的類(lèi)型一致,因此共享內(nèi)存
需要注意的情況:使用t.Tensor()
進(jìn)行轉(zhuǎn)換,發(fā)現(xiàn)Numpy的數(shù)據(jù)類(lèi)型和Tensor的類(lèi)型不一致,因此b與a不共享內(nèi)存
需要注意的情況:使用t.tensor()
進(jìn)行轉(zhuǎn)換,只進(jìn)行數(shù)據(jù)拷貝,不會(huì)共享內(nèi)存
到此這篇關(guān)于Pytorch之Tensor和Numpy之間的轉(zhuǎn)換的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)Pytorch Tensor和Numpy轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用python介紹4種常用的單鏈表翻轉(zhuǎn)的方法小結(jié)
這篇文章主要介紹了用python介紹4種常用的單鏈表翻轉(zhuǎn)的方法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02基于python批量處理dat文件及科學(xué)計(jì)算方法詳解
今天小編就為大家分享一篇基于python批量處理dat文件及科學(xué)計(jì)算方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05基于python編寫(xiě)監(jiān)控系統(tǒng)各項(xiàng)資源的腳本
這篇文章主要為大家詳細(xì)介紹了如何編寫(xiě)一個(gè)python腳本,實(shí)現(xiàn)監(jiān)控網(wǎng)絡(luò)的流量、CPU使用率、內(nèi)存使用率和磁盤(pán)使用情況,感興趣的小伙伴可以了解下2023-11-11玩轉(zhuǎn)python爬蟲(chóng)之正則表達(dá)式
這篇文章主要介紹了python爬蟲(chóng)的正則表達(dá)式,正則表達(dá)式在Python爬蟲(chóng)是必不可少的神兵利器,本文整理了Python中的正則表達(dá)式的相關(guān)內(nèi)容,感興趣的小伙伴們可以參考一下2016-02-02Python 實(shí)現(xiàn)opencv所使用的圖片格式與 base64 轉(zhuǎn)換
今天小編就為大家分享一篇Python 實(shí)現(xiàn)opencv所使用的圖片格式與 base64 轉(zhuǎn)換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01