第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

張量流梯度 - 獲取所有 nan 值

張量流梯度 - 獲取所有 nan 值

慕田峪9158850 2021-10-19 15:47:20
我正在將 python 3 與 anaconda 一起使用,并將 tensorflow 1.12 與eager eval 一起使用。我正在使用它為孿生網絡創(chuàng)建三元組損失函數,并且需要計算不同數據樣本之間的距離。我創(chuàng)建了一個函數來創(chuàng)建距離計算,但是無論我做什么,當我嘗試計算它相對于網絡輸出的梯度時,它一直給我所有的 nan 梯度。這是代碼:def matrix_row_wise_norm(matrix):    import tensorflow as tf    tensor = tf.expand_dims(matrix, -1)    tensor = tf.transpose(tensor, [0, 2, 1]) - tf.transpose(tensor, [2, 0, 1])    norm = tf.norm(tensor, axis=2)    return norm在我使用的損失函數中def loss(y_true, p_pred):    with tf.GradientTape() as t:    t.watch(y_pred)        distance_matrix = matrix_row_wise_norm(y_pred)        grad = t.gradient(distance_matrix, y_pred)并且 grad 都是nans。我檢查過它y_pred是由合法值組成的 - 確實如此。我試圖創(chuàng)建一個y_pred * 2相對于自身的梯度并獲得合法的梯度值。我在這里缺少什么?創(chuàng)建距離矩陣時的索引是否有問題?編輯:兩者的D型y_pred和lossIStf.float32編輯:在 tf 中發(fā)現了一個打開的錯誤報告- 這可能是問題嗎?編輯:當我將范數軸更改為 0 或 1 時,我得到了合法的值,而nan. 我使用 norm with 的操作axis=2是矩陣中行對之間的成對距離,我懷疑這可能與行與自身之間的距離為 0 有關,所以我剪掉了最小值為 1e-7 的值沒有任何運氣。謝謝
查看完整描述

1 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

似乎從數字不穩(wěn)定性tf.norm患有作為解釋這里


他們還建議使用更穩(wěn)定的 l2 范數,所以我嘗試了這一點,也得到了 nan 值,這要歸功于 0 梯度。所以我將它們與梯度裁剪一起使用,到目前為止效果很好,損失函數正在工作并設法收斂。


def last_attempt(y_true, y_pred):

    import tensorflow as tf

    import numpy as np


    loss = tf.zeros(1)


    for i in range(y_pred.shape[0]):

        dist = tf.gather(y_pred, [i], axis=0)

        y = y_true.numpy().squeeze()

        norm = tf.map_fn(tf.nn.l2_loss, dist-y_pred)


        d = norm.numpy()

        d[np.where(y != y[i])] = 0.0

        max_pos = tf.gather(norm, np.argmax(d))


        d = norm.numpy()

        d[np.where(y == y[i])] = np.inf

        min_neg = tf.gather(norm, np.argmin(d))


        loss += tf.clip_by_value(max_pos - min_neg + tf.constant(1, dtype=tf.float32),

                                 1e-8, 1e1)


    return loss

優(yōu)化該功能的空間很大,這里是對我的其他SO 問題的參考- 正在解決這個問題。


查看完整回答
反對 回復 2021-10-19
  • 1 回答
  • 0 關注
  • 253 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號