logo
Loading...

D89 抓不到bug... - Cupoy

我目前卡關了,對了一下其他同學的答案,好想沒有差太多,可是我卻跑不出來訓練開始會show這樣的錯誤

ml100-2,ml100-2-d89

D89 抓不到bug...

2019/08/19 下午 02:17
機器學習共學討論版
趙阿里
觀看數:47
回答數:1
收藏數:0
ml100-2
ml100-2-d89

我目前卡關了,對了一下其他同學的答案,好想沒有差太多,可是我卻跑不出來

訓練開始會show這樣的錯誤

回答列表

  • 2019/08/20 上午 10:46
    Benjamin Chai
    贊同數:1
    不贊同數:0
    留言數:1

    在define focal_loss()的時候是這樣


    def focal_loss(gamma=2., alpha=4.):

        gamma = float(gamma)

        ......


    但在define combined_lossfunction()的時候

    loss = (1-ce_weights)*focal_loss(y_true, y_pred) + .......


    這裡把y_true(是一個Tensor)丟進focal_loss的第一個變數,也就是gamma


    所以後來其實是在做gamma = float(y_true)

    才會出 TypeError: float() argument must be a string or a number, not 'Tensor'這個錯誤訊息


    應該在def focal_loss的時候前面再加兩個argument去接y_true和y_pred就可以了,像這樣

    def focal_loss(y_true, y_pred, gamma=2., alpha=4.):