国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python】torch.no_grad()函數(shù)詳解和示例

這篇具有很好參考價(jià)值的文章主要介紹了【Python】torch.no_grad()函數(shù)詳解和示例。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

torch.no_grad() 是 PyTorch 中的一個(gè)上下文管理器,用于在進(jìn)入該上下文時(shí)禁用梯度計(jì)算。這在你只關(guān)心評(píng)估模型,而不是訓(xùn)練模型時(shí)非常有用,因?yàn)樗梢燥@著減少內(nèi)存使用并加速計(jì)算。

當(dāng)你在 torch.no_grad() 上下文管理器中執(zhí)行張量操作時(shí),PyTorch 不會(huì)為這些操作計(jì)算梯度。這意味著不會(huì)在 .grad 屬性中累積梯度,并且操作會(huì)更快地執(zhí)行。

使用torch.no_grad()

import torch

# 創(chuàng)建一個(gè)需要梯度的張量
x = torch.tensor([1.0], requires_grad=True)

# 使用 no_grad() 上下文管理器
with torch.no_grad():
    y = x * 2

    
y.backward()

print(x.grad)

輸出:

RuntimeError                              Traceback (most recent call last)
Cell In[52], line 11
      7 with torch.no_grad():
      8     y = x * 2
---> 11 y.backward()
     13 print(x.grad)

File E:\anaconda\lib\site-packages\torch\_tensor.py:396, in Tensor.backward(self, gradient, retain_graph, create_graph, inputs)
    387 if has_torch_function_unary(self):
    388     return handle_torch_function(
    389         Tensor.backward,
    390         (self,),
   (...)
    394         create_graph=create_graph,
    395         inputs=inputs)
--> 396 torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs)

File E:\anaconda\lib\site-packages\torch\autograd\__init__.py:173, in backward(tensors, grad_tensors, retain_graph, create_graph, grad_variables, inputs)
    168     retain_graph = create_graph
    170 # The reason we repeat same the comment below is that
    171 # some Python versions print out the first line of a multi-line function
    172 # calls in the traceback and some print out the last line
--> 173 Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
    174     tensors, grad_tensors_, retain_graph, create_graph, inputs,
    175     allow_unreachable=True, accumulate_grad=True)

RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn

輸出錯(cuò)誤,因?yàn)槭褂昧藈ith torch.no_grad():。

不使用torch.no_grad()

import torch

# 創(chuàng)建一個(gè)需要梯度的張量
x = torch.tensor([1.0], requires_grad=True)

# 使用 no_grad() 上下文管理器
y = x * 2
y.backward()
print(x.grad)

輸出:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-838756.html

tensor([2.])

