深度學習 Pytorch學習筆記(一)

2021-10-08 12:20:38 字數 948 閱讀 1455

pytorch中需要自己定義網路模型,該模型需要封裝到乙個自定義的類中,該類只是乙個子類,其繼承的父類為torch.nn.module,可見如下樹形結構圖:

module實際又是繼承了object類,關於為什麼要繼承object類有興趣的可以看這篇部落格mro演算法

也就是說,自定義的模型除了要有__init__()建構函式之外,還必須有forward函式,重寫父類module的該方法。在子類的__init__()方法中必須呼叫父類的__init__()方法以初始化父類的屬性,常用寫法為super(自定義類名稱,self ).__init__()或者module.__init__(self)

然而forward函式不需要使用者自己呼叫,只需要例項化使用者自定義的模型物件即可,就會自動呼叫forward函式,這種機制類似於hook(鉤子)函式,forward函式掛接在所在類的__init__()方法上,所以例項化物件的同時也呼叫了forward方法。

在使用者自定義的模型類中,__init__()建構函式是用來初始化神經網路的層結構,forward函式用來實現神經網路的前向傳播。

PyTorch 深度學習 筆記

方差 偏差 線性回歸來確定兩種或兩種以上變數間相互依賴的定量關係。線性回歸對於輸入x和輸出y有乙個對映 類似ax b 而我們是訓練a b這兩個引數。以下 使用pytorch建立乙個線性的模型來對其進行擬合,即訓練過程。def linear ex x np.random.rand 256 noise ...

深度學習 Pytorch學習筆記(五)

pytorch實現卷積神經網路 執行效率相對於keras慢太多 import torch import warnings import torchvision from torchvision.datasets import mnist from torch.utils.data import da...

pytorch 深度學習

pytorch深度學習實踐 訓練集 開發集 模型評估 測試集。f x wx b f x wx b f x w x bloss 乙個樣本 cost mean square error training set 區域性最優,不一定全域性最優。鞍點 梯度為0,但無法繼續迭代。w w c ost ww w ...