Rockchip · AI & Linux Hub

KI-Inferenz

RKNN2 V2.5.0 · RV1103/RV1106:Grundlagen und Faltungen

RKNN2 V2.5.0 · RV1103/RV1106:Grundlagen und Faltungen · Vollständige Operatorparameter und Grenzen nach der Quelle V2.5.0.

· ArmSoM Editorial · Rockchip source documentation · 7 Min. Lesezeit

Diese Plattformreferenz für RKNN2 V2.5.0 unterstützt ArmSoM-Entwickler bei der Modellauswahl und -anpassung. Sie bestätigt keine Unterstützung auf allen ArmSoM-Platinen: SoC, tatsächliche Toolkit2-, Runtime-, NPU-Treiber- und BSP-Versionen müssen geprüft werden. Die Quelle nennt keine einheitliche Linux-Kernel-Version. Es wurden keine ArmSoM-Hardwaretests durchgeführt.

Quelle: die bereitgestellte chinesische und englische RKNN2 Supported Operators and Constraints Reference V2.5.0 mit 374 bzw. 384 Seiten. Chinesisch folgt der chinesischen Ausgabe; Englisch, Russisch und Deutsch folgen der englischen. Plattformgrenzen bleiben getrennt. Das englische PDF enthält chinesische I/O-Abbildungen und Ausgabetabellen; zusätzlich werden editierbare lokalisierte Tabellen bereitgestellt. Schreibweisen wie ConvTranpose und ursprüngliche LSTM/GRU-Gleichungen bleiben erhalten; die Formeln stellen keine Korrekturen der SDK-Implementierung dar.

Quellseiten: CN 175–184; EN 180–189.

Rockchip RKNN2

Operatorreferenz-Serie

RKNN2 V2.5.0 · RK3566/RK3568:Grundlagen und Faltungen

RKNN2 V2.5.0 · RK3566/RK3568:Rekurrente Netze, Arithmetik und Pooling

RKNN2 V2.5.0 · RK3566/RK3568:Formen, Slicing und Transposition

RKNN2 V2.5.0 · RK3566/RK3568:Aktivierungen, Normalisierung und Erweiterungen

RKNN2 V2.5.0 · RK3588:Grundlagen und Faltungen

RKNN2 V2.5.0 · RK3588:Rekurrente Netze, Arithmetik und Pooling

RKNN2 V2.5.0 · RK3588:Formen, Slicing und Transposition

RKNN2 V2.5.0 · RK3588:Aktivierungen, Normalisierung und Erweiterungen

RKNN2 V2.5.0 · RK3562:Grundlagen und Faltungen

RKNN2 V2.5.0 · RK3562:Rekurrente Netze, Arithmetik und Pooling

RKNN2 V2.5.0 · RK3562:Formen, Slicing und Transposition

RKNN2 V2.5.0 · RK3562:Aktivierungen, Normalisierung und Erweiterungen

RKNN2 V2.5.0 · RV1103/RV1106:Grundlagen und Faltungen

RKNN2 V2.5.0 · RV1103/RV1106:Rekurrente Netze, Arithmetik und Pooling

RKNN2 V2.5.0 · RV1103/RV1106:Formen, Slicing und Transposition

RKNN2 V2.5.0 · RV1103/RV1106:Aktivierungen, Normalisierung und Erweiterungen

RKNN2 V2.5.0 · RK3576/RV1126B:Grundlagen und Faltungen

RKNN2 V2.5.0 · RK3576/RV1126B:Rekurrente Netze, Arithmetik und Pooling

RKNN2 V2.5.0 · RK3576/RV1126B:Formen, Slicing und Transposition

RKNN2 V2.5.0 · RK3576/RV1126B:Aktivierungen, Normalisierung und Erweiterungen

RKNN2 V2.5.0 · RK2118:Grundlagen und Faltungen

RKNN2 V2.5.0 · RK2118:Rekurrente Netze, Arithmetik und Pooling

RKNN2 V2.5.0 · RK2118:Formen, Slicing und Transposition

RKNN2 V2.5.0 · RK2118:Aktivierungen, Normalisierung und Erweiterungen

RKNN2 V2.5.0 · RV1103B/RV1106B:Grundlagen und Faltungen

RKNN2 V2.5.0 · RV1103B/RV1106B:Rekurrente Netze, Arithmetik und Pooling

