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 278–285; EN 286–293.
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
RK2118
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:float16(Tensor)
- T2:float(constTensor)
AddRelu
Fusionierte Berechnung von Add und Relu, C=Relu(A+B).
Eingaben
- Wie bei Add.
Ausgaben
- Wie bei Add.
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: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: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
- shape:[batch,channel,height,width]
- 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
- shape:[output_channel,input_channel,kernel_h,kernel_w]
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:float16(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
- shape:[batch,channel,height,width]
- 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
- shape:[output_channel,input_channel,kernel_h,kernel_w]
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:float16(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.
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.
- shape:[batch,channel,height,width]
- 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
- shape:[output_channel,input_channel,kernel_h,kernel_w]
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:float16(Tensor)
