91aaa在线国内观看,亚洲AV午夜福利精品一区二区,久久偷拍人视频,久久播这里有免费视播

<strong id="fvuar"></strong>

  • <sub id="fvuar"><dl id="fvuar"><em id="fvuar"></em></dl></sub>

    1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

      手機(jī)站
      千鋒教育

      千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

      千鋒教育

      掃一掃進(jìn)入千鋒手機(jī)站

      領(lǐng)取全套視頻
      千鋒教育

      關(guān)注千鋒學(xué)習(xí)站小程序
      隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

      當(dāng)前位置:首頁  >  技術(shù)干貨  > torch.add函數(shù)詳解

      torch.add函數(shù)詳解

      來源:千鋒教育
      發(fā)布人:xqq
      時(shí)間: 2023-11-22 21:28:23 1700659703

      一、torch.add()介紹

      torch.add是PyTorch中重要的數(shù)學(xué)函數(shù)之一,該函數(shù)用于將兩個(gè)張量的元素相加。使用add可以用于在模型的正向傳播過程中將兩個(gè)數(shù)的值相加,也可以用于在訓(xùn)練過程中實(shí)現(xiàn)復(fù)雜的優(yōu)化算法。

      add函數(shù)具有幾個(gè)參數(shù):input,other,alpha,out。其中,input和other都是兩個(gè)張量,需要進(jìn)行相加處理,alpha是一個(gè)系數(shù),可以給input和other分別乘以不同的值。out是一個(gè)輸出張量,可以將計(jì)算結(jié)果輸出到該張量中,以避免額外的內(nèi)存分配。

      
      import torch
      
      t1 = torch.randn((2, 3), dtype=torch.float32)
      t2 = torch.randn((2, 3), dtype=torch.float32)
      
      t3 = torch.add(t1, t2)
      print(t3)
      

      二、torch.add()的操作

      1. 對(duì)標(biāo)量的操作

      對(duì)兩個(gè)標(biāo)量進(jìn)行相加。當(dāng)輸入?yún)?shù)是標(biāo)量時(shí),add函數(shù)會(huì)將該值分別加到輸入張量的每一個(gè)元素中。

      
      import torch
      
      t1 = torch.randn((2, 3), dtype=torch.float32)
      s1 = 2.5
      
      t2 = torch.add(t1, s1)
      print(t2)
      

      2. 對(duì)兩個(gè)向量的操作

      對(duì)兩個(gè)長(zhǎng)度相等的向量進(jìn)行相加。add函數(shù)對(duì)于兩個(gè)長(zhǎng)度相等的向量的操作,即將它們的對(duì)位元素相加,同時(shí)輸出一個(gè)新的向量。

      
      import torch
      
      v1 = torch.randn((3,), dtype=torch.float32)
      v2 = torch.randn((3,), dtype=torch.float32)
      
      v3 = torch.add(v1, v2)
      print(v3)
      

      3. 對(duì)兩個(gè)矩陣的操作

      對(duì)兩個(gè)矩陣進(jìn)行相加。當(dāng)兩個(gè)矩陣的維數(shù)相等時(shí),add函數(shù)會(huì)將兩個(gè)矩陣對(duì)應(yīng)的元素相加,輸出一個(gè)新的矩陣。

      
      import torch
      
      m1 = torch.randn((2, 3), dtype=torch.float32)
      m2 = torch.randn((2, 3), dtype=torch.float32)
      
      m3 = torch.add(m1, m2)
      print(m3)
      

      三、torch.add()的應(yīng)用

      1. 用add實(shí)現(xiàn)ReLU函數(shù)

      ReLU函數(shù)是一種常用的激活函數(shù),可以用于神經(jīng)網(wǎng)絡(luò)中的隱藏層。ReLU函數(shù)的公式為y=max(0,x),即當(dāng)輸入x小于0時(shí),輸出為0;當(dāng)輸入x大于等于0時(shí),輸出為x。

      使用torch.add函數(shù),可以很容易的實(shí)現(xiàn)ReLU函數(shù)。具體實(shí)現(xiàn)方式是將輸入張量中的負(fù)數(shù)部分變?yōu)?,其余元素不變:

      
      import torch
      
      def relu(x):
          return torch.add(x, torch.zeros_like(x).fill_(0.0).clamp_min_(x))
      
      t1 = torch.randn((2, 3), dtype=torch.float32)
      t2 = relu(t1)
      print(t1, '\n', t2)
      

      2. 實(shí)現(xiàn)自適應(yīng)梯度裁剪

      自適應(yīng)梯度裁剪是一種常用的技術(shù),可以幫助神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中更好地收斂。自適應(yīng)梯度裁剪需要計(jì)算每個(gè)參數(shù)的梯度范數(shù),然后根據(jù)每個(gè)梯度的范數(shù)進(jìn)行相應(yīng)的裁剪,以幫助網(wǎng)絡(luò)收斂。

      使用torch.add函數(shù)可以很容易的實(shí)現(xiàn)自適應(yīng)梯度裁剪。具體思路是計(jì)算梯度范數(shù),比較梯度范數(shù)與設(shè)定的閾值大小,然后按比例將梯度向量進(jìn)行縮放。

      
      import torch
      
      def adaptive_grad_clip(grad, threshold):
          norm = torch.norm(grad)
          if norm > threshold:
              grad = torch.div(grad, norm / threshold)
          return grad
      
      t1 = torch.randn((2, 3), dtype=torch.float32, requires_grad=True)
      t2 = t1.mean()
      t2.backward()
      grad = t1.grad
      grad_clip = adaptive_grad_clip(grad, 0.05)
      t1.grad = grad_clip
      print(t1.grad)
      

      四、結(jié)論

      torch.add函數(shù)在PyTorch中是一個(gè)非常重要的數(shù)學(xué)函數(shù),在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中有著廣泛的應(yīng)用。本文對(duì)torch.add函數(shù)在不同維度的操作進(jìn)行了詳細(xì)的介紹,同時(shí)給出了該函數(shù)在實(shí)際場(chǎng)景中的兩個(gè)應(yīng)用案例。在實(shí)際的開發(fā)過程中,可以更好的理解torch.add函數(shù)的使用方式,進(jìn)而更高效地完成各類深度學(xué)習(xí)模型的編寫。

      聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
      10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
      請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
      免費(fèi)領(lǐng)取
      今日已有369人領(lǐng)取成功
      劉同學(xué) 138****2860 剛剛成功領(lǐng)取
      王同學(xué) 131****2015 剛剛成功領(lǐng)取
      張同學(xué) 133****4652 剛剛成功領(lǐng)取
      李同學(xué) 135****8607 剛剛成功領(lǐng)取
      楊同學(xué) 132****5667 剛剛成功領(lǐng)取
      岳同學(xué) 134****6652 剛剛成功領(lǐng)取
      梁同學(xué) 157****2950 剛剛成功領(lǐng)取
      劉同學(xué) 189****1015 剛剛成功領(lǐng)取
      張同學(xué) 155****4678 剛剛成功領(lǐng)取
      鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
      董同學(xué) 138****2867 剛剛成功領(lǐng)取
      周同學(xué) 136****3602 剛剛成功領(lǐng)取
      相關(guān)推薦HOT
      Vue2轉(zhuǎn)Vue3全面總結(jié)

      本篇文章旨在介紹Vue2到Vue3的轉(zhuǎn)化過程,并從多個(gè)角度進(jìn)行詳細(xì)闡述。一、Vue2和Vue3有哪些不同點(diǎn)?Vue2和Vue3的不同點(diǎn)主要體現(xiàn)在以下幾個(gè)方面:...詳情>>

      2023-11-22 23:45:12
      Uniapp點(diǎn)擊事件全解析

      Uniapp是一個(gè)跨平臺(tái)的框架,開發(fā)者可以通過一份代碼適配多個(gè)移動(dòng)平臺(tái),包括iOS、Android、H5、小程序等。其中,點(diǎn)擊事件作為移動(dòng)應(yīng)用中常見的交...詳情>>

      2023-11-22 23:23:36
      byte轉(zhuǎn)string詳解

      byte轉(zhuǎn)string是編程中經(jīng)常遇到的一個(gè)操作。無論是在文件處理、網(wǎng)絡(luò)傳輸還是數(shù)據(jù)存儲(chǔ)上,都需要將byte轉(zhuǎn)為string進(jìn)行處理。本文將從多個(gè)方面詳解...詳情>>

      2023-11-22 23:16:23
      C++ sort頭文件詳解

      一、sort頭文件介紹C++ sort頭文件是C++標(biāo)準(zhǔn)庫(kù)中的一個(gè)重要頭文件,用來排序(主要是升序)數(shù)組或序列。通過對(duì)sort函數(shù)的調(diào)用,C++ sort頭文件...詳情>>

      2023-11-22 22:15:11
      如何清除svchost病毒

      一、了解svchost病毒svchost病毒是一種比較常見的惡意軟件,它通過偽裝成系統(tǒng)進(jìn)程的方式進(jìn)行隱藏,進(jìn)而竊取用戶的個(gè)人信息和系統(tǒng)信息。而且svch...詳情>>

      2023-11-22 22:04:23