形状未知的 Keras 自定义层权重

时间:2021-03-16 15:29:36

标签: python tensorflow keras

我正在尝试在 keras 中创建一个以 3D 张量作为输入的自定义层。然而,3D 张量的第一维是可变的,例如 - [12,128,157]、[20,128,157]、[8,128,157]。自定义层将具有权重,其形状取决于此可变维度 -

self.kernel1 = self.add_weight(shape=(self.output_dim,input_dim),
                                   name = 'kernel1',
                                   initializer=self.kernel_initializer,
                                   regularizer=self.kernel_regularizer,
                                   constraint=self.kernel_constraint,
                                   trainable=True)

在这种情况下,input_dim 是变量形状(12,20,8 等)。

示例模型 -

inputs=Input(shape = (None,128,157))  # tensor of shape (?,?,128,157)
x= CustomLayer(output_dim =10)(x)

这会引发错误

<块引用>

TypeError: 不支持 + 的操作数类型:'int' 和 'NoneType'

是否有任何解决方法来初始化可变大小的可训练权重?

0 个答案:

没有答案
相关问题