W tensorflow/core/util/ctc/ctc_loss_calculator.cc:144] No valid path found 或 loss:inf的解決方案


基於Tensorflow和Keras實現端到端的不定長中文字符檢測和識別(文本檢測:CTPN,文本識別:DenseNet + CTC),在使用自己的數據訓練這個模型的過程中,出現如下錯誤,由於問題已經解決,當時的出現的問題又沒有截圖保存,錯誤又不好復現,所以只能在網上找一張截圖下來。

經過查找相關資料,都是說CTC在計算loss時要求輸入序列長度不小於標簽長度,但是不太懂這句話啥意思。

最終在https://github.com/YCG09/chinese_ocr/issues/15這個鏈接下和下面這個圖片發現了靈感,錯誤的原因就是訓練數據集的label的長度太長了,導致出現loss:inf錯誤

  

解決方法:首先在/train/train.py文件下改下這行代碼(不一定需要和下方對應)

maxlabellength = 10

然后自己把訓練數據集里面label長度大於10的數據刪掉(有可能不一定都是10,主要是我這個數據集把label長度大於10的數據刪掉對整個數據集影響不大)。這樣就不會報錯了,如下所示。

如此,問題成功解決。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM