如何解决Keras Graph断开连接,嵌入了多个输入
这是我要构建的模型: 一个具有4个输入的模型,这些输入将它们嵌入并放入计分结果中
import numpy as np
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
H = keras.Input(shape=(1,),name="H")
R = keras.Input(shape=(1,name="R")
T = keras.Input(shape=(1,name="T")
N = keras.Input(shape=(1,name="N")
embedding = keras.layers.Embedding(10000,100)
embedding_r = keras.layers.Embedding(1000,100)
H = embedding(H)
R = embedding_r(R)
T = embedding(T)
N = embedding(N)
H = keras.layers.Flatten()(H)
R = keras.layers.Flatten()(R)
T = keras.layers.Flatten()(T)
N = keras.layers.Flatten()(N)
H_plus_R = keras.layers.Concatenate()([H,R])
T_plus_N = keras.layers.Concatenate()([N,T])
H_plus_R = keras.layers.Dense(100,activation='relu')(H_plus_R)
T_plus_N = keras.layers.Dense(100,activation='relu')(T_plus_N)
score = keras.layers.Concatenate()([T_plus_N,H_plus_R])
score = keras.layers.Dense(1,activation='relu')(score)
model = tf.keras.Model(
inputs=[H,R,T,N],outputs=score,)
model.summary()
我明白了,这意味着输入和输出没有连接,但是它们是:
ValueError Traceback (most recent call last)
<ipython-input-8-90804bccaf4f> in <module>()
32 model = tf.keras.Model(
33 inputs=[H,---> 34 outputs=score,35 )
36
5 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/functional.py in _map_graph_network(inputs,outputs)
929 'The following previous layers '
930 'were accessed without issue: ' +
--> 931 str(layers_with_complete_input))
932 for x in nest.flatten(node.outputs):
933 computable_tensors.add(id(x))
ValueError: Graph disconnected: cannot obtain value for tensor Tensor("R_7:0",shape=(None,1),dtype=float32) at layer "embedding_13". The following previous layers were accessed without issue: []
我该如何解决?
解决方法
嵌入输入后,您将覆盖H
,R
,T
和N
,并尝试使用其他变量名
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。