【動手學深度學習】2.3. 線性代數


目錄

    • 2.3. 線性代數
      • 1)標量
      • 2)向量
      • 3)矩陣
      • 4)張量
      • 5)張量的基本性質
      • 6)降維
      • 7)點積
      • 8)矩陣-向量積
      • 9)矩陣-矩陣乘法
      • 10)范數
      • 11) 小結


2.3. 線性代數

本節將介紹線性代數中的基本數學對象、算術和運算,并用數學符號和相應的代碼實現來表示它們。

.

1)標量

定義:僅包含一個數值的量稱為標量(零維張量),例如溫度值。

表示:標量變量用普通小寫字母表示(如 x,y,z),屬于實數空間 R。

操作:標量支持加法、乘法、除法和指數運算。

import torch
x = torch.tensor(3.0, dtype=torch.float32)
y = torch.tensor(2.0, dtype=torch.float32)
x + y, x * y, x / y, x**y# 輸出:
(tensor(5.), tensor(6.), tensor(1.5000), tensor(9.))

.

2)向量

定義:向量是標量值組成的列表(一維張量)。

表示:向量用粗體、小寫字母表示,通常為列向量(如 x = [ x 1 , x 2 , … , x n ] ) \mathbf{x} = [x_1, x_2, \dots, x_n] ) x=[x1?,x2?,,xn?]),維度為元素數量 ( x ∈ R n ) ( \mathbf{x} \in \mathbb{R}^n ) (xRn)

操作:通過索引訪問向量的元素。

x = torch.arange(4, dtype=torch.float32)  # 創建向量:生成 [0., 1., 2., 3.]print(x)
print(x[3])   # 訪問元素:獲取索引為3的元素(第4個元素)# 輸出:
tensor([0., 1., 2., 3.])
tensor(3.)

長度、維度和形狀

  • 長度:向量的元素數量。

  • 維度:同向量的長度,表示向量的元素數量。

  • 形狀:張量的形狀表示每個軸的長度。

print(len(x))    # len()函數來訪問張量的長度
print(x.shape)   # .shape屬性訪問向量的長度# 輸出:
4
torch.Size([4])

:維度在不同上下文中有不同含義。向量的維度指其長度,而張量的維度指其軸的數量。

.

3)矩陣

定義:矩陣是二維張量,形狀由 (行數, 列數) 定義。

表示:數學中表示為粗體大寫字母(如 A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m×n} ARm×n),形狀為 (m,n);

訪問:通過索引 A[i][j] 或 A[i, j] 獲取第 i 行第 j 列的元素;

A = torch.arange(20).reshape(5, 4)
print(A)# 輸出:
tensor([[ 0,  1,  2,  3],[ 4,  5,  6,  7],[ 8,  9, 10, 11],[12, 13, 14, 15],[16, 17, 18, 19]])

矩陣的轉置(transpose):是交換其行和列,表示為 A T \mathbf{A}^T AT

print(A.T)# 輸出:
tensor([[ 0,  4,  8, 12, 16],[ 1,  5,  9, 13, 17],[ 2,  6, 10, 14, 18],[ 3,  7, 11, 15, 19]])

方陣(square matrix):當矩陣具有相同數量的行和列時,被稱為方陣;

對稱矩陣(symmetric matrix):如果矩陣等于其轉置,則稱為對稱矩陣。

B = torch.tensor([[1, 2, 3], [2, 0, 4], [3, 4, 5]])
print(B == B.T)# 輸出結果:
tensor([[True, True, True],[True, True, True],[True, True, True]])

.

4)張量

張量是多維數組的通用表示:

  • 標量:0階張量(單個數值)

  • 向量:1階張量(一維數組)

  • 矩陣:2階張量(二維數組)

  • 高階張量:如3階張量可表示圖像(高度×寬度×顏色通道)

示例:創建3階張量(2×3×4)

import torch
X = torch.arange(24).reshape(2, 3, 4)
# 輸出兩個 3×4 矩陣的堆疊
tensor([[[ 0,  1,  2,  3], [ 4,  5,  6,  7], [ 8,  9, 10, 11]],[[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]])

.

5)張量的基本性質

形狀不變性

  • 一元運算(如取絕對值)不改變張量形狀;

  • 二元運算(如加法)要求輸入形狀相同,輸出形狀不變;

例如,將兩個相同形狀的矩陣相加,會在這兩個矩陣上執行元素加法。

