2017-02-15 1 views
0

ich eine Faltungsschicht wie so durch eine Entfaltungs Schicht gefolgt bin mit:Convolution-Entfaltungs Paar gibt etwas andere Dimensionalität

tf.nn.conv2d(num_outputs=1, kernel_size=[21, 11], stride=[2, 2], padding="SAME", rate=1) 

tf.nn.conv2d_transpose(num_outputs=1, kernel_size=[21, 11], stride=[2, 2], padding="SAME") 

Meine Idee ist, das anfängliche Bild kleiner zu machen, es dann auf seine ursprüngliche Größe bringen mit die Entfaltung. Ich benutze tatsächlich die tf.slim-Funktionen, aber die Argumente sind die oben genannten.

Als ich am Eingang und Ausgang suchen, ich habe einen kleinen Unterschied:

Input shape : (16, 161, 511, 1) 
Output shape: (16, 162, 512, 1) 

Ich denke, es ist wegen meiner Schrittgröße oder Korngröße sein könnte. Ich habe mehrere Werte ausprobiert, aber keiner scheint die ursprünglichen Abmessungen zu reproduzieren.

+0

Wenn Sie das Image erneut sichern, müssen Sie ganzzahlige Vielfache verwenden, sodass Sie nicht genau auswählen können, wie groß das Ausgabebild ist. – drpng

+0

Der einzige Weg für mich war, die Ausgabe auf die Eingabegröße zu reduzieren, nicht viel verloren, aber ich hoffte auf eine andere Art und Weise. – Qubix

Antwort

0

Eine beliebte Methode besteht darin, das Eingabebild so aufzufüllen, dass die Ausgabe nach der Faltung und Dekonvolution dieselbe Größe wie die aufgefüllte Eingabe hat. Dann beschneiden Sie die Ausgabe, um die ursprüngliche Eingabe ohne die Auffüllung anzupassen.

Verwandte Themen