问题描述
我收到此错误,但不确定为什么。
def f_stocks_embed_module(cat_input_embed_dim,batch_size):
'''
Returning a Model that can be used as a Layer within the broader Keras Model.
'''
X = Input(shape = (1,),batch_size = batch_size)
cat_input = Input(shape = (1,batch_size = batch_size)
cat_input_add = Embedding(input_dim = cat_input_embed_dim,output_dim = 1)(cat_input)
cat_input_mult = Embedding(input_dim = cat_input_embed_dim,output_dim = 1)(cat_input)
cat_input_add = Flatten()(cat_input_add)
cat_input_mult = Flatten()(cat_input_mult)
x = Multiply()([X,cat_input_mult])
x = Add()([x,cat_input_add])
x = Dense(1)(x)
x = Add()([X,x])
model = Model(inputs = [X,cat_input],outputs = x)
return(model)
color_embed_dim = 7
clarity_embed_dim = 8
batch_size = 20
dense1 = 2**7
dense2 = 2**8
dense3 = 2**9
dropout = 0.8
price_loss = 1
cut_loss = 1
activation= LeakyReLU()
batch_size = 20
threshold = 0.7
#====================================================================
# INPUTS
#====================================================================
#----------------------------------------------------------------
carat = Input(
shape= (1,batch_size= batch_size,name= 'carat'
)
#----------------------------------------------------------------
Color = Input(
shape= (1,name= 'color'
)
#----------------------------------------------------------------
Clarity = Input(
shape= (1,name= 'clarity'
)
#----------------------------------------------------------------
depth = Input(
shape= (1,name= 'depth'
)
#----------------------------------------------------------------
table = Input(
shape= (1,name= 'table'
)
#----------------------------------------------------------------
X = Input(
shape= (1,name= 'x'
)
#----------------------------------------------------------------
y = Input(
shape= (1,name= 'y'
)
#----------------------------------------------------------------
z = Input(
shape= (1,name= 'z'
)
#----------------------------------------------------------------
#====================================================================
# CONCATENATE FEATURES
#====================================================================
Y = Concatenate()([carat,depth,table,X,y,z])
#====================================================================
# DENSE NETWORK FOR BOTH PRICE AND CUT
#====================================================================
Y = Dense(dense1,activation = activation)(Y)
Y = Batchnormalization()(Y)
Y = Dense(dense2,activation = activation)(Y)
Y = Batchnormalization()(Y)
#====================================================================
# DENSE NETWORK TO PREDICT CUT
#====================================================================
x = Dense(dense3,activation = activation)(Y)
x = Batchnormalization()(x)
x = Dropout(dropout)(x)
#====================================================================
# PREDICTING CUT USING THE EMbedDINGS AND SKIP CONNECTIONS
# ====================================================================
x = Dense(1)(x)
#-------------------------------------------------------------
# THE EFFECT OF COLOR ON CUT
#-------------------------------------------------------------
model_embed_color_cut = f_stocks_embed_module(color_embed_dim,batch_size)
model_embed_clarity_cut = f_stocks_embed_module(clarity_embed_dim,batch_size)
x = model_embed_color_cut([x,Color])
# At this point the problem appears. Although my code is longer,for simplicity I cut it here and create a Model.
model = Model([carat,z],x)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-182-acd9c88f235b> in <module>
149
150
--> 151 model = Model([carat,x)
~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\keras\engine\training.py in __new__(cls,*args,**kwargs)
240 # Functional model
241 from tensorflow.python.keras.engine import functional # pylint: disable=g-import-not-at-top
--> 242 return functional.Functional(*args,**kwargs)
243 else:
244 return super(Model,cls).__new__(cls,**kwargs)
~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\training\tracking\base.py in _method_wrapper(self,**kwargs)
455 self._self_setattr_tracking = False # pylint: disable=protected-access
456 try:
--> 457 result = method(self,**kwargs)
458 finally:
459 self._self_setattr_tracking = prevIoUs_value # pylint: disable=protected-access
~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\keras\engine\functional.py in __init__(self,inputs,outputs,name,trainable)
113 # 'arguments during initialization. Got an unexpected argument:')
114 super(Functional,self).__init__(name=name,trainable=trainable)
--> 115 self._init_graph_network(inputs,outputs)
116
117 @trackable.no_automatic_dependency_tracking
~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\training\tracking\base.py in _method_wrapper(self,**kwargs)
458 finally:
459 self._self_setattr_tracking = prevIoUs_value # pylint: disable=protected-access
~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\keras\engine\functional.py in _init_graph_network(self,outputs)
189 # Keep track of the network's nodes and layers.
190 nodes,nodes_by_depth,layers,_ = _map_graph_network(
--> 191 self.inputs,self.outputs)
192 self._network_nodes = nodes
193 self._nodes_by_depth = nodes_by_depth
~\AppData\Roaming\Python\python37\site-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("color_9:0",shape=(20,1),dtype=float32) at layer "functional_29". The following prevIoUs layers were accessed without issue: ['concatenate_9','dense_34','batch_normalization_16','dense_35','batch_normalization_17','dense_36','batch_normalization_18','dropout_6','dense_37']
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)