到了這里,關(guān)于【Python】torch.no_grad()函數(shù)詳解和示例的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 積跬步至千里 || PyTorch 中的“with torch no_grad” 語(yǔ)句

    “with ”torch.no_grad()的使用就像一個(gè)循環(huán),其中循環(huán)內(nèi)的每個(gè)張量都將requires_grad設(shè)置為False。這意味著當(dāng)前與當(dāng)前計(jì)算圖相連的任何具有梯度的張量現(xiàn)在都與當(dāng)前圖分離。我們不再能夠計(jì)算關(guān)于這個(gè)張量的梯度。 張量從當(dāng)前圖中分離,直到它在循環(huán)內(nèi)。一旦它離開(kāi)循環(huán),如果

    2024年02月11日
    瀏覽(20)
  • pytorch 固定部分網(wǎng)絡(luò)參數(shù)需要使用 with torch.no_grad()嗎

    在 PyTorch 中,torch.no_grad() 是一個(gè)上下文管理器,用于設(shè)置一段代碼的計(jì)算圖不需要梯度。具體來(lái)說(shuō),當(dāng)我們?cè)?torch.no_grad() 的上下文中執(zhí)行某些操作時(shí),PyTorch 不會(huì)為這些操作自動(dòng)計(jì)算梯度,以節(jié)省計(jì)算資源。 使用 torch.no_grad() 可以有如下幾種情況: 測(cè)試模型:在測(cè)試模型或

    2024年02月11日
    瀏覽(20)
  • 深入理解PyTorch中的train()、eval()和no_grad()

    深入理解PyTorch中的train()、eval()和no_grad()

    ??覺(jué)得內(nèi)容不錯(cuò)的話,歡迎點(diǎn)贊收藏加關(guān)注??????,后續(xù)會(huì)繼續(xù)輸入更多優(yōu)質(zhì)內(nèi)容?? ??有問(wèn)題歡迎大家加關(guān)注私戳或者評(píng)論(包括但不限于NLP算法相關(guān),linux學(xué)習(xí)相關(guān),讀研讀博相關(guān)......)?? (封面圖由文心一格生成) 在PyTorch中,train()、eval()和no_grad()是三個(gè)非常重

    2023年04月08日
    瀏覽(17)
  • 詳解torch.nn.utils.clip_grad_norm_ 的使用與原理

    本文是對(duì)梯度剪裁: torch.nn.utils.clip_grad_norm_()文章的補(bǔ)充。所以可以先參考這篇文章 從上面文章可以看到, clip_grad_norm 最后就是對(duì)所有的梯度乘以一個(gè) clip_coef ,而且乘的前提是 clip_coef一定是小于1的 ,所以,按照這個(gè)情況: clip_grad_norm 只解決梯度爆炸問(wèn)題,不解決梯度消失

    2023年04月08日
    瀏覽(24)
  • 【深度學(xué)習(xí)框架-torch】torch.norm函數(shù)詳解用法

    【深度學(xué)習(xí)框架-torch】torch.norm函數(shù)詳解用法

    torch版本 1.6 dim是matrix norm 如果 input 是 matrix norm ,也就是維度大于等于2維,則 P值默認(rèn)為 fro , Frobenius norm 可認(rèn)為是與計(jì)算向量的歐氏距離類(lèi)似 有時(shí)候?yàn)榱吮容^真實(shí)的矩陣和估計(jì)的矩陣值之間的誤差 或者說(shuō)比較真實(shí)矩陣和估計(jì)矩陣之間的相似性,我們可以采用 Frobenius 范數(shù)。

    2024年02月10日
    瀏覽(23)
  • 【Python】【Torch】神經(jīng)網(wǎng)絡(luò)中各層輸出的特征圖可視化詳解和示例

    【Python】【Torch】神經(jīng)網(wǎng)絡(luò)中各層輸出的特征圖可視化詳解和示例

    本文對(duì)神經(jīng)網(wǎng)絡(luò)各層特征圖可視化的過(guò)程進(jìn)行運(yùn)行示例,方便大家使用,有助于更好的理解深度學(xué)習(xí)的過(guò)程,尤其是每層的結(jié)果。 神經(jīng)網(wǎng)絡(luò)各層特征圖可視化的好處和特點(diǎn)如下: 可視化過(guò)程可以了解網(wǎng)絡(luò)對(duì)圖像像素的權(quán)重分布,可以了解網(wǎng)絡(luò)對(duì)圖像特征的提取過(guò)程,還可以

    2024年02月04日
    瀏覽(21)
  • Python內(nèi)置的20個(gè)高階函數(shù)的功能和示例詳解

    Python內(nèi)置的20個(gè)高階函數(shù)的功能和示例詳解

    ?? 個(gè)人網(wǎng)站:ipengtao.com Python是一門(mén)功能豐富的編程語(yǔ)言,提供了許多內(nèi)置函數(shù)來(lái)處理各種數(shù)據(jù)操作。其中,高階函數(shù)是一類(lèi)特殊的函數(shù),它們接受其他函數(shù)作為參數(shù),或者返回函數(shù)作為結(jié)果。高階函數(shù)是函數(shù)式編程的核心概念之一,可以大大提高代碼的可讀性和靈活性。本

    2024年01月22日
    瀏覽(29)
  • 【Python】np.maximum()和np.minimum()函數(shù)詳解和示例

    本文通過(guò)函數(shù)原理和運(yùn)行示例,對(duì)np.maximum()和np.minimum()函數(shù)進(jìn)行詳解,以幫助大家理解和使用。 更多Numpy函數(shù)詳解和示例,可參考 【Python】Numpy庫(kù)近50個(gè)常用函數(shù)詳解和示例,可作為工具手冊(cè)使用 np.maximum() 是 NumPy 庫(kù)中的一個(gè)函數(shù),用于比較兩個(gè)或更多個(gè)數(shù)組元素,并返回每

    2024年01月24日
    瀏覽(29)
  • 10天玩轉(zhuǎn)Python第6天:python 函數(shù)和面向?qū)ο蠡A(chǔ) 全面詳解與代碼示例

    10天玩轉(zhuǎn)Python第6天:python 函數(shù)和面向?qū)ο蠡A(chǔ) 全面詳解與代碼示例

    不定長(zhǎng)參數(shù)補(bǔ)充-函數(shù)調(diào)用時(shí)的拆包 匿名函數(shù) 語(yǔ)法 代碼 練習(xí) 匿名函數(shù)作為函數(shù)的參數(shù) - 列表中的字典排序 字符串比大小 基本的介紹 面向過(guò)程 關(guān)注的是 具體步驟的實(shí)現(xiàn), 所有的功能都自己書(shū)寫(xiě) 親力親為 定義一個(gè)個(gè)函數(shù), 最終按照順序調(diào)用函數(shù) 面向?qū)ο?關(guān)注的是結(jié)果, 誰(shuí)

    2024年02月04日
    瀏覽(24)
  • 【Pytorch】torch.max() 函數(shù)詳解

    參數(shù): input (Tensor) – 輸入張量 返回輸入張量所有元素中的最大值。 輸出結(jié)果: 返回張量 input 在壓縮指定維度 dim 時(shí)的最大值及其下標(biāo)。 輸出結(jié)果: 返回兩張量 input 和 other_input 在對(duì)應(yīng)位置上的最大值形成的新張量。 輸出結(jié)果: 詳解 torch.max 函數(shù)

    2024年01月23日
    瀏覽(33)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包