Ninputplane in der räumlichen Konvolution in Taschenlampe nicht herausfinden?
Frage
Documentaion für die räumliche Faltung definieren es als
module = nn.SpatialConvolution(nInputPlane, nOutputPlane, kW, kH, [dW], [dH], [padW], [padH])
NInputplane: Die Anzahl der erwarteten Eingangsebenen im Bild, das in Forward () gegeben wurde.
Noutputplane: Die Anzahl der Ausgangsebenen, die die Faltungsschicht erzeugt.
Ich habe keine Erfahrung mit Torch, aber ich glaube, ich habe eine ähnliche Funktion in Keras verwendet
Convolution2D(64, 3, 3, border_mode='same', input_shape=(3, 256, 256))
Dies nimmt die Form des Bildes ein, das 256*256 in RGB beträgt.
Ich habe die Verwendung der räumlichen Faltung in Torch wie unten gelesen, kann aber nicht herausfinden, was der Paramer Ninputplane und Noutputplane entspricht?
local convLayer = nn.SpatialConvolutionMM(384, 384, 1, 1, 1, 1, 0, 0)
Was repräsentieren diese 384.384 im obigen Code?
Lösung
Die Ninputplane ist die Tiefe oder die Anzahl der Schichten des Eingabebildes. Bei RGB -Bildern sollte dies 3 sein, was der ersten Zahl in der entspricht input_shape=(3, 256, 256)
.
Das Noutputplane ist die Anzahl der Schichten des Volumens, die der Faltungsschritt erzeugt, was auch die Anzahl der auf die Eingabe angewendeten Filter/Kerne ist. Nach Konvention gibt es für jeden Filter eine Ausgangsschicht. Dies entspricht dem ersten Argument der Convolution2D
Funktion.