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

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

企業(yè)手機(jī)網(wǎng)站建百度競價

企業(yè)手機(jī)網(wǎng)站建,百度競價,網(wǎng)絡(luò)營銷就是建立企業(yè)網(wǎng)站,網(wǎng)站名字備案流程Day 48 PyTorch 隨機(jī)張量生成與廣播機(jī)制詳解一、隨機(jī)張量的生成:”1.1 torch.randn 函數(shù):”1.2 其他隨機(jī)函數(shù):”1.3 輸出維度測試:” 二、廣播機(jī)制:”2.1 廣播機(jī)制原理:”2.2 廣播實例:”2.3 乘…

Day 48

  • PyTorch 隨機(jī)張量生成與廣播機(jī)制詳解
    • 一、隨機(jī)張量的生成:”
      • 1.1 torch.randn 函數(shù):”
      • 1.2 其他隨機(jī)函數(shù):”
      • 1.3 輸出維度測試:”
    • 二、廣播機(jī)制:”
      • 2.1 廣播機(jī)制原理:”
      • 2.2 廣播實例:”
      • 2.3 乘法的廣播機(jī)制:矩陣運(yùn)算中的 “巧妙搭配”


PyTorch 隨機(jī)張量生成與廣播機(jī)制詳解

在深度學(xué)習(xí)的探索之旅中,PyTorch 作為強(qiáng)大的開源機(jī)器學(xué)習(xí)庫,為我們提供了諸多便捷的功能。今天,就讓我們一同深入探究 PyTorch 中隨機(jī)張量生成以及廣播機(jī)制的奧秘,解鎖高效張量操作的新技能。

一、隨機(jī)張量的生成:”

在深度學(xué)習(xí)的諸多場景里,隨機(jī)生成張量都有著舉足輕重的地位。無論是模型權(quán)重的初始化,還是計算輸入維度經(jīng)過模塊后的輸出維度,在開發(fā)和測試階段,隨機(jī)張量都能讓我們擺脫對真實數(shù)據(jù)的依賴,快速推進(jìn)實驗進(jìn)程。

1.1 torch.randn 函數(shù):”

torch.randn() 憑借其簡潔的語法與強(qiáng)大的功能,成為生成隨機(jī)張量的常用之選。它能依據(jù)標(biāo)準(zhǔn)正態(tài)分布(均值 0,標(biāo)準(zhǔn)差 1)生成填充的張量,為模型參數(shù)初始化、測試數(shù)據(jù)生成以及模擬輸入特征等場景提供了極大便利。

  • 函數(shù)簽名與參數(shù)剖析torch.randn(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)

    • size :必選參數(shù),精準(zhǔn)定義輸出張量的形狀,例如 (3, 4) 即構(gòu)建 3 行 4 列的矩陣。
    • dtype :可選參數(shù),用于指定張量的數(shù)據(jù)類型,如 torch.float32、torch.int64 等。
    • device :可選參數(shù),明確張量存儲的設(shè)備,是 cpu 還是 cuda。
    • requires_grad :可選參數(shù),決定張量是否需要計算梯度,在模型訓(xùn)練時尤為關(guān)鍵。
  • 示例演繹

import torch# 標(biāo)量(0 維張量)生成
scalar = torch.randn(())
print(f"標(biāo)量: {scalar}, 形狀: {scalar.shape}")  # 向量(1 維張量)打造
vector = torch.randn(5)
print(f"向量: {vector}, 形狀: {vector.shape}")  # 矩陣(2 維張量)構(gòu)造
matrix = torch.randn(3, 4)
print(f"矩陣:{matrix},矩陣形狀: {matrix.shape}")  # 3 維張量(常用于圖像數(shù)據(jù))塑造
tensor_3d = torch.randn(3, 224, 224)
print(f"3 維張量形狀: {tensor_3d.shape}")  # 4 維張量(批量圖像數(shù)據(jù))雕琢
tensor_4d = torch.randn(2, 3, 224, 224)
print(f"4 維張量形狀: {tensor_4d.shape}")  

1.2 其他隨機(jī)函數(shù):”

除了 torch.randn(),PyTorch 還提供了其他生成不同分布隨機(jī)數(shù)的函數(shù),滿足多樣化的應(yīng)用場景:

  • torch.rand() :在 [0, 1) 范圍內(nèi)均勻分布的隨機(jī)數(shù)生成。
x = torch.rand(3, 2)
print(f"均勻分布隨機(jī)數(shù): {x}, 形狀: {x.shape}")
  • torch.randint() :生成指定范圍內(nèi)的隨機(jī)整數(shù)。
x = torch.randint(low=0, high=10, size=(3,))
print(f"隨機(jī)整數(shù): {x}, 形狀: {x.shape}")
  • torch.normal() :生成指定均值和標(biāo)準(zhǔn)差的正態(tài)分布隨機(jī)數(shù)。
mean = torch.tensor([0.0, 0.0])
std = torch.tensor([1.0, 2.0])
x = torch.normal(mean, std)
print(f"正態(tài)分布隨機(jī)數(shù): {x}, 形狀: {x.shape}")

