Altifigence Academy

3 / 24 · Conceito

Dimensões, passo, preenchimento e dilatação

Para H=7,R=3,passo 2,preenchimento superior 0,inferior 1,dilatação 2, calcule Ho e a coordenada de entrada para h=1,r=2.

O cálculo das dimensões orienta o endereçamento

O passo controla a separação entre as origens das janelas de saída. A dilatação controla a separação entre as amostras dentro de um kernel. Eles pulam posições da entrada em termos de índices diferentes. Um kernel de R amostras com dilatação D abrange D(R−1)+1 posições. Especifique o preenchimento superior, inferior, esquerdo e direito independentemente. Estes exercícios usam preenchimento explícito e tamanhos de saída baseados na função piso, em vez de pressupor uma convenção SAME automática.

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

Substitua a altura e os parâmetros verticais por seus equivalentes horizontais para obter a largura de saída. Nosso modelo didático retorna zero posições de saída quando o kernel efetivo excede a entrada preenchida. Um operador de produção deve definir separadamente se aceita um tensor vazio.

Exemplos resolvidos

Com H=5, R=3, passo 2, preenchimento superior e inferior um e dilatação um, a altura efetiva é três. A altura de saída é floor((5+2−3)/2)+1=3. Alterar a dilatação para dois torna a altura efetiva cinco e produz altura de saída dois. O passo não mudou; cada janela agora abrange uma região maior.

Mapeie uma coordenada de saída e uma de kernel usando ih=h×S−Pt+r×D. Para h=1,r=2, a primeira configuração lê 3. A configuração dilatada lê 5. As coordenadas válidas da entrada vão de zero a quatro, portanto a coordenada cinco fornece preenchimento em vez de ler além do arranjo. O preenchimento representa zero real; o armazenamento quantizado bruto pode codificar esse zero com um código diferente de zero.

O endereço linear NCHW é ((nC+c)H+ih)W+iw. Para N=1,C=2,H=W=3, a coordenada (0,1,2,1) mapeia para 16 em um tensor de 18 elementos. Ela é a amostra central da última linha do segundo canal. Trocar os eixos de canal e espaciais preserva a quantidade de elementos, mas muda o cálculo.

Com G grupos, as quantidades de canais de entrada e saída devem ser divisíveis por G. Cada saída reduz C/G canais de entrada pertencentes ao seu grupo. Calcule os tamanhos de saída, gere os endereços e verifique cada limite da entrada, nessa ordem. A especificação oficial do operador Conv do ONNX define os atributos correspondentes de preenchimento explícito, passo, dilatação e grupos.

Experimente

Para H=7,R=3,passo 2,preenchimento superior 0,inferior 1,dilatação 2, calcule Ho e a coordenada de entrada para h=1,r=2.

Ler a explicação

A altura efetiva do kernel é cinco. Ho=floor((7+1−5)/2)+1=2. A coordenada de entrada é 1×2+2×2=6, a última linha válida.

Sua escolha vale neste navegador. Altere-a a qualquer momento no rodapé.