Altifigence Academy

3 / 24 · Konzept

Formen, Schrittweite, Auffüllung und Dilatation

Berechnen Sie für H=7,R=3, Schrittweite 2, obere Auffüllung 0, untere Auffüllung 1 und Dilatation 2 Ho und die Eingabekoordinate für h=1,r=2.

Die Formberechnung bestimmt die Adressierung

Die Schrittweite steuert den Abstand zwischen Ursprüngen der Ausgabefenster. Dilatation steuert den Abstand zwischen Proben innerhalb eines Kernels. Sie überspringen Eingabepositionen in unterschiedlichen Indextermen. Ein Kernel mit R Proben und Dilatation D überspannt D(R−1)+1 Positionen. Definieren Sie obere, untere, linke und rechte Auffüllung unabhängig. Diese Übungen verwenden ausdrückliche Auffüllung und abgerundete Ausgabegrößen statt einer angenommenen automatischen SAME-Konvention.

Ho=⌊H+Pt+Pb−Dh(R−1)−1Sh⌋+1H_o=\left\lfloor\frac{H+P_t+P_b-D_h(R-1)-1}{S_h}\right\rfloor+1

Ersetzen Sie für die Ausgabebreite Höhe und vertikale Parameter durch ihre horizontalen Gegenstücke. Unser Lehrmodell liefert Null Ausgabepositionen, wenn der effektive Kernel die aufgefüllte Eingabe übersteigt. Ein Produktionsoperator muss separat definieren, ob er einen leeren Tensor akzeptiert.

Durchgerechnete Beispiele

Bei H=5, R=3, Schrittweite 2, oberer und unterer Auffüllung eins und Dilatation eins beträgt die effektive Höhe drei. Die Ausgabehöhe ist floor((5+2−3)/2)+1=3. Dilatation zwei macht die effektive Höhe fünf und liefert Ausgabehöhe zwei. Die Schrittweite wurde nicht verändert; jedes Fenster überspannt jetzt einen größeren Bereich.

Bilden Sie eine Ausgabe- und eine Kernelkoordinate mit ih=h×S−Pt+r×D ab. Für h=1,r=2 liest die erste Konfiguration 3, die dilatierte 5. Gültige Eingabekoordinaten sind Null bis vier, daher liefert Koordinate fünf Auffüllung statt über das Array hinauszulesen. Auffüllung stellt reelle Null dar; rohe quantisierte Speicherung kann diese Null mit einem von Null verschiedenen Code kodieren.

Die lineare NCHW-Adresse ist ((nC+c)H+ih)W+iw. Für N=1,C=2,H=W=3 wird Koordinate (0,1,2,1) auf 16 in einem Tensor mit 18 Elementen abgebildet. Dies ist die mittlere Probe der letzten Zeile im zweiten Kanal. Das Vertauschen von Kanal- und Raumachsen erhält die Elementanzahl, verändert aber die Berechnung.

Bei G Gruppen müssen sowohl Eingabe- als auch Ausgabekanalanzahl durch G teilbar sein. Jede Ausgabe reduziert C/G Eingabekanäle ihrer Gruppe. Berechnen Sie Ausgabegrößen, erzeugen Sie Adressen und prüfen Sie jede Eingabegrenze in dieser Reihenfolge. Die offizielle ONNX-Conv-Spezifikation definiert die entsprechenden Attribute für ausdrückliche Auffüllung, Schrittweite, Dilatation und Gruppen.

Selbst ausprobieren

Berechnen Sie für H=7,R=3, Schrittweite 2, obere Auffüllung 0, untere Auffüllung 1 und Dilatation 2 Ho und die Eingabekoordinate für h=1,r=2.

Erklärung lesen

Die effektive Kernelhöhe beträgt fünf. Ho=floor((7+1−5)/2)+1=2. Die Eingabekoordinate ist 1×2+2×2=6, die letzte gültige Zeile.

Deine Auswahl gilt für diesen Browser. Du kannst sie jederzeit in der Fußzeile ändern.