RKNN2 V2.5.0 · RV1103B/RV1106B:Formen, Slicing und Transposition

RKNN2 V2.5.0 · RV1103B/RV1106B:Aktivierungen, Normalisierung und Erweiterungen

RKNN2 V2.5.0 · Unterstützung und Grenzen der CPU-Operatoren

RKNN2 V2.5.0 · Unterstützung und Grenzen der GPU-Operatoren

RKNN2 V2.5.0 · Modell-I/O, Ausrichtung und Faltungsgrenzen

RV1103/RV1106

Add

Führt elementweise binäre Addition (C=A+B) mit multidirektionalem Broadcasting nach NumPy-Art aus.

Eingaben

  • A:T1,T2
    • shape:[batch,channel,height,width]
    • Quantisierungsunterstützung
      • per-layer
    • Broadcasting-Unterstützung
      • Broadcasting entlang beliebiger Dimensionen wird unterstützt.
      • Broadcasting-Einschränkungen wie beim Operator Expand.
  • B:T1,T2
    • shape:[batch,channel,height,width]
    • Quantisierungsunterstützung
      • per-layer
    • Broadcasting-Unterstützung
      • Broadcasting entlang beliebiger Dimensionen wird unterstützt.
      • Broadcasting-Einschränkungen wie beim Operator Expand.

Ausgaben

  • C:T1
    • shape:[batch,channel,height,width]
    • Quantisierungsunterstützung
      • per-layer

Datentypbeschränkungen

  • T1:int8(Tensor)
  • T2:float(constTensor)

AddRelu

Fusionierte Berechnung von Add und Relu, C=Relu(A+B).

Eingaben

  • Wie bei Add.

Ausgaben

  • Wie bei Add.

Weitere Unterstützung

  • Zusammenarbeit mehrerer Kerne: unterstützt.

BatchNormalization

Führt Batch-Normalisierung des Eingabetensors gemäß https://arxiv.org/abs/1502.03167 aus.

Eingaben

  • input:T1
    • shape:[batch,channel,height,width]
    • Quantisierungsunterstützung
      • per-layer

Ausgaben

  • output:T1
    • shape:[batch,channel,height,width]
    • Quantisierungsunterstützung
      • per-layer

Datentypbeschränkungen

  • T1:int8(Tensor),float16(Tensor)

Attribute

  • epsilon: float (Standardwert = 1e-5)
    • Reeller Wert, der beim Teilen durch die Standardabweichung eine Division durch 0 verhindert.
    • epsilon∈(0,∞]
  • momentum:float
    • Parameter des gleitenden Mittelwerts beim Training.

Concat

Verknüpft eine Folge von Vektoren entlang axis zu einem Vektor. Alle Dimensionen außer axis müssen übereinstimmen.

Eingaben

  • input_tensor:T
    • shape:[batch,channel,height,width]
    • Quantisierungsunterstützung
      • per-layer

Ausgaben

  • output:T
    • shape:[batch,channel,height,width]
    • Quantisierungsunterstützung
      • per-layer

Datentypbeschränkungen

  • T:int8(Tensor),float16(Tensor)

Attribute

  • axisint64
    • axis∈{0,1,2,3}

Faltung

Faltung

Eingaben

  • input_tensor:T1
    • shape:[batch,channel,height,width]
      • width: bei dilated_kernel_h>1 gilt width<16383. Zusätzliche Grenzen für die Eingangsbreite der ersten Schicht stehen in der Beschreibung der Modelleingaben.
    • Quantisierungsunterstützung
      • per-layer
  • weight:T1
    • shape:[output_channel,input_channel,kernel_h,kernel_w]
      • kernel_h∈[1,31]
      • kernel_w∈[1,31]
    • Quantisierungsunterstützung
      • per-layer
      • per-channel

Ausgaben

  • output:T1
    • shape:[batch,channel,height,width]
    • Quantisierungsunterstützung
      • per-layer

Attribute

  • strides:int(strides_h,strides_w)
    • stride_h∈[1,7]
    • stride_w∈[1,7]
  • pads:int(pads_top,pads_left,pads_bottom,pads_right)
    • pads_top∈[0,15]
    • pads_left∈[0,15]
    • pads_bottom∈[0,15]
    • pads_right∈[0,15]
  • group:int
  • dilations:int(dilations_h,dilations_w)
    • dilations_h∈[1,31]
    • dilations_w∈[1,31]

