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

網(wǎng)絡(luò)梯度為None、參數(shù)不更新解決思路(又名“魔改代碼的報應(yīng)”)

這篇具有很好參考價值的文章主要介紹了網(wǎng)絡(luò)梯度為None、參數(shù)不更新解決思路(又名“魔改代碼的報應(yīng)”)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

報錯提示

RuntimeError: Expected to have finished reduction in the prior iteration before starting a new one. This error indicates that your module has parameters that were not used in producing loss. You can enable unused parameter detection by (1) passing the keyword argument find_unused_parameters=True to torch.nn.parallel.DistributedDataParallel; (2) making sure all forward function outputs participate in calculating loss. If you already have done the above two steps, then the distributed data parallel module wasn’t able to locate the output tensors in the return value of your module’s forward function. Please include the loss function and the structure of the return value of forward of your module when reporting this issue (e.g. list, dict, iterable).

問題來源

在原網(wǎng)絡(luò)中新加了一個特征提取的模塊,單卡不報錯,雙卡報上面的錯

排查

出現(xiàn)這個錯最本質(zhì)的原因是有一部分網(wǎng)絡(luò)的參數(shù)無法正常反向傳播。
首先通過在loss.backward()后添加下面代碼,找出是哪一處的參數(shù)梯度為None:

for name, param in model.named_parameters():
	if param.grad is None:
		print(name, param.grad_fn)

然后發(fā)現(xiàn)確實是我加的那一部分的模塊的參數(shù)有問題,梯度都是None

參考博客

下面的博客給出了一些參考
參考博客1
參考博客2

我的解決思路

由于我加的這一部分是特征提取,不需要在這一步計算loss,而原來后面那一部分的網(wǎng)絡(luò)的反向傳播是沒問題的,所以問題應(yīng)該就是出在我寫的這塊。

排除了一系列l(wèi)oss沒算、初始化沒刪、requires_grad沒開等等一系列問題后,
我認(rèn)為不能反向傳播的原因可能是我把特征提取這一部分的輸出后面加了一系列復(fù)雜的操作(涉及到一些復(fù)雜的維度變換),
然后才傳到下一個網(wǎng)絡(luò)中去,導(dǎo)致有些操作無法正確的追溯(比如for循環(huán)、scatter操作以及一些其他復(fù)雜的操作函數(shù))。

接著我把所有的for循環(huán)刪除,把直接計算的池化部分改為通過AvgPool2d()實現(xiàn),就可以正常反向傳播了!

所以出現(xiàn)了這個問題,且你對代碼做了魔改的基礎(chǔ)上,可以檢查一下自己有沒有在輸出的特征向量上做一些復(fù)雜的操作,盡量把這些操作簡化,同時也要注意盡量不要初始化一個新的tensor(這種中間變量的梯度也是沒有的),沒準(zhǔn)就能行得通!

大半夜終于解決了困擾了好幾天的bug,共勉!?。?/em>文章來源地址http://www.zghlxwxcb.cn/news/detail-667568.html

