簡體   English   中英

如何在Keras中實現1-Sigmoid?

[英]How to implement 1-sigmoid in Keras?

由於我想實現類似於GRU更新門的結構:

h t =(1-z t )h t-1 + z t h t

我正在嘗試使用這些代碼來實現它,但是它不起作用。 我確定問題出在以下代碼中:

one = K.ones(shape=(1, len, 128))
zt=Subtract([one,zt])
temp_conv2=multiply([reset_conv,zt])
output=Add([temp_conv1,temp_conv2])

我有以下錯誤:

AttributeError:“ Tensor”對象沒有屬性“ _keras_history”

我已經嘗試了其他方法,例如使用Lambda層,但是它不起作用。

one不是Keras Tensor,因此您會收到該錯誤。 您可以將其包裝在Lambda層中:

zt = Lambda(lambda x: Subtract([K.ones(shape=(1, len, 128)), x]))(zt)

即使您不需要構造那個張量。 只需使用1-x

zt = Lambda(lambda x: 1-x)(zt)

它會自動廣播,減法將是逐元素的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM