Ich möchte ein bedingtes CNN-Modell in Tensorflow bauen, aber ich habe einige Probleme damit gefunden.Wie CNN-Modell mit wechselnden Frames in Tensorflow generieren?
Angenommen, es eine Matrix Merkmale mit Form benannt ist [64,? 50, 1], und eine andere Matrix Bedingungen mit Form benannt [64,?, 1, 130].
Das erste Dim ist die Losgröße, und das zweite Dim bedeutet die Rahmennummer (der Wert in diesem Dim der beiden Matrizen ist in jeder Charge gleich, aber unterschiedlich in verschiedenen Chargen). Die dritte ist die Merkmaldimension und die letzte Helligkeit ist die Kanalnummer.
Ich möchte die beiden Matrix verketten, das bedeutet, dass wir eine Matrix mit Form erhalten können [64,?, 50, 131] und tun conv2d in tensorflow.
Aber das Problem ist, dass ich diese zwei Matrizen wegen der Differenz in der dritten Dim nicht concat kann. Dann habe ich folgendes gemacht:
x_shapes = x.get_shape()
y_shapes = y.get_shape()
return tf.concat(3, [x, y*tf.ones([x_shapes[0], x_shapes[1], x_shapes[2], y_shapes[3]])])
Aber es funktioniert nicht, weil das zweite Dim nicht bekannt ist.
Ich frage mich, gibt es eine Möglichkeit, dieses Problem zu lösen?
Dank
Sorry für die späte Antwort wegen des chinesischen neuen Jahres. Vielen Dank für Ihre freundliche Antwort, und Ihre Antwort funktioniert sehr gut. Danke noch einmal! –