如何编辑权重从keras层与tf作为ano



我有以下代码,当我创建图层时使用Keras和Theano:

net.add(Dense(outdim))
Wlast = net.layers[-1].W
Wlast.set_value(Wlast.get_value(borrow=True) * 0.1)

对于TF是否有适当的变换?我试试这个:

net.add(Dense(outdim))
Wlast = net.layers[-1].W
K.set_value(Wlast, K.get_value(Wlast) * 0.1)
# before it I do some import and set session: 
# from Keras import backend as K
# K.set_session(session)

但我不确定这样做是否合适。

因为我使用这一层作为概率输出:在Theano版本中,概率向量在[-1,-1]范围内-从另一方面,如果我使用这个Keras代码的概率偏差大于1(如果我手动减少这些输出权重0.1 -概率分布变得接近Theano)

正确的解决方案是使用Keras的lambdas,例如:

net.add(Dense(outdim))
net.add(Lambda(lambda x: x * 0.1))

相关内容

  • 没有找到相关文章

最新更新