1.3 輸出維度測試:”

在深度學(xué)習(xí)模型搭建過程中,精準(zhǔn)把握每一層輸出張量的形狀至關(guān)重要。借助隨機(jī)張量生成與打印輸出,我們能輕松追蹤尺寸變化:

import torch
import torch.nn as nn# 生成輸入張量 (批量大小, 通道數(shù), 高度, 寬度)
input_tensor = torch.randn(1, 3, 32, 32)
print(f"輸入尺寸: {input_tensor.shape}")  # 1. 卷積層操作
conv1 = nn.Conv2d(in_channels=3,        out_channels=16,      kernel_size=3,        stride=1,             padding=1             
)
conv_output = conv1(input_tensor)
print(f"卷積后尺寸: {conv_output.shape}")  # 2. 池化層操作 (減小空間尺寸)
pool = nn.MaxPool2d(kernel_size=2, stride=2)
pool_output = pool(conv_output)
print(f"池化后尺寸: {pool_output.shape}")  # 3. 將多維張量展平為向量
flattened = pool_output.view(pool_output.size(0), -1)
print(f"展平后尺寸: {flattened.shape}")  # 4. 線性層操作
fc1 = nn.Linear(in_features=4096,     out_features=128      
)
fc_output = fc1(flattened)
print(f"線性層后尺寸: {fc_output.shape}")  # 5. 再經(jīng)過一個線性層(例如分類器)
fc2 = nn.Linear(128, 10)  
final_output = fc2(fc_output)
print(f"最終輸出尺寸: {final_output.shape}")  
print(final_output)# 使用Softmax替代Sigmoid
softmax = nn.Softmax(dim=1)  
class_probs = softmax(final_output)
print(f"Softmax輸出: {class_probs}")  
print(f"Softmax輸出總和: {class_probs.sum():.4f}")

這種維度測試方式,在非交互式環(huán)境如 PyCharm 中,配合斷點與調(diào)試控制臺,能有效避免維度不匹配的報錯,保障模型搭建的順利推進(jìn)。

二、廣播機(jī)制:”

PyTorch 的廣播機(jī)制,賦予了不同形狀張量間進(jìn)行算術(shù)運(yùn)算的 “超能力”,無需顯式擴(kuò)展或復(fù)制數(shù)據(jù),極大簡化了代碼,提升運(yùn)算效率。

2.1 廣播機(jī)制原理:”

當(dāng)對形狀不同的張量進(jìn)行運(yùn)算時,PyTorch 依照以下規(guī)則巧妙處理維度兼容性:

  • 從右向左比較維度 :從張量的最后一個維度(最右側(cè))開始向前逐維比較。

  • 維度擴(kuò)展條件

    • 相等維度 :若兩個張量在某一維度上大小相同,則繼續(xù)比較下一維度。
    • 一維擴(kuò)展 :若其中一個張量的某個維度大小為 1,則該維度會被擴(kuò)展為另一個張量對應(yīng)維度的大小。
    • 不兼容錯誤 :若某一維度大小既不相同也不為 1,則拋出 RuntimeError。
  • 維度補(bǔ)全規(guī)則 :若一個張量的維度少于另一個,則在其左側(cè)補(bǔ) 1 直至維度數(shù)匹配。

2.2 廣播實例:”

  • 二維張量與一維向量相加
import torch# 創(chuàng)建原始張量
a = torch.tensor([[10], [20], [30]])  # 形狀: (3, 1)
b = torch.tensor([1, 2, 3])          # 形狀: (3,)result = a + bprint("原始張量a:")
print(a)print("\n原始張量b:")
print(b)print("\n加法結(jié)果:")
print(result)
  • 三維張量與二維張量相加
# 創(chuàng)建原始張量
a = torch.tensor([[[1], [2]], [[3], [4]]])  # 形狀: (2, 2, 1)
b = torch.tensor([[10, 20]])               # 形狀: (1, 2)# 廣播過程
result = a + b
print("原始張量a:")
print(a)print("\n原始張量b:")
print(b)print("\n加法結(jié)果:")
print(result)
  • 二維張量與標(biāo)量相加
# 創(chuàng)建原始張量
a = torch.tensor([[1, 2], [3, 4]])  # 形狀: (2, 2)
b = 10                              # 標(biāo)量,形狀視為 ()# 廣播過程
result = a + b
print("原始張量a:")
print(a)print("\n標(biāo)量b:")
print(b)print("\n加法結(jié)果:")
print(result)
  • 高維張量與低維張量相加
# 創(chuàng)建原始張量
a = torch.tensor([[[1, 2], [3, 4]]])  # 形狀: (1, 2, 2)
b = torch.tensor([[5, 6]])            # 形狀: (1, 2)# 廣播過程
result = a + b
print("原始張量a:")
print(a)print("\n原始張量b:")
print(b)print("\n加法結(jié)果:")
print(result)

