问题描述
class F(keras.Model):
def __init__(self,K):
super(F,self).__init__()
self.prev_state = [tf.zeros([128,64]),tf.zeros([128,64])]
self.K=K
self.rnn_cell = layers.LSTMCell(64)
def call(self,XHat,g_embedding):
prev_state = self.prev_state
for step in range(self.K):
output,state = self.rnn_cell(XHat,prev_state)
h_k = tf.add(output,XHat)
content_based_attention = tf.nn.softmax(
tf.multiply(prev_state[1],g_embedding))
r_k = tf.reduce_sum(tf.multiply(content_based_attention,g_embedding),axis=0)
prev_state = [state[0],tf.add(h_k,r_k)]
return output
f=F(10)
f.build(input_shape=(None,64))
我想构建一个模型,该模型需要将两个参数传递给'call'函数,输入序列'XHat'(64,)和'g_embedding',这是另一个模型的输出,但是在运行后出现以下错误。 / p>
ValueError:当前,如果模型的位置或关键字参数不是模型的输入,而是
call
方法所必需的,则无法构建模型。相反,为了实例化和构建模型,请在具有所有预期调用参数的实际张量数据上call
构建模型。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)