【发布时间】:2020-10-13 05:10:00
【问题描述】:
我是 TensorFlow 的新手。我想将一层与另一层连接起来,其中只有相应的神经元通过权重相互连接,如下所示。这意味着上一层的所有神经元都没有连接到下一层的神经元。
现在我用 wixi 获得了 4 个神经元。此外,我需要添加所有这些输出以获得单个值。现在我想将此单个值传递给大小为 4 的密集层,以完成自动编码器操作。 我已经为 wixi 操作创建了我的自定义层,并且我正确地得到了它,但是当我在添加后应用正常的密集层时,我得到以下错误:
''' ValueError:dense_15 层的输入 0 与该层不兼容::预期 min_ndim=2,发现 ndim=1。收到的完整形状:[100] ''' 以下是我的自定义层和模型代码-
类Layer_w_x(tf.keras.layers.Layer):
def __init__(self):
super(Layer_w_x, self).__init__()
def build(self, input_shape):
self.w = self.add_weight(shape=(input_shape[-1],),
initializer="random_normal", trainable=True)
def call(self, inputs):
return tf.multiply(inputs, self.w)
类 MyModel(Model):
def __init__(self, **kwargs):
super(MyModel, self).__init__(**kwargs)
self.layer_1 = Layer_w_x()
self.dense = Dense(4,activation = 'sigmoid')
def call(self, inputs):
# CALCULATION FOR FIRST NEURON
h1 = self.layer_1(inputs)
h4 = tf.reduce_sum(h1,1)
encoded = self.dense(h4)
return encoded
model = MyModel()
输出 =model(my_train_data1)
my_train_data1 的大小为 (100,4)
【问题讨论】:
标签: tensorflow connection sparse-matrix