Datentypbeschränkungen

  • T1:int8(Tensor)

Depthwise Convolution

Tiefenseparierbare Faltung

Eingaben

  • input_tensor:T1
    • shape:[batch,channel,height,width]
      • width: bei dilated_kernel_h>1 gilt width<16383. Zusätzliche Grenzen für die Eingangsbreite der ersten Schicht stehen in der Beschreibung der Modelleingaben.
    • Quantisierungsunterstützung
      • per-layer
  • weight:T1
    • shape:[output_channel,input_channel,kernel_h,kernel_w]
      • kernel_h∈[1,8]
      • kernel_w∈[1,8]
    • Quantisierungsunterstützung
      • per-layer
      • per-channel

Ausgaben

  • output:T1
    • shape:[batch,channel,height,width]
    • Quantisierungsunterstützung
      • per-layer

Attribute

  • strides:int(strides_h,strides_w)
    • stride_h∈[1,7]
    • stride_w∈[1,7]
  • pads:int(pads_top,pads_left,pads_bottom,pads_right)
    • pads_top∈[0,15]
    • pads_left∈[0,15]
    • pads_bottom∈[0,15]
    • pads_right∈[0,15]
  • group:int
  • dilations:int(dilations_h,dilations_w)
    • dilations_h∈[1,32]
    • dilations_w∈[1,32]

Datentypbeschränkungen

  • T1:int8(Tensor)

ConvolutionRelu

Fusionierte Berechnung von Convolution und Relu, Output=Relu(Conv(Input)). Beschreibung und Spezifikationsgrenzen entsprechen Convolution.

ConvolutionClip

Fusionierte Berechnung von Convolution und Clip, Output=Clip(Conv(Input)). Beschreibung und Spezifikationsgrenzen entsprechen Convolution.

ConvolutionPRelu/LeakyRelu

Fusionierte Berechnung von Convolution und PRelu/LeakyRelu, Output = PRelu(Conv(Input)) oder Output = LeakyRelu(Conv(Input)). Beschreibung und Spezifikationsgrenzen entsprechen Convolution.

ConvolutionAdd

Fusionierte Berechnung von Convolution und Add, Output=Add(Conv(Input0),Input1). Beschreibung und Spezifikationsgrenzen entsprechen Convolution.

ConvolutionSigmoid

Fusionierte Berechnung von Convolution und Sigmoid, Output=Sigmoid(Conv(Input)). Beschreibung und Spezifikationsgrenzen entsprechen Convolution.

ConvolutionTanh

Fusionierte Berechnung von Convolution und Tanh, Output=Tanh(Conv(Input)). Beschreibung und Spezifikationsgrenzen entsprechen Convolution.

ConvolutionSoftplus

Fusionierte Berechnung von Convolution und Softplus, Output=Softplus(Conv(Input)). Beschreibung und Spezifikationsgrenzen entsprechen Convolution.

ConvolutionHardSigmoid

Fusionierte Berechnung von Convolution und HardSigmoid, Output=HardSigmoid(Conv(Input)). Beschreibung und Spezifikationsgrenzen entsprechen Convolution.

ConvolutionHardSwish

Fusionierte Berechnung von Convolution und HardSwish, Output=HardSwish(Conv(Input)). Beschreibung und Spezifikationsgrenzen entsprechen Convolution.

ConvolutionElu

Fusionierte Berechnung von Convolution und Elu, Output=Elu(Conv(Input)). Beschreibung und Spezifikationsgrenzen entsprechen Convolution.

ConvolutionSwish

Fusionierte Berechnung von Convolution und Swish, Output=Swish(Conv(Input)). Beschreibung und Spezifikationsgrenzen entsprechen Convolution.

ConvolutionMish

Fusionierte Berechnung von Convolution und Mish, Output=Mish(Conv(Input)). Beschreibung und Spezifikationsgrenzen entsprechen Convolution.

ConvolutionAddRelu

Fusionierte Berechnung von Convolution und Add und Relu, Output=Relu(Add(Conv(Input0),Input1)). Beschreibung und Spezifikationsgrenzen entsprechen Convolution.

ConvTranspose

Transponierte Faltung