A = torch.arange(20, dtype=torch.float32).reshape(5, 4)
B = A.clone()  # 通過分配新內存,將A的一個副本分配給B
A, A + B# 輸出:
(tensor([[ 0.,  1.,  2.,  3.],[ 4.,  5.,  6.,  7.],[ 8.,  9., 10., 11.],[12., 13., 14., 15.],[16., 17., 18., 19.]]),tensor([[ 0.,  2.,  4.,  6.],[ 8., 10., 12., 14.],[16., 18., 20., 22.],[24., 26., 28., 30.],[32., 34., 36., 38.]]))

Hadamard積(元素乘法)

  • 對應位置元素相乘,符號為 ⊙ \odot ,數學定義: ( A ⊙ B ) i j = A i j × B i j (A \odot B)_{ij} = A_{ij} \times B_{ij} (AB)ij?=Aij?×Bij?
A = torch.arange(20, dtype=torch.float32).reshape(5,4)
B = A.clone()  # 復制A到B
A * B  # 輸出Hadamard積結果# 輸出:
tensor([[  0.,   1.,   4.,   9.],[ 16.,  25.,  36.,  49.],[ 64.,  81., 100., 121.],[144., 169., 196., 225.],[256., 289., 324., 361.]])

張量與標量的運算

  • 張量乘以或加上一個標量不會改變張量的形狀,其中張量的每個元素都將與標量相加或相乘。
a = 2
X = torch.arange(24).reshape(2, 3, 4)
a + X, (a * X).shape# 輸出:
(tensor([[[ 2,  3,  4,  5],[ 6,  7,  8,  9],[10, 11, 12, 13]],[[14, 15, 16, 17],[18, 19, 20, 21],[22, 23, 24, 25]]]),torch.Size([2, 3, 4]))

.

6)降維

張量降維操作可以減少張量的維度,常用的降維方法包括求和和求平均值。

(1)求和操作

  • 全局求和:對張量中所有元素求和,結果是一個標量。
# 向量求和
x = torch.arange(4, dtype=torch.float32)
print(x.sum())  # 輸出:tensor(6.)# 矩陣求和
A = torch.arange(20, dtype=torch.float32).reshape(5,4)
print(A.sum())  # 輸出:tensor(190.)
  • 指定軸求和:沿指定軸求和,降低張量的維度。
# axis=0:對矩陣的行求和
A_sum_axis0 = A.sum(axis=0)
print(A_sum_axis0, A_sum_axis0.shape)  # 輸出:tensor([40., 45., 50., 55.]) torch.Size([4])# axis=1:對矩陣的列求和
A_sum_axis1 = A.sum(axis=1)
print(A_sum_axis1, A_sum_axis1.shape)  # 輸出:tensor([ 6., 22., 38., 54., 70.]) torch.Size([5])# 多軸求和:同時沿多個軸求和,等價于對所有元素求和。
print(A.sum(axis=[0,1]))  # 輸出:tensor(190.)

(2)求平均值操作

  • 全局平均值:對張量中所有元素求平均值(mean或average)。
print(A.mean())  # 輸出:tensor(9.5000)
print(A.sum() / A.numel())  # 輸出:tensor(9.5000)
  • 指定軸平均值:沿指定軸求平均值,降低張量的維度。
print(A.mean(axis=0))  # 輸出:tensor([ 8.,  9., 10., 11.])
print(A.sum(axis=0) / A.shape[0])  # 輸出:tensor([ 8.,  9., 10., 11.])

(3)非降維求和

  • 保持維度的操作: 計算總和或均值時保持軸數不變;
sum_A = A.sum(axis=1, keepdims=True)
# 輸出形狀變為5×1(保留二維結構)
tensor([[ 6.],[22.],[38.],[54.],[70.]])# 利用廣播實現逐行歸一化
A / sum_A  # 每行元素除以對應行和
tensor([[0.0000, 0.1667, 0.3333, 0.5000],[0.1818, 0.2273, 0.2727, 0.3182],[0.2105, 0.2368, 0.2632, 0.2895],[0.2222, 0.2407, 0.2593, 0.2778],[0.2286, 0.2429, 0.2571, 0.2714]])
  • 累積求和:沿某個軸計算A元素的累積總和;
