欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中inplace、subset參數(shù)的意義及說明

 更新時(shí)間:2023年08月02日 14:48:56   作者:quantLearner  
這篇文章主要介紹了Python中inplace、subset參數(shù)的意義及說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Python中inplace、subset參數(shù)的意義

在Python使用中,很多函數(shù)都會有inplace這個(gè)參數(shù)。

df.drop(['CLOSE'],axis=1,inplace=True)

Inplace = True意思就是df.drop()函數(shù)執(zhí)行完之后,直接賦值給df這個(gè)對象,如果Inplace = False則df.drop()只是執(zhí)行了drop()這個(gè)函數(shù),但是并沒有將執(zhí)行后的結(jié)果返回給df這個(gè)對象,也就是如果此時(shí)print(df)還是跟原來一樣。

subset = ['col1','col2'...]

subset指的是限定函數(shù)作用范圍,只在[‘col1’,‘col2’…]列內(nèi)

激活函數(shù)nn.ReLU(inplace=True)中inplace的作用

nn.ReLU(inplace=True)

參數(shù)inplace=True:

inplace為True,將計(jì)算得到的值直接覆蓋之前的值

inplace:can optionally do the operation in-place. Default: False

注: 產(chǎn)生的計(jì)算結(jié)果不會有影響。利用in-place計(jì)算可以節(jié)省內(nèi)(顯)存,同時(shí)還可以省去反復(fù)申請和釋放內(nèi)存的時(shí)間。但是會對原變量覆蓋,只要不帶來錯誤就用。

例如:x = x+1

即對原值x進(jìn)行+1操作后得到的值,直接賦值給x,而不是如下找一個(gè)中間變量y:

  • y=x+1
  • x=y

先將x進(jìn)行+1操作后賦值給中間變量y,然后將y值賦給x

這樣就需要內(nèi)存存儲變量y

因此當(dāng)inplace=True時(shí):

就是對從上層網(wǎng)絡(luò)nn.Conv2d中傳遞下來的tensor直接進(jìn)行修改,這樣能夠節(jié)省運(yùn)算內(nèi)存,不用多存儲其他變量。

python pandas中inplace分析

pandas中很多函數(shù)都有inplace參數(shù),他們都作是否修改傳入數(shù)據(jù)的意思,為True時(shí)就是修改。但inplace還封裝了一個(gè)作用,就是復(fù)制,在賦值的時(shí)候,其實(shí)賦值就是一種復(fù)制,inplace為True的時(shí)候,不進(jìn)行復(fù)制操作。

inplace還有一個(gè)意義就是原對象不遷移,屬于不將映射轉(zhuǎn)到其他變量或?qū)ο笊?。但為false的時(shí)候可以復(fù)制,賦值到的那個(gè)對象保留了原對象執(zhí)行函數(shù)的一種映射,但不會改變原對象。

所以這種方式就是為了保留原來數(shù)據(jù)的一種便捷方式,不用多次賦值來避免原來的對象改變又能得到一個(gè)長期的映射。

inplace這個(gè)參數(shù)設(shè)置好之后,即使是提前設(shè)置了原對象和新對象的淺復(fù)制,也一樣不可撼動其執(zhí)行效果,df1=df

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論