Operators are one of the fundamental buidling blocks to interact with machine learning models on the Cortex network. A operator is a set of statements that performs a task or calculates a value. To use a function, you must define it somewhere in the scope from which you wish to call it.
nn
OP | Name | Requirement | Default |
---|---|---|---|
Conv2D | channels | ||
kernel_size | 2-D | ||
strides | 2-D | (1, 1) | |
padding | 2-D | (0, 0) | |
dilation | 2-D | (1, 1) | |
groups | 1 or in_channels | 1 | |
layout | NCHW | NCHW | |
kernel_layout | OIHW | OIHW | |
out_layout | undef or NCHW | undef | |
out_dtype | -1 or 4(kInt32) | -1 | |
use_bias | TRUE | ||
input data | <= INT8 | ||
Dense | units | >=1 | |
input data | <= INT8 | ||
Upsampling | use_bias | TRUE | |
scale | >0 | ||
layout | NCHW | NCHW | |
method | NEAREST_NEIGHBOR | NEAREST_NEIGHBOR | |
MaxPool2D | pool_size | 2-D | |
strides | 2-D | (1, 1) | |
padding | 1-D or 2-D | (0, 0) | |
layout | NCHW | NCHW | |
ceil_mode | FALSE | FALSE |
reduce
OP | Name | Requirement | Default |
---|---|---|---|
sum,max | axis | -ndim <= axis < ndim | () |
keepdims | FALSE | ||
exclude | FALSE | ||
dtype | kInt32 | kInt32 |
transform
OP | Name | Requirement | Default |
---|---|---|---|
expand_dims | axis | -ndim-1 <= axis <= ndim | |
num_newaxis | >=0 | 1 | |
transpose | axes | NONE or =ndim | NONE |
reshape | shape | ||
squeeze | axis | -ndim <= axis < ndim | NONE |
concatenate | axis | -ndim <= axis < ndim | 1 |
take | axis | -ndim <= axis < ndim | NONE |
strided_slice | begin | ||
end | |||
stride | |||
repeat | repeats | >=1 | |
axis | -ndim <= axis < ndim | 0 | |
tile | reps | NONE | |
slice_like | axis | -src_ndim <= axis <= dest_ndim | NONE |
cvm_lut | |||
flatten |
vision
OP | Name | Requirement | Default |
---|---|---|---|
get_valid_count | score_threshold | 0 | |
non_max_suppression | return_indices | FALSE | FALSE |
iou_threshold | multiply 100 by default | 50 | |
force_suppress | FALSE | ||
top_k | -1 | ||
id_index | 0 | ||
coord_start | 2 | ||
score_index | 1 | ||
max_output_size | -1 | ||
invalid_to_bottom | TRUE | TRUE |
broadcast
OP | Name | Requirement | Default |
---|---|---|---|
broadcast_add | |||
broadcast_sub | |||
broadcast_mul | |||
broadcast_max |
elemwise
OP | Name | Requirement | Default |
---|---|---|---|
abs | |||
log2 | |||
elemwise_add | |||
elemwise_sub | |||
negative | |||
clip | |||
cvm_clip | |||
cvm_right_shift | |||
cvm_left_shift |
nn/convolution.cc
Name | Precision Check | Attribute Check |
---|---|---|
conv2d | ✓ | ✓ |
nn/nn.cc
Name | Precision Check | Attribute Check |
---|---|---|
conv2d | ✓ | ✓ |
dense | ✓ | ✓ |
relu | ✓ | ✓ |
nn/pooling.cc
Name | Precision Check | Attribute Check |
---|---|---|
max_pool2d | ✓ | ✓ |
nn/upsampling.cc
Name | Precision Check | Attribute Check |
---|---|---|
upsampling | ✓ | ✓ |
nn/nms.cc
Name | Precision Check | Attribute Check |
---|---|---|
non_max_suppression | ✓ | ✓ |
get_valid_counts | ✓ | ✓ |
tensor/broadcast.cc
Name | Precision Check | Attribute Check |
---|---|---|
broadcast_add | ✓ | ✓ |
broadcast_sub | ✓ | ✓ |
broadcast_mul | ✓ | ✓ |
broadcast_max | ✓ | ✓ |
tensor/reduce.cc
Name | Precision Check | Attribute Check |
---|---|---|
sum | ✓ | ✓ |
max | ✓ | ✓ |
tensor/elemwise.cc
Name | Precision Check | Attribute Check |
---|---|---|
abs | ✓ | ✓ |
log2 | ✓ | ✓ |
elemwise_add | ✓ | ✓ |
elemwise_sub | ✓ | ✓ |
negative | ✓ | ✓ |
clip | ✓ | ✓ |
cvm_clip | ✓ | ✓ |
cvm_right_shift | ✓ | ✓ |
cvm_left_shift | ✓ | ✓ |
tensor/transform.cc
Name | Precision Check | Attribute Check |
---|---|---|
repeat | ✓ | ✓ |
tile | ✓ | ✓ |
flatten | ✓ | ✓ |
concatenate | ✓ | ✓ |
expand_dims | ✓ | ✓ |
reshape | ✓ | ✓ |
squeeze | ✓ | ✓ |
transpose | ✓ | ✓ |
slice|strided_slice | ✓ | ✓ |
take | ✓ | ✓ |
cvm_lut | ✓ | ✓ |
slice_like | ✓ | ✓ |