Appendix I: XGen Supported DNN Operators
Operators Supported by DeepOpt Code Generation (for Android only)
(CPU and/or GPU mean that this operator can be efficiently executed on CPU and/or GPU, respectively. In an execution of a DeepOpt model, it chooses the GPU implementation of an operator first; if it is not supported, it uses the CPU implementation.)
Activation(CPU, GPU)Activation3D(CPU, GPU)AdaptivePooling(CPU, GPU)BatchNorm(CPU, GPU)BiasAdd(CPU, GPU)Deconv2D(CPU, GPU)DepthToSpace(GPU)DepthwiseConv2d(CPU, GPU)LSTM-dynamic(CPU)LSTM-nonlinear(CPU)LSTM-block-cell(CPU)ChannelShuffle(CPU, GPU)Clip(CPU, GPU)Concat(CPU, GPU)Conv2D(CPU, GPU)Conv3D(CPU, GPU)Eltwise(CPU, GPU)Eltwise3D(CPU, GPU)Expand(CPU, GPU)FullyConnected(CPU, GPU)Gather(CPU)Gemm(CPU, GPU)GRU(GPU)HardSigmoid(CPU, GPU) v1.0.28 or laterIdentity(CPU, GPU)InstanceNorm(CPU, GPU)MatMul(CPU, GPU)Pad(CPU, GPU)PixelShuffle(CPU, GPU)Pooling(CPU, GPU)Pooling3D(CPU, GPU)Reduce(CPU, GPU)Reshape(CPU, GPU)ResizeBicubic(CPU, GPU)ResizeBilinear(CPU, GPU)ResizeNearestNeighbor(CPU, GPU)Round(GPU) v1.0.28 or laterShape(CPU)Slice(CPU, GPU)Softmax(CPU, GPU)SpaceToDepth(GPU)Squeeze(CPU, GPU)Transpose(CPU, GPU)Unsqueeze(CPU)Upsample(CPU, GPU)TopK(CPU)NMS(CPU)RPN(CPU)
Operators Supported by Fallback Code Generation (for both Android and iOS)
Operators with Advanced Optimizations (All on GPU only)
AddConcatConstantConvConvTransposeFlattenGemmGlobalAveragePoolMaxPoolMulReluSigmoidSub
Other Supported Operators (All on GPU only)
AbsAcosAcoshAndArgMaxArgMinAsinAsinhAtanAtanhAveragePoolCeilCompressConstantOfShapeCosCoshDepthToSpaceDivDropoutEluEqualErfExpEyeLikeFloorGlobalLpPoolGlobalMaxPoolGreaterHardSigmoidHardmaxIfIsNaNLRNLeakyReluLessLogLogSoftmaxLoopLpNormalizationLpPoolMaxMaxUnpoolMeanMeanVarianceNormalizationMinMultinomialNegNonZeroNotOneHotOrPReluPowRandomNormalRandomNormalLikeRandomUniformRandomUniformLikeReciprocalScanScatterSeluShrinkSignSinSinhSizeSoftplusSoftsignSpaceToDepthSplitSqrtSumTanTanhTfIdfVectorizerTileWhereXor