A.cumsum(axis=0)
# 結果矩陣顯示逐步行累加過程:
tensor([[ 0,  1,  2,  3],[ 4,  6,  8, 10],  # 0行+1行[12, 15, 18, 21],  # 前兩行+2行[24, 28, 32, 36],  # 前三行+3行[40, 45, 50, 55]]) # 全部行累加

.

7)點積

點積(dot product): 是相同位置的按元素乘積的和。

表示:為 x ? y ( 或 ? x , y ? ) \mathbf{x}^\top \mathbf{y} (或\langle \mathbf{x}, \mathbf{y} \rangle) x?y(?x,y?),計算如下:

x ? y = ∑ i = 1 n x i y i \mathbf{x}^\top \mathbf{y} = \sum_{i=1}^n x_i y_i x?y=i=1n?xi?yi?

x = torch.arange(4, dtype=torch.float32)
y = torch.ones(4, dtype=torch.float32)# 方法1:直接點積函數
x, y, torch.dot(x, y)
# 輸出
(tensor([0., 1., 2., 3.]), tensor([1., 1., 1., 1.]), tensor(6.))# 方法2:元素乘法+求和(等價實現)
torch.sum(x * y)
# 輸出:
tensor(6.)

加權平均(weighted average):若權重非負且和為1,則點積表示加權平均(如 x 的值與 y 的權重結合);

余弦相似度 :向量規范化后,點積等于夾角余弦(cosθ);

.

8)矩陣-向量積

矩陣-向量積(matrix-vector product):矩陣的每一行與向量的點積,結果是一個向量。

例如:矩陣A與向量x的矩陣-向量積;
A = [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ] , x = [ 0 1 2 3 ] \mathbf{A} = \begin{bmatrix} 0 & 1 & 2 & 3 \\ 4 & 5 & 6 & 7 \\ 8 & 9 & 10 & 11 \\ 12 & 13 & 14 & 15 \\ 16 & 17 & 18 & 19 \end{bmatrix} , \ \mathbf{x} = \begin{bmatrix} 0\\ 1\\ 2\\ 3 \end{bmatrix} A= ?0481216?1591317?26101418?37111519? ?,?x= ?0123? ?

A x = [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ] [ 0 1 2 3 ] = [ 14 38 62 86 110 ] \mathbf{Ax} = \begin{bmatrix} 0 & 1 & 2 & 3 \\ 4 & 5 & 6 & 7 \\ 8 & 9 & 10 & 11 \\ 12 & 13 & 14 & 15 \\ 16 & 17 & 18 & 19 \end{bmatrix} \begin{bmatrix} 0\\ 1\\ 2\\ 3 \end{bmatrix} =\begin{bmatrix} 14 \\ 38 \\ 62 \\ 86 \\ 110 \end{bmatrix} Ax= ?0481216?1591317?26101418?37111519? ? ?0123? ?= ?14386286110? ?

A = torch.arange(20).reshape(5, 4)
x = torch.arange(4)
result = torch.mv(A, x)
print(result)  
# 輸出:tensor([14, 38, 62, 86, 110])

.

9)矩陣-矩陣乘法

矩陣-矩陣乘法(matrix-matrix multiplication):矩陣A的每一行與矩陣B的每一列的點積,結果是一個矩陣。

矩陣-矩陣乘法可以簡單地稱為矩陣乘法,不應與“Hadamard積”混淆。

例如:矩陣A與矩陣B的矩陣乘法;

A = [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ] , B = [ 1 1 1 1 1 1 1 1 1 1 1 1 ] \mathbf{A} = \begin{bmatrix} 0 & 1 & 2 & 3 \\ 4 & 5 & 6 & 7 \\ 8 & 9 & 10 & 11 \\ 12 & 13 & 14 & 15 \\ 16 & 17 & 18 & 19 \\ \end{bmatrix}, \quad \mathbf{B} = \begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \\ \end{bmatrix} A= ?0481216?1591317?26101418?37111519? ?,B= ?1111?1111?1111? ?

C = A B = [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ] [ 1 1 1 1 1 1 1 1 1 1 1 1 ] = [ 6 6 6 22 22 22 38 38 38 54 54 54 70 70 70 ] \mathbf{C} = \mathbf{A} \mathbf{B} = \begin{bmatrix} 0 & 1 & 2 & 3 \\ 4 & 5 & 6 & 7 \\ 8 & 9 & 10 & 11 \\ 12 & 13 & 14 & 15 \\ 16 & 17 & 18 & 19 \end{bmatrix} \begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix} = \begin{bmatrix} 6 & 6 & 6 \\ 22 & 22 & 22 \\ 38 & 38 & 38 \\ 54 & 54 & 54 \\ 70 & 70 & 70 \end{bmatrix} C=AB= ?0481216?1591317?26101418?37111519? ? ?1111?1111?1111? ?= ?622385470?622385470?622385470? ?

