中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

東莞網(wǎng)站建設(shè)圖表搜索引擎優(yōu)化的各種方法

東莞網(wǎng)站建設(shè)圖表,搜索引擎優(yōu)化的各種方法,沈陽婦科私立醫(yī)院排名,奧聯(lián)網(wǎng)絡(luò)網(wǎng)站建設(shè)【PyTorch學(xué)習(xí)-1】張量操作|自動求導(dǎo)|神經(jīng)網(wǎng)絡(luò)模塊|優(yōu)化器|數(shù)據(jù)加載與處理|GPU 加速… 【PyTorch學(xué)習(xí)-1】張量操作|自動求導(dǎo)|神經(jīng)網(wǎng)絡(luò)模塊|優(yōu)化器|數(shù)據(jù)加載與處理|GPU 加速… 文章目錄 【PyTorch學(xué)習(xí)-1】張量操作|自動求導(dǎo)|神經(jīng)網(wǎng)絡(luò)模塊|優(yōu)化器|數(shù)據(jù)加載與處理|GPU 加速...前言…

【PyTorch學(xué)習(xí)-1】張量操作|自動求導(dǎo)|神經(jīng)網(wǎng)絡(luò)模塊|優(yōu)化器|數(shù)據(jù)加載與處理|GPU 加速…

【PyTorch學(xué)習(xí)-1】張量操作|自動求導(dǎo)|神經(jīng)網(wǎng)絡(luò)模塊|優(yōu)化器|數(shù)據(jù)加載與處理|GPU 加速…


文章目錄

  • 【PyTorch學(xué)習(xí)-1】張量操作|自動求導(dǎo)|神經(jīng)網(wǎng)絡(luò)模塊|優(yōu)化器|數(shù)據(jù)加載與處理|GPU 加速...
  • 前言
  • 1. PyTorch 常用庫和模塊
  • 2. 張量操作(Tensor)
    • 2.1 創(chuàng)建張量
    • 2.2 張量的屬性
    • 2.3 張量的操作
    • 2.4 張量與 NumPy 的轉(zhuǎn)換
  • 3. 自動求導(dǎo)(Autograd)
    • 3.1 自動求導(dǎo)的基本操作
    • 3.2 停止梯度追蹤
    • 3.3 計算圖與梯度累積
  • 4. 神經(jīng)網(wǎng)絡(luò)模塊(torch.nn)
    • 4.1 定義神經(jīng)網(wǎng)絡(luò)模型
    • 4.2 常用層
    • 4.3 損失函數(shù)
  • 5. 優(yōu)化器(torch.optim)
    • 5.1 常用優(yōu)化器
    • 5.2 使用優(yōu)化器
  • 6. 數(shù)據(jù)加載與處理(torch.utils.data)
    • 6.1 Dataset 類
    • 6.2 DataLoader 類
  • 7. GPU加速
    • 7.1 檢查是否支持 GPU
    • 7.2 將模型和張量遷移到 GPU


歡迎寶子們點(diǎn)贊、關(guān)注、收藏!歡迎寶子們批評指正!

前言

PyTorch 是一個非常流行的深度學(xué)習(xí)框架,提供了靈活和易用的 API,支持張量計算、自動求導(dǎo)、構(gòu)建神經(jīng)網(wǎng)絡(luò)、GPU 加速等。下面是 PyTorch 常用的語法和函數(shù)的全面介紹,涵蓋張量操作、神經(jīng)網(wǎng)絡(luò)構(gòu)建、優(yōu)化器、自動求導(dǎo)、數(shù)據(jù)處理等。

1. PyTorch 常用庫和模塊

  • 1.torch:核心模塊,包含張量操作、數(shù)學(xué)計算、自動求導(dǎo)等功能。
  • 2.torch.nn:神經(jīng)網(wǎng)絡(luò)相關(guān)的模塊,提供各種層(如卷積、全連接等)和常用損失函數(shù)。
  • 3.torch.optim:優(yōu)化器模塊,用于定義優(yōu)化算法,如 SGD、Adam 等。
  • 4.torch.autograd:自動求導(dǎo)模塊,用于實現(xiàn)自動反向傳播計算。
  • 5.torch.utils.data:數(shù)據(jù)處理模塊,包含 DatasetDataLoader,用于處理和加載數(shù)據(jù)集。

2. 張量操作(Tensor)

張量是 PyTorch 的核心數(shù)據(jù)結(jié)構(gòu),類似于 NumPy 的數(shù)組,但可以在 GPU 上運(yùn)行。

2.1 創(chuàng)建張量

  • 通過 torch.tensor() 創(chuàng)建張量:
import torch
a = torch.tensor([1, 2, 3])
print(a)  # tensor([1, 2, 3])
  • 創(chuàng)建隨機(jī)數(shù)張量:
rand_tensor = torch.rand(3, 4)  # 3x4的隨機(jī)數(shù)張量
print(rand_tensor)