到了這里,關(guān)于網(wǎng)絡(luò)梯度為None、參數(shù)不更新解決思路(又名“魔改代碼的報應(yīng)”)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 前后臺傳遞參數(shù)中出現(xiàn)+、-、=、%、&、#、空格等字符的解決思路

    一、描述問題 前后臺傳輸數(shù)據(jù)多樣化,可能會出現(xiàn)特殊字符的情況,比如傳遞的參數(shù)中含有+、空格、=、%等字符,遇到這樣的情況我們該如何解決呢? 二、問題分析 前后臺特殊字符對其編碼,原因可能是這些特殊字符對于前后臺傳遞參數(shù)的時候,有其特殊的用途,比如url中

    2024年01月17日
    瀏覽(20)
  • 2023年研究生數(shù)學(xué)建模A題WLAN網(wǎng)絡(luò)信道接入機制建模思路及參考代碼(持續(xù)更新)

    2023年研究生數(shù)學(xué)建模A題WLAN網(wǎng)絡(luò)信道接入機制建模思路及參考代碼(持續(xù)更新)

    背景 無線局域網(wǎng)(WLAN, wireless local area network)也即Wi-Fi廣泛使用,提供低成本、高吞吐和便利的無線通信服務(wù)?;痉?wù)集(BSS, basic service set)是WLAN的基本組成部分。處于某一特定覆蓋區(qū)域內(nèi)的站點(STA, station)與一個專職管理BSS的無線接入點(AP, access point)組成一個BSS,

    2024年02月07日
    瀏覽(92)
  • YOLOv8改進 | 檢測頭篇 | 利用DBB重參數(shù)化模塊魔改檢測頭實現(xiàn)暴力漲點 (支持檢測、分割、關(guān)鍵點檢測)

    YOLOv8改進 | 檢測頭篇 | 利用DBB重參數(shù)化模塊魔改檢測頭實現(xiàn)暴力漲點 (支持檢測、分割、關(guān)鍵點檢測)

    本文給大家?guī)淼母倪M機制是 二次創(chuàng)新 的機制,二次創(chuàng)新是我們發(fā)表論文中關(guān)鍵的一環(huán),本文給大家?guī)淼亩蝿?chuàng)新機制是通過 DiverseBranchBlock(DBB) 模塊來改進我們的檢測頭形成一個新的檢測頭Detect_DBB,其中DBB是一種重參數(shù)化模塊,其訓(xùn)練時采用復(fù)雜結(jié)構(gòu),推理時使用單分支

    2024年01月16日
    瀏覽(69)
  • 機器學(xué)習(xí)_通過梯度下降找到最佳參數(shù)

    機器學(xué)習(xí)_通過梯度下降找到最佳參數(shù)

    所謂訓(xùn)練機器,也稱擬合的過程,也就是 確定模型內(nèi)部參數(shù)的過程 。具體到線性模型,也就是確定y’=wx+b 函數(shù)中的w和b。 對于線性回歸來說,針對損失函數(shù)的 梯度下降 (gradient descent )方法可以使猜測沿著 正確的方向前進 ,因此總能找到比起上一次猜測時 誤差更小的w和b組

    2024年01月21日
    瀏覽(33)
  • 解決pandas.errors.InvalidIndexError: (slice(None, None, None), None)

    解決pandas.errors.InvalidIndexError: (slice(None, None, None), None)

    ValueError: x and y must have same first dimension, but have shapes (2, 14) and (14,) 問題分析: 由于上圖索引(時間列)存在重復(fù),導(dǎo)致下面代碼中, ax.plot()的時候,把兩個相同的索引,構(gòu)造了一個(2,14)的重復(fù) 解決辦法:對索引列去重復(fù)

    2024年02月16日
    瀏覽(13)
  • 神經(jīng)網(wǎng)絡(luò)解決回歸問題(更新ing)

    神經(jīng)網(wǎng)絡(luò)解決回歸問題(更新ing)

    神經(jīng)網(wǎng)絡(luò)是處理回歸問題的強大工具,它們能夠?qū)W習(xí)輸入數(shù)據(jù)和輸出之間的復(fù)雜關(guān)系。 神經(jīng)網(wǎng)絡(luò)提供了一種靈活且強大的框架,用于建模和預(yù)測回歸問題。通過 適當(dāng)?shù)?網(wǎng)絡(luò)結(jié)構(gòu) 、 訓(xùn)練策略 和 正則化 技術(shù),可以有效地從數(shù)據(jù)中學(xué)習(xí)并做出準(zhǔn)確的預(yù)測。 在實際應(yīng)用中,選擇

    2024年04月10日
    瀏覽(16)
  • WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))解決辦法

    WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))解決辦法

    問題描述: ?WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by \\\'ReadTimeoutError(\\\"HTTPSConnectionPool(host=\\\'files.pythonhosted.org\\\', port=443): Read timed out. (read timeout=15)\\\")\\\': /packages/77/ec/ccdfcafb958f6007cc357ce12fd945551a71503b88cd3f78e49fd958f949/torchvision-0.14.1-cp37-cp37m-w

    2024年02月08日
    瀏覽(29)
  • python解決WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) afte

    python解決WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) afte

    pip安裝報錯計算機拒絕,代理問題 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProxyError(‘Cannot connect to proxy.’, NewConnectionError(’pip._vendor.urllib3.connection.HTTPConnection object at 0x000001937A5BDDC0: Failed to establish a new connection: [WinError 10061] 由于

    2024年02月06日
    瀏覽(18)
  • 已解決WARNING: Retrying (Retry(total=0,connect=None,read=None,redirect=None, status=None)) after connec

    已解決WARNING: Retrying (Retry(total=0,connect=None,read=None,redirect=None, status=None)) after connec

    已解決(pip升級報錯)WARNING: Retrying (Retry(total=0,connect=None,read=None,redirect=None, status=None)) after connection broken by ‘SSLError(SSLEOFError(8,‘EOF occurred in violation of protocol (_ssl.c:997)’))’: /pypi/simple/pip/ WARNING: There was an error checking the latest version of pip. 一個小伙伴用pip命令升級pip,但是

    2024年02月15日
    瀏覽(23)
  • 已解決Retrying(Retry (total=4, connect=None,read=None,redirect=None,status=None)) after connection brok

    已解決Retrying(Retry (total=4, connect=None,read=None,redirect=None,status=None)) after connection brok

    已解決Retrying(Retry (total=4, connect=None,read=None,redirect=None,status=None)) after connection broken by ‘ReadTimeoutError(“\\\'HTTPSConnectionPool(host=\\\'files.pythonhosted.org , port=443);: Read timed out.(read timeout=15)”,)’: /packages/91/68/c9ce4bd8989333cbb59b42c15d7a43e414d495dba3a21664411564c77b6a/tensorflow-2.6.2-cp36-cp36m-win_amd64.

    2023年04月15日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包