Ich versuche, ein Modell zu definieren, eine kompilieren, aber ich bin aus irgendeinem Grunde nicht in der Lage zu kompilieren oder dieses Modell definieren ...Objekt hat kein Attribut ‚inbound_nodes‘
def fws():
filter_size = 8
pooling_size = 6
stride_step = 2
J = 80
splits = 33
total_frames_with_deltas = 45
pool_splits = ((splits - pooling_size)+1)/2
print "pool_splits" + str(pool_splits)
print "Printing shapes"
list_of_input = [Input(shape=(8,3)) for i in range(splits*total_frames_with_deltas)]
output_convolution = []
for steps in range(total_frames_with_deltas):
conv = Conv1D(filters = J, kernel_size = 8)
column = 0
skip = 45
conv_output = []
for _ in range(splits):
conv_output.append(conv(list_of_input[(column*skip)+steps]))
column = column + 1
output_convolution.append((conv_output))
print len(output_convolution)
print len(output_convolution[0])
out = 0
output_conv = []
for row in range(splits):
for column in range(total_frames_with_deltas):
#print row
#print column
out = out + output_convolution[column][row]
output_conv.append(out)
output_con = Concatenate()(output_conv)
output_con = Reshape((splits,-1))(output_con)
pooled = MaxPooling1D(pool_size = pooling_size, strides = stride_step)(output_con)
print pooled.shape
#reshape = Reshape((3,-1))(pooled)
#fc
dense1 = Dense(units = 1000, activation = 'relu', name = "dense_1")(pooled)
dense2 = Dense(units = 1000, activation = 'relu', name = "dense_2")(dense1)
dense3 = Dense(units = 50 , activation = 'softmax', name = "dense_3")(dense2)
raw_input("Model definition ok!")
model = Model(inputs = list_of_input , outputs = dense3)
raw_input("Model definition with input/output")
model.compile(loss="categorical_crossentropy", optimizer='sgd' , metrics = [metrics.categorical_accuracy])
Dies ist der vollständige Fehler Nachricht:
File "keras_cnn_phoneme_original_fit_generator.py", line 231, in <module>
fws()
File "keras_cnn_phoneme_original_fit_generator.py", line 212, in fws
model = Model(inputs = list_of_input , outputs = dense3)
File "/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py", line 88, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 1676, in __init__
build_map_of_graph(x, finished_nodes, nodes_in_progress)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 1666, in build_map_of_graph
layer, node_index, tensor_index)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 1666, in build_map_of_graph
layer, node_index, tensor_index)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 1666, in build_map_of_graph
layer, node_index, tensor_index)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 1666, in build_map_of_graph
layer, node_index, tensor_index)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 1666, in build_map_of_graph
layer, node_index, tensor_index)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 1664, in build_map_of_graph
next_node = layer.inbound_nodes[node_index]
AttributeError: 'NoneType' object has no attribute 'inbound_nodes'
der Fehler scheint die Eingabe und Ausgabe des Netzwerks .. ich bin nicht sicher, warum .. Sowohl die Faltung und die Bündelung des Eingangs entwickelt wurde, um dann auftreten, wenn definieren zu handhaben .. also der Fehler macht für mich keinen Sinn?