A = torch.arange(20).reshape(5, 4)  # 形狀 (5,4)  
B = torch.ones(4, 3)                # 形狀 (4,3)  
# 使用 torch.mm(A, B) 來執行矩陣乘法
C = torch.mm(A, B)                  # 輸出形狀 (5,3)  print(C)  
# 輸出:  
# tensor([[  6.,   6.,   6.],  
#         [ 22.,  22.,  22.],  
#         [ 38.,  38.,  38.],  
#         [ 54.,  54.,  54.],  
#         [ 70.,  70.,  70.]])  

.

10)范數

(1)范數(Norm): 是衡量向量/矩陣“大小”的函數,滿足以下性質:

  • 縮放性質: f ( α x ) = ∣ α ∣ f ( x ) f(\alpha \mathbf{x}) = |\alpha| f(\mathbf{x}) f(αx)=αf(x)

  • 三角不等式: f ( x + y ) ≤ f ( x ) + f ( y ) f(\mathbf{x} + \mathbf{y}) \leq f(\mathbf{x}) + f(\mathbf{y}) f(x+y)f(x)+f(y)

  • 非負性: f ( x ) ≥ 0 f(\mathbf{x}) \geq 0 f(x)0

  • 零向量性質:當且僅當 x \mathbf{x} x 是零向量時, f ( x ) = 0 f(\mathbf{x}) = 0 f(x)=0

(2)常見范數類型

  • L2范數(歐幾里得范數) ∥ x ∥ 2 = ∑ i = 1 n x i 2 \|\mathbf{x}\|_2 = \sqrt{\sum_{i=1}^n x_i^2} x2?=i=1n?xi2? ?,表示向量元素平方和的平方根。
# L2范數(向量)
u = torch.tensor([3.0, -4.0])
l2_norm = torch.norm(u)           # tensor(5.0) → √(32 + (-4)2 = 5
  • L1范數(曼哈頓范數) ∥ x ∥ 1 = ∑ i = 1 n ∣ x i ∣ \|\mathbf{x}\|_1 = \sum_{i=1}^n |x_i| x1?=i=1n?xi?,表示向量元素的絕對值之和。
# L1范數(向量)
l1_norm = torch.abs(u).sum()      # tensor(7.0) → |3| + |-4| = 7
  • 范數L2和范數L1都是更一般的范數Lp的特例: ∥ x ∥ p = ( ∑ i = 1 n ∣ x i ∣ p ) 1 / p \|\mathbf{x}\|_p = (\sum_{i=1}^n |x_i|^p)^{1/p} xp?=(i=1n?xi?p)1/p

  • 矩陣XFrobenius范數(Frobenius norm): ∣ X ∣ F = ∑ i = 1 m ∑ j = 1 n x i j 2 |\mathbf{X}|_F = \sqrt{\sum_{i=1}^m \sum_{j=1}^n x_{ij}^2} XF?=i=1m?j=1n?xij2? ?,是矩陣元素平方和的平方根

# Frobenius范數(矩陣)
matrix = torch.ones((4, 9))       # 4行9列全1矩陣
frobenius_norm = torch.norm(matrix)  # tensor(6.0) → √(4×9×12) = 6

在深度學習中,范數常用于優化問題,例如最大化觀測數據的概率、最小化預測與真實觀測之間的距離等。它們幫助衡量和比較不同向量或矩陣的大小。

.

11) 小結

  • 標量、向量、矩陣和張量是線性代數中的基本數學對象。

  • 向量泛化自標量,矩陣泛化自向量。

  • 標量、向量、矩陣和張量分別具有零、一、二和任意數量的軸。

  • 一個張量可以通過summean沿指定的軸降低維度。

  • 兩個矩陣的按元素乘法被稱為他們的Hadamard積。它與矩陣乘法不同。

  • 在深度學習中,我們經常使用范數,如范數、范數和Frobenius范數。

.

如果渴望了解有關線性代數的更多信息,可以參考線性代數運算的在線附錄或其他優秀資源 (Kolter, 2008, Petersen et al., 2008, Strang, 1993)。


