【发布时间】:2021-12-22 06:58:40
【问题描述】:
我正在尝试构建以下论文中介绍的网络:link
基本上,自动编码器是其他两个模型的组合,嵌入器和恢复器如下所述:
X = Input(shape=[TIMESTEPS, FEAT], batch_size=BATCH_SIZE, name='RealData')
def recovery(self, H):
L1 = LSTM(HIDDEN_NODES, return_sequences=True)(H)
L2 = LSTM(HIDDEN_NODES, return_sequences=True)(L1)
L3 = LSTM(HIDDEN_NODES, return_sequences=True)(L2)
O = Dense(OUTPUT_NODES, activation='sigmoid', name='OUTPUT')(L3)
return O
def embedder(self, X):
L1 = LSTM(HIDDEN_NODES, return_sequences=True)(X)
L2 = LSTM(HIDDEN_NODES, return_sequences=True)(L1)
L3 = LSTM(HIDDEN_NODES, return_sequences=True)(L2)
O = Dense(HIDDEN_NODES, activation='sigmoid')(L3)
return O
最后,将它们与以下几行结合起来:
H = self.embedder(X)
X_tilde = self.recovery(H)
self.autoencoder = Model(inputs=X, outputs=X_tilde)
显示自动编码器的.summary 我有以下内容:
然后出现以下错误:
var_list = self.embedder.trainable_variables + self.recovery.trainable_variables
AttributeError: 'function' object has no attribute 'trainable_variables'
我做错了什么?
我复制的基线代码可以在here找到
【问题讨论】:
标签: python tensorflow keras keras-layer