Frage

Ich bin fasziniert von Autoencodern und mag die Idee der Faltung wirklich. Es scheint jedoch, dass sowohl Theano als auch TensorFlow nur Konv2d unterstützen, um von einem Array von 2D-RGB (N 3D-Arrays) zu einer Reihe von Bildern mit höherem Tiefen zu gelangen. Das ist sinnvoll aus der traditionellen Tensorprodukt-Mathematik, c_ijkl = sum {a_ijk*b_klm}, bedeutet aber, dass es schwierig ist, ein Bild zu entfernen.

In beiden Fällen kann ich, wenn ich ein Bild habe (in #Batch, Tiefe, Höhe, Breite), eine Konvoke durchführen (#batch, num_filters, Höhe/K, Breite/K). Ich würde wirklich gerne das Gegenteil tun, wie von (#batch, einige_items, Höhe/K, Breite/K) bis (#batch, Tiefe, Höhe, Breite).

TensorFlow hatte die versteckte Deconv2d -Funktion für eine Weile (in 0,6, glaube ich, undokumentiert), aber ich würde gerne wissen, ob es einen Mathematiktrick gibt, mit dem ich in den letzten beiden Dimensionen nach einer Faltung eine größere Ausgabe erzielen kann als die Eingabe . Ich würde mich mit einer Reihe differenzierbarer Operationen zufrieden geben, z.

Bearbeiten: Ab heute (2016/02/17) TensorFlow 0.7 hat die Methode TF.Depth_to_space, die bei diesem Bestreben stark hilft. (https://www.tensorflow.org/api_docs/python/tf/depth_to_space) Ich würde auch eine theano -basierte Lösung lieben, um mein Verständnis des Materials zu vervollständigen.

War es hilfreich?

Lösung

Die Dinge haben sich im TensorFlow geändert, seit diese Frage gestellt wurde, aber hier ist ein Link zum Treiben conv2d_transpsis. Ich denke, das ist das, wonach Sie suchen

Andere Tipps

Vielleicht schauen Sie sich an Dies Post. Sie können eine Faltung durchführen, die eine Ausgabe ähnlicher Größe erzeugt und dann diese Maps "nicht" nicht "nicht" enthält.

Ich bin mir nicht sicher, ob Sie nach Filtergewichten in der dekonvolutionellen Schicht suchen, die an die entsprechende Faltungsschicht gebunden sind, aber entweder ist in Lasagne, die auf Theano läuft, möglich. Eine ungehinderte Implementierung der Entfaltungsschicht, die ein Bild gibt, das größer ist als die Eingabe: https://groups.google.com/forum/?hl=en#!topic/lasagne-users/9h6-mmnkhx0

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top