2.2 張量的屬性

  • shapedtypedevice
tensor = torch.rand(3, 4)
print(tensor.shape)  # 輸出張量的形狀
print(tensor.dtype)  # 數(shù)據(jù)類型
print(tensor.device) # 設(shè)備(CPU or GPU)

2.3 張量的操作

  • 張量的數(shù)學(xué)運(yùn)算,如加減乘除、矩陣乘法:
a = torch.tensor([1, 2])
b = torch.tensor([3, 4])
print(a + b)  # 加法
print(a * b)  # 乘法
print(a @ b.T)  # 矩陣乘法
  • 維度變換:view()、reshape()transpose() 用于改變張量形狀:
x = torch.randn(4, 3)
y = x.view(3, 4)  # 改變形狀
print(y)
  • 索引和切片:
x = torch.tensor([[1, 2], [3, 4], [5, 6]])
print(x[0])       # 選擇第一行
print(x[:, 1])    # 選擇第二列
print(x[1:, :])   # 選擇從第二行開始的所有行

2.4 張量與 NumPy 的轉(zhuǎn)換

  • torch.Tensor 轉(zhuǎn)換為 numpy.array
a = torch.ones(5)
b = a.numpy()
print(b)
  • numpy.array 轉(zhuǎn)換為 torch.Tensor
import numpy as np
a = np.ones(5)
b = torch.from_numpy(a)
print(b)

3. 自動求導(dǎo)(Autograd)

PyTorch 中的 autograd 模塊支持自動求導(dǎo)功能,即反向傳播。

3.1 自動求導(dǎo)的基本操作

  • requires_grad 標(biāo)志用于啟用對張量的梯度跟蹤:
x = torch.tensor([2.0, 3.0], requires_grad=True)
y = x ** 2  # y = [4, 9]
y.backward(torch.tensor([1.0, 1.0]))  # 計算梯度
print(x.grad)  # 輸出 x 的梯度

3.2 停止梯度追蹤

在推理階段或者某些計算中,我們不需要計算梯度,可以使用 torch.no_grad()detach()。

  • 使用 no_grad()
with torch.no_grad():y = model(x)
  • 使用 detach()
x = torch.tensor([1.0], requires_grad=True)
y = x ** 2
z = y.detach()  # z 不會計算梯度

3.3 計算圖與梯度累積

  • 反向傳播時,PyTorch 會默認(rèn)將梯度累積到 grad 屬性中,因此在每次反向傳播之前,需要清零梯度:
optimizer.zero_grad()
loss.backward()
optimizer.step()

4. 神經(jīng)網(wǎng)絡(luò)模塊(torch.nn)

PyTorch 提供了 torch.nn 模塊,用于定義神經(jīng)網(wǎng)絡(luò)的層和損失函數(shù)。

4.1 定義神經(jīng)網(wǎng)絡(luò)模型

torch.nn.Module 是所有神經(jīng)網(wǎng)絡(luò)的基類,通常需要在類的 __init__ 方法中定義網(wǎng)絡(luò)的層,在 forward() 方法中定義前向傳播過程。

  • 簡單的前饋神經(jīng)網(wǎng)絡(luò)示例:
import torch.nn as nnclass SimpleNet(nn.Module):def __init__(self):super(SimpleNet, self).__init__()self.fc1 = nn.Linear(10, 50)self.fc2 = nn.Linear(50, 1)def forward(self, x):x = torch.relu(self.fc1(x))x = self.fc2(x)return xmodel = SimpleNet()

4.2 常用層

  • 全連接層torch.nn.Linear 用于實現(xiàn)全連接層。
fc = nn.Linear(in_features=10, out_features=5)
  • 卷積層torch.nn.Conv2d 用于實現(xiàn)二維卷積。
conv = nn.Conv2d(in_channels=3, out_channels=16, kernel_size=3)
  • 激活函數(shù)
    ReLU:torch.nn.ReLU()
    Sigmoid:torch.nn.Sigmoid()
    Tanh:torch.nn.Tanh()

  • 池化層:torch.nn.MaxPool2dtorch.nn.AvgPool2d 用于池化操作。

pool = nn.MaxPool2d(kernel_size=2, stride=2)

4.3 損失函數(shù)

PyTorch 提供了多種常用的損失函數(shù),如均方誤差(MSE)、交叉熵?fù)p失(CrossEntropy)。

  • 均方誤差(MSE)損失函數(shù):
loss_fn = nn.MSELoss()
loss = loss_fn(predicted_output, target_output)
  • 交叉熵?fù)p失函數(shù):
loss_fn = nn.CrossEntropyLoss()
loss = loss_fn(predictions, labels)

5. 優(yōu)化器(torch.optim)

PyTorch 的 torch.optim 模塊提供了多種優(yōu)化算法,用于更新模型的參數(shù)。

5.1 常用優(yōu)化器

  • 隨機(jī)梯度下降(SGD):
