python - 在 Keras 中修改图层权重

标签 python deep-learning keras

我正在尝试修改 Keras 中图层的输出。我有一个将时间序列转换为潜在空间的编码器,之后,对于每个压缩的时间序列,我想在时间序列中添加一些数字。

例如我有:

input_d = Input((100,))
h1_d = Reshape((100, 1))(input_d)
h2_d = LSTM(150, return_sequences=True)(h1_d)
h3_d = TimeDistributed(Dense(64, activation='linear'))(h2_d)
h4_d = LSTM(150)(h3_d)
output_d = Dense(30, activation='linear')(h4_d)

我想做这样的事情:

new_weights = []
for i in outputs_d.weights:
    new_weights.append(np.vstack(([1,2,3], i)))

但问题是我不知道我可以在什么时候执行此操作,因为如果在 ouput_d 之后编写一个 Lambda 层,我将无法访问权重。

最佳答案

我发现做这样的事情的唯一方法是将所需的功能实现为回调,您可以在回调中访问模型,从而通过 self.model.trainable_weightsself.model.get_weights()

关于python - 在 Keras 中修改图层权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45539595/

相关文章:

python - 没有在 Python 中分组的正则表达式和 OR 运算符?

python - Django 没有名为 'main' 的模块

python - CNN 的输出不会随输入变化太大

python - Keras fit with generator function 始终在主线程中执行

python - 止损订单所需的 Pyalgotrade 建议

python - 在我的 python 项目上使用自定义包

neural-network - 如何从图像目录中为 siamese 网络创建 CaffeDB 训练数据

python - 将 Numpy 数组提供给 CNTK LSTM 模型

python - 如何在使用 ImageDataGenerator 时使用 to_categorical

python - 使用 Keras 创建平方函数估计器