Eingaben

  • input_tensor:T1
    • shape:[batch,channel,height,width]
      • width: bei dilated_kernel_h>1 gilt width<16383. Zusätzliche Grenzen für die Eingangsbreite der ersten Schicht stehen in der Beschreibung der Modelleingaben.
  • Quantisierungsunterstützung
    • per-layer
  • weight:T1
    • shape:[output_channel,input_channel,kernel_h,kernel_w]
      • kernel_h∈[1,31]
      • kernel_w∈[1,31]
    • Quantisierungsunterstützung
      • per-layer
      • per-channel

Ausgaben

  • output:T1
    • shape:[batch,channel,height,width]
    • Quantisierungsunterstützung
      • per-layer

Attribute

  • strides:int(strides_h,strides_w)
    • stride_h∈[1,8]
    • stride_w∈[1,8]
  • pads:int(pads_top,pads_left,pads_bottom,pads_right). Beim Festlegen von pad werden folgende Fälle nicht unterstützt: kernel_hdilations_h-dilations_h-pads_top<0; kernel_wdilations_w-dilations_w-pads_left<0; stride_h(height-1)-pads_top+1<output_h; stride_w(width-1)-pads_left+1<output_w.
    • pads_top∈[0,15]
    • pads_left∈[0,15]
    • pads_bottom∈[0,15]
    • pads_right∈[0,15]
  • group:int
    • group: nur 1 wird unterstützt; num_output ist genau dann unterstützt, wenn num_input=num_output.
  • dilations:int(dilations_h,dilations_w)
    • dilations_h∈[1,32]
    • dilations_w∈[1,32]
    • Bei dilation ungleich (1,1) wird nur kernel=(1,1) unterstützt.

Datentypbeschränkungen

  • T1:int8(Tensor)

ConvTranposeRelu

Fusionierte Berechnung von ConvTranspose und Relu, Output=Relu(ConvTranspose(Input)). Beschreibung und Spezifikationsgrenzen entsprechen ConvTranspose.

ConvTranposeClip

Fusionierte Berechnung von ConvTranspose und Clip, Output=Clip(ConvTranspose(Input)). Beschreibung und Spezifikationsgrenzen entsprechen ConvTranspose.

ConvTranposePRelu/LeakyRelu

Fusionierte Berechnung von ConvTranspose und PRelu/LeakyRelu, Output=PRelu(ConvTranspose(Input)) oder Output= LeakyRelu(ConvTranspose(Input)). Beschreibung und Spezifikationsgrenzen entsprechen ConvTranspose.

ConvTranposeAdd

Fusionierte Berechnung von ConvTranspose und Add, Output=Add(ConvTranspose(Input0),Input1). Beschreibung und Spezifikationsgrenzen entsprechen ConvTranspose.

ConvTranposeSigmoid

Fusionierte Berechnung von ConvTranspose und Sigmoid, Output=Sigmoid(ConvTranspose(Input)). Beschreibung und Spezifikationsgrenzen entsprechen ConvTranspose.

ConvTranposeTanh

Fusionierte Berechnung von ConvTranspose und Tanh, Output=Tanh(ConvTranspose(Input)). Beschreibung und Spezifikationsgrenzen entsprechen ConvTranspose.

ConvTranposeSoftplus

Fusionierte Berechnung von ConvTranspose und Softplus, Output=Softplus(ConvTranspose(Input)). Beschreibung und Spezifikationsgrenzen entsprechen ConvTranspose.

ConvTranposeHardSigmoid

Fusionierte Berechnung von ConvTranspose und HardSigmoid, Output=HardSigmoid(ConvTranspose(Input)).

ConvTranposeHardSwish

Fusionierte Berechnung von ConvTranspose und HardSwish, Output=HardSwish(ConvTranspose(Input)). Beschreibung und Spezifikationsgrenzen entsprechen ConvTranspose.

ConvTranposeElu

Fusionierte Berechnung von ConvTranspose und Elu, Output=Elu(ConvTranspose(Input)). Beschreibung und Spezifikationsgrenzen entsprechen ConvTranspose.

ConvTranposeSwish

Fusionierte Berechnung von ConvTranspose und Swish, Output=Swish(ConvTranspose(Input)). Beschreibung und Spezifikationsgrenzen entsprechen ConvTranspose.

ConvTranposeMish

Fusionierte Berechnung von ConvTranspose und Mish, Output=Mish(ConvTranspose(Input)). Beschreibung und Spezifikationsgrenzen entsprechen ConvTranspose.

Dieses Thema entdecken → · Lernpfade →