INFO: Actual implementations may differ from reference link in terms of dimensions and parameters supported
TIM-VX API | Internal Op | Status | Reference |
---|---|---|---|
Add | ADD | Mapped | tf.math.add |
Multiply | MULTIPLY | Mapped | tf.math.multiply |
Conv2d | CONV2D | Mapped | tf.nn.conv2d tf.nn.atros_conv2d tf.nn.depthwise_conv2d |
Conv3d | CONV3D | Mapped | tf.nn.conv3d |
Softmax | SOFTMAX | Mapped | tf.nn.softmax |
Pool2d | POOL | Mapped | tf.nn.pool |
Pool1d | POOL | Mapped | tf.nn.pool |
LeakyRelu | LEAKY_RELU | Mapped | tf.nn.leaky_relu |
Concat | CONCAT | Mapped | tf.concat |
Split | SPLIT | Mapped | tf.split |
BatchNorm | BATCH_NORM | Mapped | tf.nn.batch_normalization |
DeConv2d | DECONVOLUTION | Mapped | tf.nn.conv2d_transpose |
Reshape | RESHAPE | Mapped | tf.reshape |
Transpose | PERMUTE | Mapped | tf.transpose |
Prelu | PRELU | Mapped | tf.keras.layers.PReLU |
MaxUnpool2d | UPSAMPLE | Mapped | tfa.layers.MaxUnpooling2D |
Relu | RELU | Mapped | tf.nn.relu |
Reorg | REORG | Mapped | darknet.reorg |
L2Normalization | L2_NORMALIZE | Mapped | tf.math.l2_normalize |
FullyConnected | FCL2 | Mapped | tf.keras.layers.Dense |
Dense | FCL | Mapped | tf.keras.layers.Dense |
MaxpoolWithArgmax | POOLWITHARGMAX | Mapped | tf.nn.max_pool_with_argmax |
MaxpoolWithArgmax2 | MAXPOOLWITHARGMAX | Mapped | tf.nn.max_pool_with_argmax |
ArgMax | ARGMAX | Mapped | tf.math.argmax |
Maximum | MAXIMUM | Mapped | tf.math.maximum |
Sub | SUBTRACT | Mapped | tf.math.subtract |
Relu6 | RELU6 | Mapped | tf.nn.relu6 |
Sigmoid | SIGMOID | Mapped | tf.math.sigmoid |
Tanh | TANH | Mapped | tf.math.tanh |
Sqrt | SQRT | Mapped | tf.math.sqrt |
Rsqrt | RSQRT | Mapped | tf.math.rsqrt |
SoftRelu | SOFTRELU | Mapped | tf.math.softplus |
Div | DIVIDE | Mapped | tf.math.divide |
Dropout | DROPOUT | Mapped | f(x) = x*ratio |
Resize | RESIZE | Mapped | tf.image.resize |
Reverse | REVERSE | Mapped | tf.reverse |
DepthToSpace | DEPTH2SPACE | Mapped | tf.nn.depth_to_space |
SpaceToDepth | SPACE2DEPTH | Mapped | tf.nn.space_to_depth |
DataConvert | DATACONVERT | Mapped | Data Format Conversion |
Slice | SLICE | Mapped | tf.slice |
Elu | ELU | Mapped | tf.nn.elu |
Batch2Space | BATCH2SPACE | Mapped | tf.batch_to_space |
Space2Batch | SPACE2BATCH | Mapped | tf.space_to_batch |
Pad | PAD | Mapped | tf.pad |
Matmul | MATRIXMUL | Mapped | tf.linalg.matmul |
PadV2 | PAD2 | Mapped | tf.raw_ops.PadV2 |
Matmul | MATRIXMUL | Mapped | tf.linalg.matmul |
LayerNormalization | LAYER_NORM | Mapped | tf.keras.layers.LayerNormalization |
ReduceMin | REDUCE_MIN | Mapped | tf.math.reduce_min |
ReduceMax | REDUCE_MAX | Mapped | tf.math.reduce_max |
ReduceAny | REDUCE_ANY | Mapped | tf.math.reduce_any |
ReduceProd | REDUCE_PROD | Mapped | tf.math.reduce_prod |
ReduceMean | REDUCE_MEAN | Mapped | tf.math.reduce_mean |
ReduceAll | REDUCE_ALL | Mapped | tf.math.reduce_all |
ReduceSum | REDUCE_SUM | Mapped | tf.math.reduce_sum |
InstanceNormalization | INSTANCE_NORM | Mapped | tfa.layers.InstanceNormalization |
StridedSlice | STRIDED_SLICE | Mapped | tf.strided_slice |
Abs | ABS | Mapped | tf.math.abs |
Conv1d | CONV1D | Mapped | tf.nn.conv1d |
NBG | NBG | Mapped | Network Binary Graph |
LocalResponseNormalization | LRN2 | Mapped | tf.nn.local_response_normalization |
Greater | RELATIONAL_OPS_GREATER | Mapped | tf.math.greater |
GreaterOrEqual | RELATIONAL_OPS_GREATER_EQUAL | Mapped | tf.math.greater_equal |
Less | RELATIONAL_OPS_LESS | Mapped | tf.math.less |
LessOrEqual | RELATIONAL_OPS_LESS_EQUAL | Mapped | tf.math.less_equal |
Equal | RELATIONAL_OPS_EQUAL | Mapped | tf.math.equal |
NotEqual | RELATIONAL_OPS_NOT_EQUAL | Mapped | tf.math.not_equal |
Pow | POW | Mapped | tf.math.pow |
FloorDiv | FLOORDIV | Mapped | tf.math.floordiv |
Minimum | MINIMUM | Mapped | tf.math.minimum |
And | LOGICAL_OPS | Mapped | tf.math.logical_and |
Or | LOGICAL_OPS | Mapped | tf.math.logical_or |
Select | SELECT | Mapped | tf.where |
Relu1 | RELU1 | Mapped | tf.keras.layers.ReLU(max_value=1.0) |
Stack | STACK | Mapped | tf.stack |
Floor | FLOOR | Mapped | tf.math.floor |
Square | SQUARE | Mapped | tf.math.square |
Neg | NEG | Mapped | tf.math.negative |
Exp | EXP | Mapped | tf.math.exp |
Clip | CLIP | Mapped | tf.clip_by_value |
AddN | ADDN | Mapped | tf.math.add_n |
Gather | GATHER | Mapped | tf.gather |
Gather_elements | GATHER_ELEMENTS | Mapped | onnx/GatherElements |
LogicalNot | LOGICAL_NOT | Mapped | tf.math.logical_not |
Sin | SIN | Mapped | tf.math.sin |
Log | LOG | Mapped | tf.math.log |
ArgMin | ARGMIN | Mapped | tf.math.argmin |
LogSoftmax | LOG_SOFTMAX | Mapped | tf.nn.log_softmax |
Swish | SWISH | Mapped | tf.keras.activations.swish |
HardSwish | SWISH | Mapped | torch.nn.Hardswish |
GatherNd | GATHER_ND | Mapped | tf.gather_nd |
Cast | CAST | Mapped | tf.cast |
Moments | MOMENTS | Mapped | tf.moments |
Squeeze | SQUEEZE | Mapped | tf.squeeze |
HardSigmoid | HARD_SIGMOID | Mapped | tf.keras.activations.hard_sigmoid |
Mish | MISH | Mapped | tfa.activations.mish |
DeConv1d | DECONVOLUTION1D | Mapped | tf.nn.conv1d_transpose |
Resize1d | RESIZE_1D | Mapped | Onnx.resize 1D image |
Linear | LINEAR | Mapped | tf.keras.activations.linear |
ScatterND | SCATTER_ND | Mapped | tf.scatter_nd |
Unstack | UNSTACK | Mapped | tf.unstack |
Tile | TILE | Mapped | tf.tile |
GroupedConv2d | GROUPED_CONV2D | Mapped | ANEURALNETWORKS_GROUPED_CONV_2D |
SpatialTransformer | SPATIAL_TRANSFORMER | Mapped | SpatialTransformer |
ShuffleChannel | SHUFFLECHANNEL | Mapped | ANEURALNETWORKS_CHANNEL_SHUFFLE |
Gelu | GELU | Mapped | tf.nn.gelu |
Svdf | SVDF | Mapped | ANEURALNETWORKS_SVDF |
Erf | ERF | Mapped | tf.math.erf |
GroupedConv1d | GROUPED_CONV1D | Mapped | tf.keras.layers.Conv1D |
SignalFrame | SIGNAL_FRAME | Mapped | tf.signal.frame |
RNNCell | RNNCELL_OVXLIB | Mapped | ANEURALNETWORKS_RNN |
BroadCast | EXPAND_BROADCAST | Mapped | numpy.broadcast_to |
RoiPool | ROI_POOL | Mapped | ANEURALNETWORKS_ROI_POOLING |
ROI_Align | ROI_ALIGN | Mapped | ANEURALNETWORKS_ROI_ALIGN |
Topk | TOPK | Mapped (limited support) | tf.math.top_k |
GRUCell | GRUCELL_OVXLIB | Mapped | tf.keras.layers.GRUCell |
UnidirectionalSequenceGRU | GRU_OVXLIB | Mapped | tf.keras.layers.GRU |
Mod | MOD | Mapped | Onnx.Mod |
Selu | SELU | Mapped | tf.keras.activations.selu |
Celu | CELU | Mapped | Onnx.celu |
Sign | SIGN | Mapped | tf.math.sign |
SoftSign | SOFTSIGN | Mapped | tf.keras.activations.softsign |
CumSum | CUMSUM | Mapped | tf.math.cumsum |
Rcp | RCP | Mapped | tf.math.reciprocal |
MaxPool3d | MAX_POOL3D | Mapped | Onnx.MaxPool |
UnidirectionalSequenceRNN | UNIDIRECTIONAL_SEQUENCE_RNN | Mapped | ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_RNN |
BidirectionalSequenceRNN | BIDIRECTIONAL_SEQUENCE_RNN | Mapped | ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_RNN |
BidirectionalSequenceLSTM | LSTM_OVXLIB | Composed in tim-vx | ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_LSTM |
UnidirectionalSequenceLSTM | LSTM_OVXLIB | Mapped | ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_LSTM |
LSTMCell | LSTMUNIT_OVXLIB | replace with UnidirectionalSequenceLSTM by set n_step = 1 | ANEURALNETWORKS_LSTM |
HashtableLookup | HASHTABLE_LOOKUP | Mapped | ANEURALNETWORKS_HASHTABLE_LOOKUP |
EmbeddingLookup | EMBEDDING_LOOKUP | Mapped | ANEURALNETWORKS_EMBEDDING_LOOKUP |
Round | ROUND | Mapped | tf.math.round |
Ceil | CEIL | Mapped | tf.math.ceil |
OneHot | ONE_HOT | Mapped | tf.one_hot |
PRE_PROCESS | TBD | Image Preprocessing (YUV2RGB, Input Normalization, Resizing, etc) | |
PROPOSAL | TBD | Faster-RCNN Proposal Layer | |
HEATMAP_MAX_KEYPOINT | TBD | ANEURALNETWORKS_HEATMAP_MAX_KEYPOINT | |
AXIS_ALIGNED_BBOX_TRANSFORM | TBD | ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM | |
BOX_WITH_NMS_LIMIT | TBD | ANEURALNETWORKS_BOX_WITH_NMX_LIMIT | |
GENERATE_PROPOSALS | TBD | ANEURALNETWORKS_GENERATE_PROPOSALS | |
DETECTION_POSTPROCESS | TBD | ANEURALNETWORKS_DETECTION_POSTPROCESSING | |
RANDOM_MULTINOMIAL | TBD | ANEURALNETWORKS_RANDOM_MULTINOMIAL](https://developer.android.com/ndk/reference/group/neural-networks#group___neural_networks_1ggaabbe492c60331b13038e39d4207940e0a6cb5032c09d3c4b542d18495c247b5b4) | |
UPSAMPLESCALE | TBD | Unoffical Caffe layer | |
GROUP_NORM | TBD | tf.layers.GroupNormalization](https://tensorflow.google.cn/addons/api_docs/python/tfa/layers/GroupNormalization) | |
SEQUENCE_MASK | TBD | tf.math.ceil | |
REPEAT | TBD | tf.repeat | |
NMS | TBD | tf.image.non_max_suppression | |
SCATTER_ND_UPDATE | TBD | tf.compat.v1.scatter_nd_update | |
LSH_PROJECTION | Deprecated | ||
CONV_RELU | Deprecated | ||
CONV_RELU_POOL | Deprecated | ||
FCL | Deprecated | ||
FCL_RELU | Deprecated | ||
LRN | Deprecated | ||
SCALE | Deprecated | ||
DEPTHWISE_CONV1D | Deprecated | ||
L2NORMALIZESCALE | Deprecated | ||
INTERP | Deprecated | ||
NOOP | Deprecated | ||
TENSORSTACKCONCAT | Deprecated | ||
VARIABLE | InternalOnly | ||
RELUN | Deprecated | ||
CROP | Deprecated | ||
TENSOR_ADD_MEAN_STDDEV_NORM | InternalOnly | ||
RNN | Deprecated | ||
LSTMUNIT_ACTIVATION | InternalOnly | ||
LSTM | Deprecated | ||
LSTMUNIT | Deprecated | ||
QUANTIZED_16BIT_LSTM | InternalOnly | ||
RELU_KERAS | Deprecated | ||
PRE_PROCESS_GRAY | InternalOnly | ||
PRE_PROCESS_YUV444 | InternalOnly | ||
PRE_PROCESS_NV12 | InternalOnly | ||
PRE_PROCESS_YUV420 | InternalOnly | ||
PRE_PROCESS_BGRA | InternalOnly | ||
PRE_PROCESS_TENSOR | InternalOnly | ||
IMAGEPROCESS | Deprecated | ||
POST_PROCESS | InternalOnly | ||
EXTRA_ENDING | InternalOnly | ||
SYNC_HOST | InternalOnly | ||
BATCHNORM_SINGLE | InternalOnly | ||
CONCATSHIFT | InternalOnly | ||
A_TIMES_B_PLUS_C | Deprecated | tf.add(tf.mul(A, B), C) |