中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SSD-pytorch坑怎么解決

發布時間:2021-12-27 14:32:09 來源:億速云 閱讀:162 作者:iii 欄目:大數據

本篇內容介紹了“SSD-pytorch坑怎么解決”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

我在運行

python train.py

的時候,發現確實loss降的異常的快。
運行

python eval.py

的時候mAP是一個很接近0的數。

經過思考,發現問題出在原來博客的第4個點:
(下面這段是從原文中復制來的)

4.train.py代碼中,在迭代過程中,每次執行batch張圖片,通過images, targets = next(batch_iterator)讀取圖片時,如果next()中沒有數據后會觸發Stoplteration異常,使用下面語句替換 images, targets = next(batch_iterator)將解決這種異常問題。


while True:
    try:
        # 獲得下一個值:
        images, targets = next(batch_iterator)
 
    except StopIteration:
        # 遇到StopIteration就退出循環
        break

但是其實是不能夠這樣改的,這么改的思路是遇到了問題就跳過去,這樣很明顯是不可以的,會導致不斷的跳出循環,沒有在進行有效的train,所以loss會降得很快,最后的結果也不好。

解決方案

這個問題出現的原因是dataloader導入數據之后經過了一輪的迭代,再次導入的時候發現沒有數據了,也就是iterable完成之后,觸發了StopIteration,然后跳出了循環。

既然再次導入的時候沒有數據了,那我們就再用一個dataloader就行了。

將train.py(165行)的

images, targets = next(batch_iterator)

更改成:

try:
	images, targets = next(batch_iterator)
except StopIteration:
	batch_iterator = iter(data_loader)
	images, targets = next(batch_iterator)

問題解決。

“SSD-pytorch坑怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湾仔区| 泸西县| 通辽市| 集安市| 凉城县| 巴里| 蒙山县| 额济纳旗| 德阳市| 顺义区| 乳山市| 西吉县| 平山县| 江源县| 富阳市| 蒙城县| 河南省| 洞头县| 牡丹江市| 宁海县| 巴林右旗| 乌鲁木齐县| 日照市| 南京市| 波密县| 南陵县| 额敏县| 三亚市| 巫山县| 文成县| 始兴县| 昌吉市| 上饶县| 凭祥市| 洛浦县| 克东县| 紫金县| 白河县| 景泰县| 大安市| 开封县|