Wie wiederhole ich einen Tensor in einer for-Schleife? ..Iterate einen Tensor in einer for-Schleife?
Ich möchte Faltung auf jeder Zeile meines input_tensor tun ... aber kann nicht scheinen, in einem Tensor zu iterieren.
Zeit, um es wie diese versuchen:
def row_convolution(input):
filter_size = 8
print input.dtype
print input.get_shape()
for units in xrange(splits):
extract = input[units:units+filter_size,:,:]
for row_of_extract in extract:
for unit in row_of_extract:
temp_list.append((Conv1D(filters = 1, kernel_size = 1, activation='relu' , name = 'conv')(unit)))
print len(temp_list)
sum_temp_list.append(sum(temp_list))
sum_sum_temp_list.append(sum(sum_temp_list))
conv_feature_map.append(sum_sum_temp_list)
return np.array(conv_feature_map)
Ich baue mein Modell in Keras, die oben auf Tensorflow ist. Ich verwende eine Lamdba-Ebene, um eine Ebene in Keras zu definieren, um diese Operation auszuführen .. das ist, was die Funktion, die ich verwende .. Ich bin nicht ganz sicher, ob das, was ich tue, sogar in Keras oder Tensorflow-Frameworks legal ist ... Es muss sein anwendbar in Keras .. so vermute ich, dass ich einen Fehler beim Hinzufügen von Tensorflow-Label gemacht habe. –
Ich möchte es nicht trainieren. Ich will nur Daten, wie sie über die Conv1d formatiert werden und dann ausgegeben werden. –
Gleiches Prinzip gilt, Sie müssen Ihr Diagramm definieren und dann 'sess.run (...)' verwenden. Wenn Sie nur Inferenz machen, werden Sie das OP nicht anfordern, sondern Sie werden ein OP anfordern, das das gewünschte Ergebnis liefert. Tensorflow wird sich nicht mit Backprop und Optimierung beschäftigen, wenn Sie das nicht wünschen Rückgabewert. Wenn Sie das Modell bereits trainiert haben, laden Sie einen Prüfpunkt, definieren Sie also Ihre Modellkomponenten, laden Sie den Prüfpunkt, berühren Sie ihn nicht und geben Sie das Modell mit 'sess.run' an –