(基於Pytorch的深度學習)筆記1:建立模型用到的類:_init_和self、super(Model, self).__init__()
Python 中的_init_和self:
拿以下一段程式碼作為例子:
class LinearNet(nn.Module):
def __init__(self,n_feature):
super(LinearNet, self).__init__()
self.linear = nn.Linear(n_feature,1)
def forward(self, x):
y = self.linear(x)
return y
定義一個類:class LinearNet(nn.Module),利用__init__()把需要必須繫結的屬性強制填寫進去,如上面給的n_feature,注意到__init__()的第一個引數永遠是self,其表示建立的例項本身,此時我們也可以看到,新建的LinearNet類擁有一個父類,即nn.Module,那麼,其就可以呼叫以下函式來通過初始化父類屬性以達到初始化自身繼承了父類的某些屬性;這樣一來,作為nn.Module的子類(LinearNet)就無需再初始化那一部分屬性了,只需初始化新加的元素;
super(Model, self).__init__()
super(Model, self).__init__(),其代表對繼承的那個父類的屬性進行初始化,首先找到LinearNet的父類A,然後把LinearNet的物件self轉換為父類A的物件,然後被轉換的父類的物件A呼叫自己的__init__函式。
再次回到上面那段程式碼,幾點說明:首先,類LinearNet呼叫__init__()初始化一部分繼承父類的屬性;
其此增加了新的引數n_feature,linear,以及將他初始化;
增加了一個新函式forward(),有一個和輸入引數x,此時x就相當於n_featrue這個位置,返回y,見到你理解y此時就是代表一個nn.Linear(n_featrue,1)這樣的線性迴歸的神經網路模型
呼叫方式:
net = LinearNet(2)
對LinearNet例項化一個物件net,輸入引數為整形資料2,即代表net為一個2輸入1輸出的網路模型;
以上就相當於搭建了一個簡易模型,有點為繁瑣,所以nn類提供了更加簡單的方法來搭建網路
待更新
相關文章
- Python 中的 super(類名, self).__init__() 的含義Python
- rust語法super、self和SelfRust
- Python Class self __init__筆記Python筆記
- iOS[super class]和[self class]iOS
- 關於 self 和 super 在oc 中 的疑惑 與 分析
- Objective-C中的self和super理解Object
- Objective-C 的 self 和 super 詳解Object
- 刨根問底:對於 self = [super init] 的思考
- &self 和 self 的區別
- 基於pytorch的深度學習實戰PyTorch深度學習
- 深度學習框架Pytorch學習筆記深度學習框架PyTorch筆記
- js--class類、super和estends關鍵詞的學習筆記JS筆記
- object-c [self class] 和 [self _cmd]Object
- Razavi - RF Microelectronics的筆記 - LO Self Mixing筆記
- python類中super()和__init__()的區別Python
- this和super的區別和應用 學習筆記筆記
- 基於深度學習的醫學影像配準學習筆記2深度學習筆記
- Python 中__init__函式以及引數selfPython函式
- [PyTorch 學習筆記] 3.1 模型建立步驟與 nn.ModulePyTorch筆記模型
- 類的基礎學習筆記筆記
- add self model to lm-evaluation-harness
- Java學習筆記【1】陣列的宣告和建立Java筆記陣列
- new static ,new self ,self::, $this的一些理解
- Self-Attention GAN 中的 self-attention 機制
- 基於Keras和Gunicorn+Flask部署深度學習模型KerasFlask深度學習模型
- Python - 關於類(self/cls) 以及 多程式通訊的思考Python
- self::class和static::class的區別
- (學習筆記)python 對__init__的初步理解筆記Python
- pytorch學習筆記PyTorch筆記
- PyTorch 學習筆記PyTorch筆記
- 深度學習及pytorch基礎深度學習PyTorch
- 強化學習成為OpenAI o1靈魂,速來學習下Self-play增強大模型強化學習OpenAI大模型
- pytorch使用交叉熵訓練模型學習筆記PyTorch熵模型筆記
- 基於深度學習模型Wide&Deep的推薦深度學習模型IDE
- 讀書筆記(四):深度學習基於Keras的Python實踐筆記深度學習KerasPython
- 基於深度學習的回聲消除系統與Pytorch實現深度學習PyTorch
- YYModel學習筆記筆記
- OC中self a和_a的訪問的區別