|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- /**
- * Copyright 2019 Huawei Technologies Co., Ltd
- *
- * 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.
- */
-
- include "op.fbs";
-
- namespace mindspore.predict;
-
- enum DataType : int {
- DT_FLOAT = 0,
- DT_FLOAT16 = 1,
- DT_INT8 = 2,
- DT_INT32 = 3,
- DT_UINT8 = 4,
- DT_UINT32 = 8,
- DT_UNDEFINED = 16
- }
-
- enum Format : int {
- NCHW = 0,
- NHWC,
- NC4HW4 = 100,
- NUM_OF_FORMAT
- }
-
- enum MSConst: int {
- WEIGHT_REFCOUNT = 999
- }
-
- table QuantizationDef {
- // Quantized value q, corresponding float value r:
- // r = scale * (q - zero_point), where scale = (rmax - rmin) / (qmax - qmin)
- min: [float];
- max: [float];
- scale: [float];
- zero_point: [long];
-
- // Tensor shape of the specifies dimension.
- dimension: int;
- }
-
- table TensorDef {
- // data type
- dataType: DataType;
- // shape
- dims: [int];
- format: Format;
- refCount: int;
- offset: int;
- data: [ubyte];
- quantization: QuantizationDef;
- }
-
- union OpT {
- Concat,
- SoftMax,
- Activation,
- Conv2D,
- FusedBatchNorm,
- CaffeBatchNorm,
- Squeeze,
- BiasAdd,
- Pooling,
- DepthwiseConv2D,
- DeDepthwiseConv2D,
- Resize,
- DetectionPostProcess,
- FullConnection,
- Mean,
- DeConv2D,
- Scale,
- Reshape,
- Eltwise,
- NetOutput,
- Add,
- MatMul,
- StridedSlice,
- Power,
- Slice,
- Stack,
- Mul,
- Pad,
- Maximum,
- CaffePReLU,
- ArgMax,
- Exp,
- CaffeCrop,
- Range,
- ExpandDims,
- Tile,
- Cast
- // Split
- }
-
- enum QuantType: int {
- QUANT_NONE,
- QUANT_INT8
- }
-
- table OpDef {
- name: string;
- attr: OpT;
- inputIndex: [uint];
- outputIndex: [uint];
- isLastConv: bool;
- quantType: QuantType = QUANT_NONE;
- }
-
-
- enum FmkType: int {
- TF,
- CAFFE
- }
-
- table NodeDef {
- fmkType: FmkType;
- opDef: OpDef;
- }
-
-
- table SubGraphDef {
- name: string;
- inputIndex: [uint];
- outputIndex: [uint];
- mempoolSize: uint;
- nodes: [NodeDef];
- allTensors: [TensorDef]; // weight + input + output
- }
-
- table MempoolCfg {
- size: uint;
- shiftFactor: uint;
- }
-
- table GraphDef {
- name: string;
- mempoolCfg: MempoolCfg;
- subgraphs: [SubGraphDef];
- }
-
- root_type GraphDef;
|