From 268509ac1750c6c8d7c6f0debd9dca7e42612341 Mon Sep 17 00:00:00 2001 From: Matthew Bentham Date: Mon, 25 Feb 2019 13:58:24 +0000 Subject: Rename ArmNN schema file to ArmnnSchema.fbs This makes the header file change to ArmnnSchema_generated.h, which is then unambiguous with respect to other generated schema files. Change-Id: Id7785ed74cced4dcd4d6bcbab81e53c6aeba973c Signed-off-by: Matthew Bentham --- CMakeLists.txt | 8 +- cmake/GlobalConfig.cmake | 2 +- src/armnnDeserializer/Deserializer.cpp | 2 +- src/armnnDeserializer/Deserializer.hpp | 2 +- .../test/ParserFlatbuffersSerializeFixture.hpp | 6 +- src/armnnSerializer/ArmnnSchema.fbs | 277 +++++++++++++++++++++ src/armnnSerializer/Schema.fbs | 277 --------------------- src/armnnSerializer/Serializer.cpp | 2 +- src/armnnSerializer/Serializer.hpp | 2 +- src/armnnSerializer/SerializerUtils.hpp | 4 +- 10 files changed, 291 insertions(+), 291 deletions(-) create mode 100644 src/armnnSerializer/ArmnnSchema.fbs delete mode 100644 src/armnnSerializer/Schema.fbs diff --git a/CMakeLists.txt b/CMakeLists.txt index 18c0ca2f35..7db728c52c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -151,16 +151,16 @@ endif() if(BUILD_ARMNN_SERIALIZER) add_custom_command ( - OUTPUT src/armnnSerializer/Schema_generated.h + OUTPUT src/armnnSerializer/ArmnnSchema_generated.h COMMAND ${FLATC_DIR}/flatc -o ${CMAKE_CURRENT_BINARY_DIR}/src/armnnSerializer --cpp - ${CMAKE_CURRENT_SOURCE_DIR}/src/armnnSerializer/Schema.fbs + ${CMAKE_CURRENT_SOURCE_DIR}/src/armnnSerializer/ArmnnSchema.fbs ) set(armnn_serializer_sources) list(APPEND armnn_serializer_sources include/armnnSerializer/ISerializer.hpp include/armnnDeserializer/IDeserializer.hpp - src/armnnSerializer/Schema_generated.h + src/armnnSerializer/ArmnnSchema_generated.h src/armnnSerializer/Serializer.hpp src/armnnSerializer/Serializer.cpp src/armnnSerializer/SerializerUtils.hpp @@ -592,7 +592,7 @@ if(BUILD_UNIT_TESTS) if(BUILD_ARMNN_SERIALIZER) enable_language(ASM) list(APPEND unittest_sources - src/armnnSerializer/Schema_generated.h + src/armnnSerializer/ArmnnSchema_generated.h src/armnnSerializer/test/ActivationSerializationTests.cpp src/armnnSerializer/test/SerializerTests.cpp src/armnnDeserializer/test/DeserializeActivation.cpp diff --git a/cmake/GlobalConfig.cmake b/cmake/GlobalConfig.cmake index ad4869370c..e0ccce4d57 100644 --- a/cmake/GlobalConfig.cmake +++ b/cmake/GlobalConfig.cmake @@ -198,7 +198,7 @@ endif() if(BUILD_ARMNN_SERIALIZER) include_directories(SYSTEM "${FLATBUFFERS_INCLUDE_PATH}") add_definitions(-DARMNN_SERIALIZER) - add_definitions(-DARMNN_SERIALIZER_SCHEMA_PATH="${CMAKE_CURRENT_SOURCE_DIR}/src/armnnSerializer/Schema.fbs") + add_definitions(-DARMNN_SERIALIZER_SCHEMA_PATH="${CMAKE_CURRENT_SOURCE_DIR}/src/armnnSerializer/ArmnnSchema.fbs") endif() include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) diff --git a/src/armnnDeserializer/Deserializer.cpp b/src/armnnDeserializer/Deserializer.cpp index f5fc0473f5..08fe7a5e90 100644 --- a/src/armnnDeserializer/Deserializer.cpp +++ b/src/armnnDeserializer/Deserializer.cpp @@ -20,7 +20,7 @@ #include // The generated code based on the Serialize schema: -#include +#include #include #include diff --git a/src/armnnDeserializer/Deserializer.hpp b/src/armnnDeserializer/Deserializer.hpp index d1cb17d3af..1e775d0c4a 100644 --- a/src/armnnDeserializer/Deserializer.hpp +++ b/src/armnnDeserializer/Deserializer.hpp @@ -7,7 +7,7 @@ #include "armnn/INetwork.hpp" #include "armnnDeserializer/IDeserializer.hpp" -#include +#include namespace armnnDeserializer { diff --git a/src/armnnDeserializer/test/ParserFlatbuffersSerializeFixture.hpp b/src/armnnDeserializer/test/ParserFlatbuffersSerializeFixture.hpp index d6504864ca..8db9d5684b 100644 --- a/src/armnnDeserializer/test/ParserFlatbuffersSerializeFixture.hpp +++ b/src/armnnDeserializer/test/ParserFlatbuffersSerializeFixture.hpp @@ -19,10 +19,10 @@ #include "flatbuffers/idl.h" #include "flatbuffers/util.h" -#include +#include using armnnDeserializer::IDeserializer; -using TensorRawPtr = armnnSerializer::TensorInfo*; +using TensorRawPtr = armnnSerializer::TensorInfo*; struct ParserFlatbuffersSerializeFixture { @@ -201,4 +201,4 @@ void ParserFlatbuffersSerializeFixture::RunTest(unsigned int layersId, auto outputExpected = MakeTensor(bindingInfo.second, it.second); BOOST_TEST(CompareTensors(outputExpected, outputStorage[it.first])); } -} \ No newline at end of file +} diff --git a/src/armnnSerializer/ArmnnSchema.fbs b/src/armnnSerializer/ArmnnSchema.fbs new file mode 100644 index 0000000000..dc14069798 --- /dev/null +++ b/src/armnnSerializer/ArmnnSchema.fbs @@ -0,0 +1,277 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +namespace armnnSerializer; + +file_identifier "ARMN"; + +file_extension "armnn"; + +enum ActivationFunction : byte { + Sigmoid = 0, + TanH = 1, + Linear = 2, + ReLu = 3, + BoundedReLu = 4, + SoftReLu = 5, + LeakyReLu = 6, + Abs = 7, + Sqrt = 8, + Square = 9 +} + +enum DataType : byte { + Float16 = 0, + Float32 = 1, + QuantisedAsymm8 = 2, + Signed32 = 3, + Boolean = 4 +} + +enum DataLayout : byte { + NHWC = 0, + NCHW = 1 +} + +table TensorInfo { + dimensions:[uint]; + dataType:DataType; + quantizationScale:float = 1.0; + quantizationOffset:int = 0; +} + +struct Connection { + sourceLayerIndex:uint; + outputSlotIndex:uint; +} + +table ByteData { + data:[byte]; +} + +table ShortData { + data:[short]; +} + +table IntData { + data:[int]; +} + +table LongData { + data:[long]; +} + +union ConstTensorData { ByteData, ShortData, IntData, LongData } + +table ConstTensor { + info:TensorInfo; + data:ConstTensorData; +} + +table InputSlot { + index:uint; + connection:Connection; +} + +table OutputSlot { + index:uint; + tensorInfo:TensorInfo; +} + +enum LayerType : uint { + Addition = 0, + Input = 1, + Multiplication = 2, + Output = 3, + Pooling2d = 4, + Reshape = 5, + Softmax = 6, + Convolution2d = 7, + DepthwiseConvolution2d = 8, + Activation = 9, + Permute = 10, + FullyConnected = 11 +} + +// Base layer table to be used as part of other layers +table LayerBase { + index:uint; + layerName:string; + layerType:LayerType; + inputSlots:[InputSlot]; + outputSlots:[OutputSlot]; +} + +table BindableLayerBase { + base:LayerBase; + layerBindingId:int; +} + +// Table for each layer defined below +table ActivationLayer { + base:LayerBase; + descriptor:ActivationDescriptor; +} + +table ActivationDescriptor { + function:ActivationFunction = Sigmoid; + a:float; + b:float; +} + +table AdditionLayer { + base:LayerBase; +} + +table Convolution2dLayer { + base:LayerBase; + descriptor:Convolution2dDescriptor; + weights:ConstTensor; + biases:ConstTensor; +} + +table Convolution2dDescriptor { + padLeft:uint; + padRight:uint; + padTop:uint; + padBottom:uint; + strideX:uint; + strideY:uint; + biasEnabled:bool = false; + dataLayout:DataLayout = NCHW; +} + +table FullyConnectedLayer { + base:LayerBase; + descriptor:FullyConnectedDescriptor; + weights:ConstTensor; + biases:ConstTensor; +} + +table FullyConnectedDescriptor { + biasEnabled:bool = false; + transposeWeightsMatrix:bool = false; +} + +table InputLayer { + base:BindableLayerBase; +} + +table MultiplicationLayer { + base:LayerBase; +} + +table Pooling2dLayer { + base:LayerBase; + descriptor:Pooling2dDescriptor; +} + +enum PoolingAlgorithm : byte { + Max = 0, + Average = 1, + L2 = 2 +} + +enum OutputShapeRounding : byte { + Floor = 0, + Ceiling = 1 +} + +enum PaddingMethod : byte { + IgnoreValue = 0, + Exclude = 1 +} + +table Pooling2dDescriptor { + poolType:PoolingAlgorithm; + padLeft:uint; + padRight:uint; + padTop:uint; + padBottom:uint; + poolWidth:uint; + poolHeight:uint; + strideX:uint; + strideY:uint; + outputShapeRounding:OutputShapeRounding; + paddingMethod:PaddingMethod; + dataLayout:DataLayout; +} + +table SoftmaxLayer { + base:LayerBase; + descriptor:SoftmaxDescriptor; +} + +table SoftmaxDescriptor { + beta:float; +} + +table DepthwiseConvolution2dLayer { + base:LayerBase; + descriptor:DepthwiseConvolution2dDescriptor; + weights:ConstTensor; + biases:ConstTensor; +} + +table DepthwiseConvolution2dDescriptor { + padLeft:uint; + padRight:uint; + padTop:uint; + padBottom:uint; + strideX:uint; + strideY:uint; + biasEnabled:bool = false; + dataLayout:DataLayout = NCHW; +} + +table OutputLayer { + base:BindableLayerBase; +} + +table ReshapeLayer { + base:LayerBase; + descriptor:ReshapeDescriptor; +} + +table ReshapeDescriptor { + targetShape:[uint]; +} + +table PermuteLayer { + base:LayerBase; + descriptor:PermuteDescriptor; +} + +table PermuteDescriptor { + dimMappings:[uint]; +} + +union Layer { + ActivationLayer, + AdditionLayer, + Convolution2dLayer, + DepthwiseConvolution2dLayer, + FullyConnectedLayer, + InputLayer, + MultiplicationLayer, + OutputLayer, + PermuteLayer, + Pooling2dLayer, + ReshapeLayer, + SoftmaxLayer +} + +table AnyLayer { + layer:Layer; +} + +// Root type for serialized data is the graph of the network +table SerializedGraph { + layers:[AnyLayer]; + inputIds:[uint]; + outputIds:[uint]; +} + +root_type SerializedGraph; diff --git a/src/armnnSerializer/Schema.fbs b/src/armnnSerializer/Schema.fbs deleted file mode 100644 index dc14069798..0000000000 --- a/src/armnnSerializer/Schema.fbs +++ /dev/null @@ -1,277 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -namespace armnnSerializer; - -file_identifier "ARMN"; - -file_extension "armnn"; - -enum ActivationFunction : byte { - Sigmoid = 0, - TanH = 1, - Linear = 2, - ReLu = 3, - BoundedReLu = 4, - SoftReLu = 5, - LeakyReLu = 6, - Abs = 7, - Sqrt = 8, - Square = 9 -} - -enum DataType : byte { - Float16 = 0, - Float32 = 1, - QuantisedAsymm8 = 2, - Signed32 = 3, - Boolean = 4 -} - -enum DataLayout : byte { - NHWC = 0, - NCHW = 1 -} - -table TensorInfo { - dimensions:[uint]; - dataType:DataType; - quantizationScale:float = 1.0; - quantizationOffset:int = 0; -} - -struct Connection { - sourceLayerIndex:uint; - outputSlotIndex:uint; -} - -table ByteData { - data:[byte]; -} - -table ShortData { - data:[short]; -} - -table IntData { - data:[int]; -} - -table LongData { - data:[long]; -} - -union ConstTensorData { ByteData, ShortData, IntData, LongData } - -table ConstTensor { - info:TensorInfo; - data:ConstTensorData; -} - -table InputSlot { - index:uint; - connection:Connection; -} - -table OutputSlot { - index:uint; - tensorInfo:TensorInfo; -} - -enum LayerType : uint { - Addition = 0, - Input = 1, - Multiplication = 2, - Output = 3, - Pooling2d = 4, - Reshape = 5, - Softmax = 6, - Convolution2d = 7, - DepthwiseConvolution2d = 8, - Activation = 9, - Permute = 10, - FullyConnected = 11 -} - -// Base layer table to be used as part of other layers -table LayerBase { - index:uint; - layerName:string; - layerType:LayerType; - inputSlots:[InputSlot]; - outputSlots:[OutputSlot]; -} - -table BindableLayerBase { - base:LayerBase; - layerBindingId:int; -} - -// Table for each layer defined below -table ActivationLayer { - base:LayerBase; - descriptor:ActivationDescriptor; -} - -table ActivationDescriptor { - function:ActivationFunction = Sigmoid; - a:float; - b:float; -} - -table AdditionLayer { - base:LayerBase; -} - -table Convolution2dLayer { - base:LayerBase; - descriptor:Convolution2dDescriptor; - weights:ConstTensor; - biases:ConstTensor; -} - -table Convolution2dDescriptor { - padLeft:uint; - padRight:uint; - padTop:uint; - padBottom:uint; - strideX:uint; - strideY:uint; - biasEnabled:bool = false; - dataLayout:DataLayout = NCHW; -} - -table FullyConnectedLayer { - base:LayerBase; - descriptor:FullyConnectedDescriptor; - weights:ConstTensor; - biases:ConstTensor; -} - -table FullyConnectedDescriptor { - biasEnabled:bool = false; - transposeWeightsMatrix:bool = false; -} - -table InputLayer { - base:BindableLayerBase; -} - -table MultiplicationLayer { - base:LayerBase; -} - -table Pooling2dLayer { - base:LayerBase; - descriptor:Pooling2dDescriptor; -} - -enum PoolingAlgorithm : byte { - Max = 0, - Average = 1, - L2 = 2 -} - -enum OutputShapeRounding : byte { - Floor = 0, - Ceiling = 1 -} - -enum PaddingMethod : byte { - IgnoreValue = 0, - Exclude = 1 -} - -table Pooling2dDescriptor { - poolType:PoolingAlgorithm; - padLeft:uint; - padRight:uint; - padTop:uint; - padBottom:uint; - poolWidth:uint; - poolHeight:uint; - strideX:uint; - strideY:uint; - outputShapeRounding:OutputShapeRounding; - paddingMethod:PaddingMethod; - dataLayout:DataLayout; -} - -table SoftmaxLayer { - base:LayerBase; - descriptor:SoftmaxDescriptor; -} - -table SoftmaxDescriptor { - beta:float; -} - -table DepthwiseConvolution2dLayer { - base:LayerBase; - descriptor:DepthwiseConvolution2dDescriptor; - weights:ConstTensor; - biases:ConstTensor; -} - -table DepthwiseConvolution2dDescriptor { - padLeft:uint; - padRight:uint; - padTop:uint; - padBottom:uint; - strideX:uint; - strideY:uint; - biasEnabled:bool = false; - dataLayout:DataLayout = NCHW; -} - -table OutputLayer { - base:BindableLayerBase; -} - -table ReshapeLayer { - base:LayerBase; - descriptor:ReshapeDescriptor; -} - -table ReshapeDescriptor { - targetShape:[uint]; -} - -table PermuteLayer { - base:LayerBase; - descriptor:PermuteDescriptor; -} - -table PermuteDescriptor { - dimMappings:[uint]; -} - -union Layer { - ActivationLayer, - AdditionLayer, - Convolution2dLayer, - DepthwiseConvolution2dLayer, - FullyConnectedLayer, - InputLayer, - MultiplicationLayer, - OutputLayer, - PermuteLayer, - Pooling2dLayer, - ReshapeLayer, - SoftmaxLayer -} - -table AnyLayer { - layer:Layer; -} - -// Root type for serialized data is the graph of the network -table SerializedGraph { - layers:[AnyLayer]; - inputIds:[uint]; - outputIds:[uint]; -} - -root_type SerializedGraph; diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp index b4afd37b99..a0a640e3b7 100644 --- a/src/armnnSerializer/Serializer.cpp +++ b/src/armnnSerializer/Serializer.cpp @@ -11,7 +11,7 @@ #include -#include +#include #include diff --git a/src/armnnSerializer/Serializer.hpp b/src/armnnSerializer/Serializer.hpp index 0a62732ef2..a423aa8a12 100644 --- a/src/armnnSerializer/Serializer.hpp +++ b/src/armnnSerializer/Serializer.hpp @@ -11,7 +11,7 @@ #include -#include +#include namespace armnnSerializer { diff --git a/src/armnnSerializer/SerializerUtils.hpp b/src/armnnSerializer/SerializerUtils.hpp index 71eb01bbeb..9b1dff9112 100644 --- a/src/armnnSerializer/SerializerUtils.hpp +++ b/src/armnnSerializer/SerializerUtils.hpp @@ -6,7 +6,7 @@ #include -#include +#include namespace armnnSerializer { @@ -24,4 +24,4 @@ armnnSerializer::OutputShapeRounding GetFlatBufferOutputShapeRounding( armnnSerializer::PaddingMethod GetFlatBufferPaddingMethod(armnn::PaddingMethod paddingMethod); -} // namespace armnnSerializer \ No newline at end of file +} // namespace armnnSerializer -- cgit v1.2.1