gpt4 book ai didi

Keras - 重用前一层的权重 - 转换为 keras 张量

转载 作者:行者123 更新时间:2023-12-05 01:10:08 25 4
gpt4 key购买 nike

我正在尝试重用前一层的权重矩阵。作为一个玩具示例,我想做这样的事情:

import numpy as np
from keras.layers import Dense, Input
from keras.layers import merge
from keras import backend as K
from keras.models import Model

inputs = Input(shape=(4,))
inputs2 = Input(shape=(4,))
dense_layer = Dense(10, input_shape=(4,))
dense1 = dense_layer(inputs)

def my_fun(my_inputs):
w = my_inputs[0]
x = my_inputs[1]

return K.dot(w, x)

merge1 = merge([dense_layer.W, inputs2], mode=my_fun)

问题是 dense_layer.W不是 keras 张量。所以我收到以下错误:
Exception: Output tensors to a Model must be Keras tensors. Found: dot.0

关于如何转换的任何想法 dense_layer.W到 Keras 张量?

谢谢

最佳答案

似乎您想在层之间共享权重。
我认为您可以使用密集层作为输入和输入 2 的共享层。

merge1=dense_layer(inputs2)

检查共享层@ https://keras.io/getting-started/functional-api-guide/#shared-layers

关于Keras - 重用前一层的权重 - 转换为 keras 张量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39564579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com