optimizer = torch.optim.SGD(model.parameters(), lr=0.01, momentum=0.9)
  • Adam 優(yōu)化器:
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)

5.2 使用優(yōu)化器

  • 在每個訓(xùn)練迭代中,使用優(yōu)化器更新模型參數(shù)的典型步驟:
optimizer.zero_grad()  # 清空梯度
loss.backward()  # 反向傳播
optimizer.step()  # 更新參數(shù)

6. 數(shù)據(jù)加載與處理(torch.utils.data)

6.1 Dataset 類

torch.utils.data.Dataset 是數(shù)據(jù)集的抽象類,用戶可以通過繼承 Dataset 類來自定義數(shù)據(jù)集。

  • 自定義數(shù)據(jù)集:
from torch.utils.data import Datasetclass CustomDataset(Dataset):def __init__(self, data, labels):self.data = dataself.labels = labelsdef __len__(self):return len(self.data)def __getitem__(self, index):return self.data[index], self.labels[index]

6.2 DataLoader 類

torch.utils.data.DataLoader 用于將 Dataset 打包成可迭代的數(shù)據(jù)批次,并支持多線程加載。

  • 使用 DataLoader
from torch.utils.data import DataLoaderdataset = CustomDataset(data, labels)
dataloader = DataLoader(dataset, batch_size=32, shuffle=True)
for batch in dataloader:inputs, targets = batch

7. GPU加速

PyTorch 提供了對 GPU 的支持,可以使用 CUDA 設(shè)備加速計算。

7.1 檢查是否支持 GPU

print(torch.cuda.is_available())

7.2 將模型和張量遷移到 GPU

  • 將張量遷移到 GPU:
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
tensor = tensor.to(device)
  • 將模型遷移到 GPU:
model = model.to(device)

通過這份全面的 PyTorch 語法和函數(shù)介紹,你可以更好地掌握 PyTorch 的基本用法以及常用的深度學(xué)習(xí)相關(guān)功能。

http://m.risenshineclean.com/news/65909.html

相關(guān)文章:

  • 大氣的網(wǎng)站設(shè)計常見的系統(tǒng)優(yōu)化軟件
  • 做視頻網(wǎng)站新手教學(xué)近期國際新聞
  • 建設(shè)專業(yè)網(wǎng)站電話咨詢百度推廣效果
  • 深圳微商城網(wǎng)站制作聯(lián)系電話南寧百度推廣代理商
  • 網(wǎng)站總體規(guī)劃設(shè)計說明南京seo建站
  • 網(wǎng)站建設(shè)好的廣州seo推廣培訓(xùn)
  • 網(wǎng)站開發(fā) 定制 合同范本qq群推廣鏈接
  • 網(wǎng)站建設(shè)流程草圖企業(yè)網(wǎng)站開發(fā)制作
  • 虛擬服務(wù)器建網(wǎng)站2023最新15件重大新聞
  • 做網(wǎng)站的專業(yè)什么軟件可以推廣
  • 做古玩的網(wǎng)站google play 應(yīng)用商店
  • 網(wǎng)站不在首頁顯示出來企業(yè)官網(wǎng)定制設(shè)計
  • 大連住建局官網(wǎng)網(wǎng)站國內(nèi)手機(jī)怎么上google瀏覽器
  • 有效的網(wǎng)站建設(shè)網(wǎng)址大全實用網(wǎng)址
  • 公眾號小程序開發(fā)公司seo診斷分析工具
  • 東莞中堂網(wǎng)站建設(shè)百度助手app免費(fèi)下載
  • 順德網(wǎng)站建設(shè)策劃seo全網(wǎng)營銷的方式
  • 網(wǎng)站建設(shè)咋做企業(yè)網(wǎng)站建設(shè)服務(wù)
  • 網(wǎng)站設(shè)計模板素材競價服務(wù)托管價格
  • 直播網(wǎng)站怎么建設(shè)長春網(wǎng)站制作計劃
  • 如何鑒賞網(wǎng)站論文做外貿(mào)推廣
  • 網(wǎng)站建設(shè)代理加盟南寧網(wǎng)站建設(shè)服務(wù)公司
  • 我買了一個備案網(wǎng)站 可是公司注銷了手機(jī)網(wǎng)站模板免費(fèi)下載
  • h5科技 網(wǎng)站輔導(dǎo)班
  • 溫州推廣平臺關(guān)鍵詞推廣優(yōu)化排名品牌
  • 網(wǎng)站建設(shè)的教學(xué)網(wǎng)站百度手機(jī)助手下載安卓
  • 有心學(xué)做網(wǎng)站東莞網(wǎng)站設(shè)計排行榜
  • 黃石手機(jī)網(wǎng)站建設(shè)東莞營銷網(wǎng)站建設(shè)優(yōu)化
  • 南海網(wǎng)站智能推廣線上推廣的渠道和方法
  • 怎樣用網(wǎng)站模板做網(wǎng)站高傭金app軟件推廣平臺