聲明:資源可能存在第三方來源,若有侵權請聯系刪除!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/82154.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/82154.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/82154.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何在項目當中使用redis進行范圍搜索

目錄 如何將地理位置數據保存到 Redis 中以支持范圍查詢 Redis 中的 GEO 類型是什么? 如何保存 GEO 數據到 Redis 分段解釋: RedisKey.POSTS_ANIMALS_LOCATIONS new Point(longitude, latitude) 如何進行范圍搜索 Redis GEO 范圍搜索核心語句 1…

物聯網低功耗保活協同優化方案:軟硬件與WiFi網關動態聯動

目錄 一、總體方案概述 二、架構組成 2.1 系統拓撲 2.2 硬件端(MCU + WiFi 模組) 2.3 WiFi 網關 2.4 云端服務器 三、低功耗保活技術設計模式 3.1 模式一:定時喚醒 + MQTT 保活 3.1.1 設備端 3.1.2 優勢 3.2 模式二:網關保活代理 + 本地網絡喚醒 3.2.1 網關功能…

UniApp+Vue3微信小程序二維碼生成、轉圖片、截圖保存整頁

二維碼生成工具使用uqrcode/js,版本4.0.7 官網地址:uQRCode 中文文檔(不建議看可能會被誤導) 本項目采用了npm引入方式,也可通過插件市場引入,使用上會略有不同 準備工作: 安裝:pnpm…

Zenmap代理情況下無法掃描ip

原因是開了代理會報錯 error “only ethernet devices can be used for raw scans on Windows” 在掃描參數后加 -sT -Pn,但會導致結果太多 例如:nmap -sT -T4 -A -v -Pn 10.44.2.0/24 如果你只是想找沒人用的IP,你不需要搞復雜的原始層掃描&…

將多個值關聯到同一個 key的map(key可以重復的map)示例

在 Java 中&#xff0c;標準的 Map 接口要求 key 必須唯一&#xff0c;如果需要 key 可重復 且保持 插入順序 的數據結構&#xff0c;可以使用以下方案&#xff1a; 1. 使用 List<Map.Entry<K, V>> 最直接的方式是用鏈表存儲鍵值對&#xff0c;允許重復 key&…

Arthas(阿爾薩斯)

一、Arthas 是什么&#xff1f; Arthas&#xff08;阿爾薩斯&#xff09;是阿里巴巴開源的一款 Java 在線診斷工具&#xff0c;基于 Java Agent 和字節碼增強技術實現。它無需重啟 JVM&#xff0c;即可動態追蹤代碼執行、實時查看 JVM 狀態、修改代碼邏輯&#xff0c;是生產環…

深入解讀Qwen3技術報告(三):深入剖析Qwen3模型架構

重磅推薦專欄&#xff1a; 《大模型AIGC》 《課程大綱》 《知識星球》 本專欄致力于探索和討論當今最前沿的技術趨勢和應用領域&#xff0c;包括但不限于ChatGPT和Stable Diffusion等。我們將深入研究大型模型的開發和應用&#xff0c;以及與之相關的人工智能生成內容&#xff…

UE4游戲查找本地角色數據的方法-SDK

UE4中&#xff0c;玩家的表示通常涉及以下幾個類&#xff1a; APlayerController: 代表玩家的控制邏輯&#xff0c;處理輸入等。 APawn: 代表玩家在世界中的實體&#xff08;比如一個角色、一輛車&#xff09;。APlayerController 控制一個 APawn。 ACharacter: APawn 的一個…

springboot+vue實現服裝商城系統(帶用戶協同過濾個性化推薦算法)

今天教大家如何設計一個服裝商城 , 基于目前主流的技術&#xff1a;前端vue3&#xff0c;后端springboot。 同時還帶來的項目的部署教程。 系統最大的亮點是使用了兩個推薦算法: 1. 基于Jaccard算法的用戶瀏覽歷史推薦。 2. 基于用戶的協同過濾算法個性化推薦。 還有核心的商…

ERROR: Could not install packages due to an OSError: [WinError 5] 拒絕訪問

有可能是設置了代理 unset ALLPROXY 或者注釋掉 當然也有可能是其他原因 權限不足?? 以管理員身份運行 CMD/PowerShell&#xff0c;或使用 --user 安裝 ??文件被占用?? 關閉殺毒軟件或重啟電腦 Python 環境損壞?? 重新安裝 Python 或使用虛擬環境 ?? 殺毒軟件阻止…

