tensorflow 實現自定義梯度反向傳播

以sign函數爲例:   sign函數可以對數值進行二值化,但在梯度反向傳播是不好處理,一般採用一個近似函數的梯度作爲代替,如上圖的Htanh。在[-1,1]直接梯度爲1,其他爲0。 #使用修飾器,建立梯度反向傳播函數。其中op.input包含輸入值、輸出值,grad包含上層傳來的梯度 @tf.RegisterGradient("QuantizeGrad") def sign_grad(op, g
相關文章
相關標籤/搜索