Ich brauche jetzt, wie Daten in einer 1d Faltungsschicht aufgefüllt werden, die Keras mit Theano als Backend verwendet. Ich benutze eine "gleiche" Polsterung.Padding mit gleichmäßiger Kerngröße in einer Faltungsschicht in Keras (Theano)
Angenommen, wir haben ein output_length
von 8 und ein kernel_size
von 4. Nach the original Keras code wir haben padding
von 8 // 4 == 2. Wenn jedoch das Hinzufügen von zwei Nullen am linken und rechten Ende meiner horizontalen Daten, Ich könnte 9 Faltungen anstelle von 8 berechnen.
Kann mir jemand erklären, wie Daten gepolstert werden? Wo werden Nullen hinzugefügt und wie berechne ich die Anzahl der Füllwerte auf der rechten und linken Seite meiner Daten?
Dank der Anwendung. Ich bin mir der Auswirkungen von padding = "same" bewusst. Allerdings muss ich genau wissen, wie das Padding aussieht, wenn wir einen Kernel mit einer geraden Größe haben. Im Tensorflow wird die Füllung abwechselnd auf der rechten Seite verteilt (siehe zweite Antwort hier: http://stackoverflow.com/questions/37674306/what-is-the-difference-between-same-and-valid) -padding-in-tf-nn-max-pool-von-t). – null
Siehe den Test am Ende meiner Antwort, es wird sicherlich Ihre Frage beantworten. –
Sind Sie sicher, dass Sie die Ausgabe von Conv2d aufrufen können? Ihr Testbeispiel kann nicht auf meinem Computer ausgeführt werden. – null