2.3 乘法的廣播機(jī)制:矩陣運(yùn)算中的 “巧妙搭配”

矩陣乘法除了遵循通用廣播規(guī)則,在維度約束上還有特殊要求:

  • 最后兩個維度的適配 :A.shape[-1] == B.shape[-2],即 A 的列數(shù)等于 B 的行數(shù)。

  • 其他維度(批量維度)的廣播 :遵循通用廣播規(guī)則。

  • 批量矩陣與單個矩陣相乘

# A: 批量大小為2,每個是3×4的矩陣
A = torch.randn(2, 3, 4)  # 形狀: (2, 3, 4)# B: 單個4×5的矩陣
B = torch.randn(4, 5)     # 形狀: (4, 5)# 廣播過程:
result = A @ B            # 結(jié)果形狀: (2, 3, 5)print("A形狀:", A.shape)
print("B形狀:", B.shape)
print("結(jié)果形狀:", result.shape)
  • 批量矩陣與批量矩陣相乘(部分廣播)
# A: 批量大小為3,每個是2×4的矩陣
A = torch.randn(3, 2, 4)  # 形狀: (3, 2, 4)# B: 批量大小為1,每個是4×5的矩陣
B = torch.randn(1, 4, 5)  # 形狀: (1, 4, 5)# 廣播過程:
result = A @ B            # 結(jié)果形狀: (3, 2, 5)print("A形狀:", A.shape)
print("B形狀:", B.shape)
print("結(jié)果形狀:", result.shape)
  • 三維張量與二維張量相乘(高維廣播)
# A: 批量大小為2,通道數(shù)為3,每個是4×5的矩陣
A = torch.randn(2, 3, 4, 5)  # 形狀: (2, 3, 4, 5)# B: 單個5×6的矩陣
B = torch.randn(5, 6)        # 形狀: (5, 6)# 廣播過程:
result = A @ B               # 結(jié)果形狀: (2, 3, 4, 6)print("A形狀:", A.shape)
print("B形狀:", B.shape)
print("結(jié)果形狀:", result.shape)

@浙大疏錦行

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

相關(guān)文章:

  • 用vs做網(wǎng)站在安裝時要勾選建立一個網(wǎng)站需要多少錢
  • 網(wǎng)站建立快捷方式企業(yè)整站推廣
  • 高培淇自己做的網(wǎng)站seo優(yōu)化一般包括哪些內(nèi)容
  • 網(wǎng)站建設(shè)與運(yùn)營策劃書站長工具seo綜合
  • wordpress綁定槐蔭區(qū)網(wǎng)絡(luò)營銷seo
  • 電影網(wǎng)站網(wǎng)頁設(shè)計上海好的網(wǎng)絡(luò)推廣公司
  • 保定網(wǎng)站設(shè)計概述百度關(guān)鍵詞優(yōu)化公司哪家好
  • wordpress add option臨沂網(wǎng)站seo
  • 網(wǎng)站制作費(fèi)可以做業(yè)務(wù)宣傳費(fèi)教程seo推廣排名網(wǎng)站
  • 網(wǎng)站后臺管理系統(tǒng)需求長沙網(wǎng)站快速排名提升
  • php企業(yè)網(wǎng)站開發(fā)源碼免費(fèi)接單平臺
  • 公司網(wǎng)站建設(shè)工作網(wǎng)站快照優(yōu)化公司
  • 宿遷哪里做網(wǎng)站百度關(guān)鍵詞檢測工具
  • 廣告線上推廣方式秦皇島網(wǎng)站seo
  • 網(wǎng)站建設(shè)規(guī)劃公司地址中國十大搜索引擎網(wǎng)站
  • 開源的網(wǎng)站系統(tǒng)軟文范文200字
  • 網(wǎng)頁設(shè)計與制作實訓(xùn)報告結(jié)果網(wǎng)站搜索引擎優(yōu)化診斷
  • 網(wǎng)站制作網(wǎng)站建設(shè)單位西安百度推廣優(yōu)化托管
  • pc網(wǎng)站制作是指什么意思信息流推廣渠道有哪些
  • 國產(chǎn) 做 視頻網(wǎng)站網(wǎng)絡(luò)搜索引擎優(yōu)化
  • 關(guān)于網(wǎng)站運(yùn)營的問題百度賬號免費(fèi)注冊
  • 做商城網(wǎng)站帶寬外貿(mào)建站平臺
  • 一般電商都是在哪些網(wǎng)站上做百度廣告電話號碼是多少
  • 武漢家具定制旺道seo系統(tǒng)
  • 何為門戶網(wǎng)站網(wǎng)絡(luò)營銷的作用和意義
  • 下載建設(shè)銀行官方網(wǎng)站下載安裝人力資源短期培訓(xùn)班
  • 三亞做網(wǎng)站的公司營銷推廣手段有什么
  • 做軍事網(wǎng)站的項目背景圖片互聯(lián)網(wǎng)怎么打廣告推廣
  • wordpress如何自建站seo查詢百科
  • 作文素材北京推廣優(yōu)化經(jīng)理