【深尚想!愛普特APT32F1023H8S6單片機重構智能電機控制新標桿】

在智能家電與健康器械市場爆發的今天&#xff0c;核心驅動技術正成為產品突圍的關鍵。傳統電機控制方案面臨集成度低、開發周期長、性能瓶頸三大痛點&#xff0c;而愛普特電子帶來的APT32F1023H8S6單片機無感三合一方案&#xff0c;正在掀起一場智能電機控制的技術革命。 爆款基…

一個.NET開源、輕量級的運行耗時統計庫

前言 在.NET開發中&#xff0c;為了準確統計對應方法的執行時間&#xff0c;我們最常用的方式是手動使用 Stopwatch 來顯式編寫計時邏輯&#xff0c;但是假如你需要大量的使用 Stopwatch 來進行耗時統計的話不利于保持代碼的整潔和增加代碼的維護成本。 項目介紹 MethodTime…

嵌入式鴻蒙openharmony應用開發環境搭建與工程創建實現

各位小伙伴大家好,本周開始分享鴻蒙開發相關的內容,從基礎的配置方法到各種功能的實現,探索國產操作系統的奧秘。 第一:觀察結果 第二:開源語言 ArkTS是鴻蒙應用開發中使用的TypeScript超集,提供了一套豐富的API來構建應用界面和邏輯。 第三:環境搭建 步驟 1 通過如…

軟考 組合設計模式

組合設計模式&#xff08;Composite Pattern&#xff09;是結構型設計模式之一&#xff0c;它的核心思想是將對象組合成樹形結構來表示“部分-整體”的層次結構&#xff0c;使得用戶對單個對象和組合對象的使用具有一致性。 主要概念&#xff1a; 組件&#xff08;Component&a…

vue 中的v-once

&#x1f530; 基礎理解 ? 語法&#xff1a; <span v-once>{{ msg }}</span>? 效果&#xff1a; ? 只渲染一次&#xff0c;之后無論數據如何變化&#xff0c;該內容都不會更新。 ? 非常適用于靜態內容或首次加載后不需要變化的數據。&#x1f9ea; 示例&…

GPU訓練和call方法

知識點回歸: CPU性能的查看:看架構代際、核心數、線程數GPU性能的查看:看顯存、看級別、看架構代際GPU訓練的方法:數據和模型移動到GPU device上類的call方法:為什么定義前向傳播時可以直接寫作self.fc1(x)import torch import torch.nn as nn import torch.optim as opti…

人臉識別備案開啟安全防護模式!緊跟《辦法》!

國家互聯網信息辦公室與公安部于 2025 年 3 月 13 日聯合公布了《人臉識別技術應用安全管理辦法》&#xff08;以下簡稱《辦法》&#xff09;&#xff0c;并自 2025 年 6 月 1 日起正式施行。其中&#xff0c;人臉識別備案成為了規范技術應用、守護信息安全的關鍵一環。? 一、…

LeetCode:貪心算法

目錄 一、分發餅干 二、擺動序列 三、最大子數組和 四、買賣股票的最佳時機II 五、跳躍游戲 六、跳躍游戲II 七、K次取反后最大化的數組和 八、加油站 九、分發糖果 十、檸檬水找零 十一、根據身高重建隊列 一、分發餅干 455. 分發餅干 - 力扣&#xff08;LeetCode…

企業級 Hosts 自動化管理實戰:基于 HTTP 檢測的高可用域名解析方案

摘要 本文針對企業級域名解析穩定性需求&#xff0c;提供一套從IP 檢測到Hosts 更新的完整自動化解決方案。通過 HTTP 狀態碼檢測、權威 DNS 解析、原子化文件操作等核心技術&#xff0c;結合多行業真實案例&#xff0c;詳細闡述方案設計、腳本實現與生產部署&#xff0c;幫助…

基于springboot+vue網頁系統的社區義工服務互動平臺(源碼+論文+講解+部署+調試+售后)

感興趣的可以先收藏起來&#xff0c;還有大家在畢設選題&#xff0c;項目以及論文編寫等相關問題都可以給我留言咨詢&#xff0c;我會一一回復&#xff0c;希望幫助更多的人。 系統背景 在社會文明程度不斷提升、社區治理需求持續深化的大背景下&#xff0c;社區義工服務作為…