文章目錄
- 一、前置知識
- 1.nn是什么
- 2.nn如何使用
- 二、代碼
一、前置知識
1.nn是什么
在深度學習中,“nn” 通常是指神經網絡(Neural Network)的縮寫。神經網絡是一種由大量神經元(neurons)相互連接而成的模型,它們模仿人類大腦的結構和功能,用于學習和處理復雜的模式和數據。
神經網絡在深度學習領域扮演著重要的角色,被廣泛應用于圖像識別、語音識別、自然語言處理等各種任務。神經網絡的基本組成部分是神經元(neuron),每個神經元接收來自前一層神經元的輸入,并通過權重和激活函數進行計算,最終產生輸出。
神經網絡通常包含多個層次,包括輸入層、隱藏層和輸出層。通過調整神經元之間的連接權重和偏置,神經網絡可以學習到輸入數據的特征并進行預測或分類任務。
2.nn如何使用
基本步驟:
(1)導入 nn 模塊:首先,需要導入 PyTorch 的 nn 模塊。通常的導入語句是 from torch import nn。
(2)定義神經網絡模型類:接下來,定義一個神經網絡模型類,通常繼承自 nn.Module 類。在這個類中,你可以定義模型的結構,包括各種層(如全連接層、卷積層等)以及前向傳播方法 forward。
(3)在模型類的構造函數 init 中定義網絡層:在模型類的構造函數中,可以使用 nn 模塊提供的各種層類來定義網絡的結構,比如 nn.Linear(全連接層)、nn.Conv2d(卷積層)、nn.ReLU(ReLU激活函數)等。
(4)實現前向傳播方法 forward:在模型類中實現 forward 方法,指定數據在網絡中前向傳播的流程,即數據如何通過各個層進行計算并輸出結果。
(5)實例化模型:通過實例化定義的模型類,可以創建一個可用于處理數據的神經網絡模型。
(6)將輸入數據傳遞給模型:將輸入數據傳遞給實例化后的模型,調用模型的 forward 方法進行前向計算,得到輸出結果。
二、代碼
# 原作者:b站小土堆
# 云霄星乖乖的果凍
# 微博、小紅書、b站等平臺同名import torch
from torch import nn# 定義一個自定義的神經網絡模型 Guodong
class Guodong(nn.Module):def __init__(self, *args, **kwargs) -> None:super().__init__() # 調用父類構造函數進行初始化def forward(self, input):output = input + 1 # 在 forward 方法中定義前向傳播計算,這里簡單地對輸入數據加1return output# 實例化 Guodong 模型
guodong = Guodong()# 創建一個張量作為輸入
x = torch.tensor(1.0)# 將輸入數據傳遞給模型進行前向計算
result = guodong(x)# 打印輸入和模型輸出結果
print(x)
print(result)
程序運行結果: