我有以下代码,在创建图层时使用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)
但我不确定这项工作是否适当......
Cuz我使用这一层作为概率输出: - 在Theano版本中,范围[-1,-1]中的概率向量 - 从另一方面来说,如果我使用这个Keras代码,概率偏差大于1(如果我手动减少这些输出权重0.1 - 概率分布变得与Theano密切相关)
答案 0 :(得分:0)
正确的解决方案是使用Keras的lambdas,例如:
net.add(Dense(outdim))
net.add(Lambda(lambda x: x * 0.1))