[nnc] Perform shape inference at construction time (#2399)
authorСергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 <s.barannikov@samsung.com>
Thu, 29 Nov 2018 13:42:35 +0000 (16:42 +0300)
committerEfimov Alexander/AI Tools Lab/./Samsung Electronics <a.efimov@samsung.com>
Thu, 29 Nov 2018 13:42:35 +0000 (16:42 +0300)
commit0b85293d229f3599d3c362025427352c4c39c76d
tree7466154189a76b8b69710ddca6c251521dab7536
parent6831fcfb58277dca6edf5ebf6d41cf917fb7c42d
[nnc] Perform shape inference at construction time (#2399)

* Move shape inference functionality from separate class to constructors of individual operations;
* First dimension of input is no longer removed by the importers;
* Adjust ModelIR, soft backend and interpreter to correctly work with non-stripped first dimension;
* Minor coding style fixes and comments.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
62 files changed:
contrib/nnc/core/CMakeLists.txt
contrib/nnc/core/modelIR/Operation.cpp
contrib/nnc/core/modelIR/ShapeInference.cpp [deleted file]
contrib/nnc/core/modelIR/operations/ConcatOp.cpp [new file with mode: 0644]
contrib/nnc/core/modelIR/operations/Conv2DOp.cpp [new file with mode: 0644]
contrib/nnc/core/modelIR/operations/DeConv2DOp.cpp [new file with mode: 0644]
contrib/nnc/core/modelIR/operations/DepthwiseConv2DOp.cpp [new file with mode: 0644]
contrib/nnc/core/modelIR/operations/FullyConnectedOp.cpp [new file with mode: 0644]
contrib/nnc/core/modelIR/operations/PadOp.cpp [moved from contrib/nnc/passes/common_frontend/shape_helper.cpp with 50% similarity]
contrib/nnc/core/modelIR/operations/PoolOp.cpp [new file with mode: 0644]
contrib/nnc/core/modelIR/operations/SqueezeOp.cpp [new file with mode: 0644]
contrib/nnc/include/core/modelIR/Operation.h
contrib/nnc/include/core/modelIR/ShapeInference.h [deleted file]
contrib/nnc/include/core/modelIR/operations/BatchNormOp.h
contrib/nnc/include/core/modelIR/operations/BiasAddOp.h
contrib/nnc/include/core/modelIR/operations/CappedReluOp.h
contrib/nnc/include/core/modelIR/operations/ConcatOp.h
contrib/nnc/include/core/modelIR/operations/ConstantOp.h
contrib/nnc/include/core/modelIR/operations/Conv2DOp.h
contrib/nnc/include/core/modelIR/operations/Deconv2DOp.h
contrib/nnc/include/core/modelIR/operations/DepthwiseConv2DOp.h
contrib/nnc/include/core/modelIR/operations/DropoutOp.h
contrib/nnc/include/core/modelIR/operations/ElementwiseOp.h
contrib/nnc/include/core/modelIR/operations/EluOp.h
contrib/nnc/include/core/modelIR/operations/FullyConnectedOp.h
contrib/nnc/include/core/modelIR/operations/PadOp.h
contrib/nnc/include/core/modelIR/operations/PoolOp.h
contrib/nnc/include/core/modelIR/operations/ReduceFOp.h
contrib/nnc/include/core/modelIR/operations/ReluOp.h
contrib/nnc/include/core/modelIR/operations/ReshapeOp.h
contrib/nnc/include/core/modelIR/operations/ResizeOp.h
contrib/nnc/include/core/modelIR/operations/ScaleOp.h
contrib/nnc/include/core/modelIR/operations/SoftmaxOp.h
contrib/nnc/include/core/modelIR/operations/SqueezeOp.h
contrib/nnc/include/core/modelIR/operations/TanhOp.h
contrib/nnc/include/passes/common_frontend/shape_helper.h
contrib/nnc/passes/acl_soft_backend/AclCppGenerator.cpp
contrib/nnc/passes/caffe_frontend/caffe_importer.cpp
contrib/nnc/passes/caffe_frontend/caffe_op_creator.cpp
contrib/nnc/passes/caffe_frontend/caffe_op_creator.h
contrib/nnc/passes/common_frontend/CMakeLists.txt
contrib/nnc/passes/interpreter/Interpreter.cpp
contrib/nnc/passes/interpreter/interpreter_pass.cpp
contrib/nnc/passes/interpreter/ops/Depthwise_conv_2D.cpp
contrib/nnc/passes/interpreter/ops/Pool.cpp
contrib/nnc/passes/interpreter/ops/conv_2D.cpp
contrib/nnc/passes/onnx_frontend/ONNXImporterImpl.cpp
contrib/nnc/passes/soft_backend/BaseGenerator.cpp
contrib/nnc/passes/soft_backend/SBSerializer.cpp
contrib/nnc/passes/tflite_frontend/tflite_importer.cpp
contrib/nnc/passes/tflite_frontend/tflite_op_creator.cpp
contrib/nnc/tests/interpreter/graph_creator.cpp
contrib/nnc/tests/interpreter/op_info_util.h
contrib/nnc/tests/soft_backend/CompileCPP.cpp
contrib/nnc/unittests/core/Graph.cpp
contrib/nnc/unittests/core/ShapeInference.cpp
contrib/nnc/unittests/core/operation.cpp
contrib/nnc/unittests/soft_backend/CPPOperations.cpp
contrib/nnc/unittests/soft_backend/ModelAnalyzer.cpp
contrib/nnc/utils/caffe2_dot_dumper/model_dump.cpp
contrib/nnc/utils/caffe_dot_dumper/model_dump.cpp
contrib/nnc/utils/tflite_dot_dumper/sanity_check.cpp