diff options
Diffstat (limited to 'serialization/tosa.fbs')
-rw-r--r-- | serialization/tosa.fbs | 325 |
1 files changed, 0 insertions, 325 deletions
diff --git a/serialization/tosa.fbs b/serialization/tosa.fbs deleted file mode 100644 index e30c3cf..0000000 --- a/serialization/tosa.fbs +++ /dev/null @@ -1,325 +0,0 @@ - -// Copyright (c) 2020-2021, ARM Limited. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -namespace tosa; - -// This corresponds to the version. -file_identifier "TOSA"; -// File extension of any written files. -file_extension "tosa"; - -enum DType:uint32 { - UNKNOWN = 0, - BOOL, - UINT8, - INT4, - INT8, - INT16, - INT32, - INT48, - FLOAT, -} - -enum Format:uint32 { - UNKNOWN = 0, - NHWC, - NDHWC, - OHWI, - HWIM, - DOHWI, -} - -enum Usage:uint32 { - UNKNOWN = 0, - ACTIVATION, - WEIGHT, - INDEX, -} - -enum ResizeMode:uint32 { - UNKNOWN = 0, - NEAREST, - BILINEAR, -} - -enum Op:uint32 { - UNKNOWN = 0, - - // Tensor Operator - ARGMAX, - AVG_POOL2D, - CONV2D, - CONV3D, - DEPTHWISE_CONV2D, - FULLY_CONNECTED, - MATMUL, - MAX_POOL2D, - TRANSPOSE_CONV2D, - - // Activation - CLAMP, - RELUN, - SIGMOID, - TANH, - - // Elementwise-Binary - ADD, - ARITHMETIC_RIGHT_SHIFT, - BITWISE_AND, - BITWISE_OR, - BITWISE_XOR, - LOGICAL_AND, - LOGICAL_LEFT_SHIFT, - LOGICAL_RIGHT_SHIFT, - LOGICAL_OR, - LOGICAL_XOR, - MAXIMUM, - MINIMUM, - MUL, - POW, - SUB, - TABLE, - - // Elementwise-Unary - ABS, - BITWISE_NOT, - CEIL, - CLZ, - EXP, - FLOOR, - LOG, - LOGICAL_NOT, - NEGATE, - RECIPROCAL, - RSQRT, - - // Elementwise-Ternary - SELECT, - - // Logical - EQUAL, - GREATER, - GREATER_EQUAL, - - // Reduction - REDUCE_ANY, - REDUCE_ALL, - REDUCE_MAX, - REDUCE_MIN, - REDUCE_PRODUCT, - REDUCE_SUM, - - // Data layout operation - CONCAT, - PAD, - RESHAPE, - REVERSE, - SLICE, - TILE, - TRANSPOSE, - - // Gather/scatter operation - GATHER, - SCATTER, - - // Image - RESIZE, - - // Type conversion - CAST, - RESCALE, - - // Data Nodes - CONST, - PLACEHOLDER, - IDENTITY, - IDENTITYN, - - // Custom operations - CUSTOM, - - // Control flow operators - COND_IF, - WHILE_LOOP, -} - -union Attribute { - Pool2dAttribute, - Conv2dAttribute, - TransposeConv2dAttribute, - ReluNAttribute, - AxisAttribute, - ReshapeAttribute, - SliceAttribute, - TileAttribute, - ResizeAttribute, - ClampAttribute, - RescaleAttribute, - MulAttribute, - ArithmeticRightShiftAttribute, - CondIfAttribute, - WhileLoopAttribute, -} - -table Pool2dAttribute { - padding: [int32]; - kernel: [int32]; - stride: [int32]; -} - -table Conv2dAttribute { - padding: [int32]; - stride: [int32]; - dilation: [int32]; -} - -table TransposeConv2dAttribute { - outpad: [int32]; - stride: [int32]; - dilation: [int32]; - output_shape: [int32]; -} - -table ReluNAttribute { - max_int: int32; - max_fp: float; -} - -table AxisAttribute { - axis: int32; -} - -table ReshapeAttribute { - shape: [int32]; -} - -table SliceAttribute { - begin: [int32]; - size: [int32]; -} - -table TileAttribute { - multiples: [int32]; -} - -table ResizeAttribute { - output_size: [int32]; - stride: [int32]; - offset: [int32]; - shift: int32; - stride_fp: [float]; - offset_fp: [float]; - mode: ResizeMode; -} - -table ClampAttribute { - min_int: int32; - max_int: int32; - min_fp: float; - max_fp: float; -} - -table RescaleAttribute { - input_zp: int32; - output_zp: int32; - multiplier: [int32]; - shift: [int32]; - scale32: bool; - double_round: bool; - per_channel: bool; -} - -table MulAttribute { - shift: int32; -} - -table ArithmeticRightShiftAttribute { - round: bool; -} - -table CondIfAttribute { - then_branch: string; - else_branch: string; -} - -table WhileLoopAttribute { - cond_branch: string; - body_branch: string; -} - -union QuantInfo { - UnaryQuantInfo, - ConvQuantInfo, - MatMulQuantInfo, - PadQuantInfo, -} - -table UnaryQuantInfo { - input_zp: int32; - output_zp: int32; -} - -table ConvQuantInfo { - input_zp: int32; - weight_zp: int32; -} - -table MatMulQuantInfo { - a_zp: int32; - b_zp: int32; -} - -table PadQuantInfo { - input_zp: int32; -} - -table Version { - _major: int32 = 0; - _minor: int32 = 21; - _patch: int32 = 0; - _experimental: bool = false; -} - -table TosaTensor { - name:string; // name of the tensor, used for solving dependency - shape:[int32]; // shape of the tensor - type:DType; // data type of the tensor - usage:[Usage]; // vector of possible usages. for the convenience of debugging only. - format:[Format]; // vector of possible formats. for the convenience of debugging only. - npy_filename: string; // numpy array filename -} - -table TosaOperator { - op:Op; // operator enum - attribute: Attribute; // union structure. operator attribute - inputs:[string]; // list of input tensor names - outputs:[string]; // list of output tensor names - quant_info: QuantInfo; // op-based quantization information -} - -table TosaBasicBlock { - name:string; // basic block name - operators:[TosaOperator]; // operators array - tensors:[TosaTensor]; // tensors array - inputs:[string]; // name of graph inputs - outputs:[string]; // name of graph outputs -} - -table TosaGraph { - version: Version; - blocks:[TosaBasicBlock]; // basic blocks array -} - -root_type TosaGraph; |