|
6 | 6 | RemoveEmptyConvBiasPass, RemoveOnlySingletonReduceMeanPass |
7 | 7 | from Deeploy.DeeployTypes import ConstantBuffer, DeploymentEngine, DeploymentPlatform, NodeMapper, NodeTemplate, \ |
8 | 8 | StructBuffer, TopologyOptimizer, TransientBuffer, VariableBuffer |
9 | | -from Deeploy.Targets.Generic.Bindings import BasicAddBindings, BasicBatchNormBindings, BasicCeilBindings, \ |
10 | | - BasicClipBindings, BasicConcatBindings, BasicConv1DBindings, BasicConv2DBindings, BasicConvTransposeBindings, \ |
11 | | - BasicDebugPrintBindings, BasicDequantBindings, BasicDivBindings, BasicDWConv1DBinding, BasicDWConv2DBindings, \ |
12 | | - BasicExpBindings, BasicFloorBindings, BasicGatherBindings, BasicGELUBindings, BasicGEMMBindings, \ |
| 9 | +from Deeploy.Targets.Generic.Bindings import BasicAddBindings, BasicAveragePool1DBindings, BasicAveragePool2DBindings, \ |
| 10 | + BasicBatchNormBindings, BasicCeilBindings, BasicClipBindings, BasicConcatBindings, BasicConv1DBindings, \ |
| 11 | + BasicConv2DBindings, BasicConvTransposeBindings, BasicDebugPrintBindings, BasicDequantBindings, BasicDivBindings, \ |
| 12 | + BasicDWConv1DBinding, BasicDWConv2DBindings, BasicExpBindings, BasicFloorBindings, BasicGatherBindings, \ |
| 13 | + BasicGELUBindings, BasicGEMMBindings, BasicGlobalAveragePoolBindings, BasicGlobalMaxPoolBindings, \ |
13 | 14 | BasicGroupNormBindings, BasicHardSigmoidBindings, BasicHardSwishBindings, BasicInstanceNormBindings, \ |
14 | 15 | BasicITAPartialSoftmaxBinding, BasicITASoftmaxBinding, BasicLayerNormBindings, BasicMatMulBindings, \ |
15 | 16 | BasicMaxPool1DBindings, BasicMaxPool2DBindings, BasicMulBindings, BasicPad1DBindings, BasicPad2DBindings, \ |
16 | 17 | BasicPowBindings, BasicQuantBindings, BasicReduceMeanBindings, BasicReduceSumBindings, BasicReluBinding, \ |
17 | 18 | BasicReshapeBindings, BasicRQIntegerDivBinding, BasicRQSBindings, BasicRQSGELUBinding, BasicSigmoidBindings, \ |
18 | 19 | BasicSliceBindings, BasicSoftmaxBindings, BasicSqrtBindings, BasicSubBindings, BasicSwishBindings, \ |
19 | 20 | BasicTransposeBindings, DummyBinding |
20 | | -from Deeploy.Targets.Generic.Layers import AddLayer, BatchNormalizationLayer, CeilLayer, ClipLayer, ConcatLayer, \ |
21 | | - ConvLayer, ConvTransposeLayer, DebugPrintLayer, DequantLayer, DivLayer, ExpLayer, FloorLayer, GatherLayer, \ |
22 | | - GELULayer, GEMMLayer, GroupNormLayer, InstanceNormLayer, ITAMaxLayer, LayerNormLayer, MatMulLayer, MaxPoolLayer, \ |
23 | | - MulLayer, PadLayer, PowLayer, QuantLayer, ReduceMeanLayer, ReduceSumLayer, ReluLayer, RequantShiftLayer, \ |
24 | | - ReshapeLayer, RQIntegerDivLayer, RQSiGELULayer, SigmoidLayer, SliceLayer, SoftmaxLayer, SqrtLayer, SubLayer, \ |
25 | | - SwishLayer, TransposeLayer |
26 | | -from Deeploy.Targets.Generic.Parsers import AddParser, BatchNormParser, CeilParser, ClipParser, ConcatParser, \ |
27 | | - ConvTranspose1DParser, DebugParser, DequantParser, DivParser, DummyParser, ExpParser, FlattenParser, FloorParser, \ |
28 | | - GatherParser, GELUParser, GenericConv1DParser, GenericConv2DParser, GenericDWConv1DParser, GenericDWConv2DParser, \ |
29 | | - GenericGEMMParser, GenericMaxPool2DParser, GroupNormParser, HardSigmoidParser, HardSwishParser, \ |
30 | | - InstanceNormParser, IntegerDivParser, ITAMaxParser, ITAPartialMaxParser, LayerNormParser, MatMulParser, \ |
31 | | - MaxPool1DParser, MulParser, Pad1DParser, Pad2DParser, PowParser, QuantParser, ReduceMeanParser, ReduceSumParser, \ |
32 | | - ReluParser, RequantShiftParser, ReshapeParser, RQIntegerDivParser, RQSiGELUParser, SigmoidParser, SliceParser, \ |
33 | | - SoftmaxParser, SqrtParser, SubParser, SwishParser, TransposeParser, UnsqueezeParser, iLayerNormParser, \ |
34 | | - iSoftmaxParser |
| 21 | +from Deeploy.Targets.Generic.Layers import AddLayer, AveragePoolLayer, BatchNormalizationLayer, CeilLayer, ClipLayer, \ |
| 22 | + ConcatLayer, ConvLayer, ConvTransposeLayer, DebugPrintLayer, DequantLayer, DivLayer, ExpLayer, FloorLayer, \ |
| 23 | + GatherLayer, GELULayer, GEMMLayer, GlobalAveragePoolLayer, GlobalMaxPoolLayer, GroupNormLayer, InstanceNormLayer, \ |
| 24 | + ITAMaxLayer, LayerNormLayer, MatMulLayer, MaxPoolLayer, MulLayer, PadLayer, PowLayer, QuantLayer, ReduceMeanLayer, \ |
| 25 | + ReduceSumLayer, ReluLayer, RequantShiftLayer, ReshapeLayer, RQIntegerDivLayer, RQSiGELULayer, SigmoidLayer, \ |
| 26 | + SliceLayer, SoftmaxLayer, SqrtLayer, SubLayer, SwishLayer, TransposeLayer |
| 27 | +from Deeploy.Targets.Generic.Parsers import AddParser, AveragePool1DParser, AveragePool2DParser, BatchNormParser, \ |
| 28 | + CeilParser, ClipParser, ConcatParser, ConvTranspose1DParser, DebugParser, DequantParser, DivParser, DummyParser, \ |
| 29 | + ExpParser, FlattenParser, FloorParser, GatherParser, GELUParser, GenericConv1DParser, GenericConv2DParser, \ |
| 30 | + GenericDWConv1DParser, GenericDWConv2DParser, GenericGEMMParser, GenericMaxPool2DParser, GlobalAveragePoolParser, \ |
| 31 | + GlobalMaxPoolParser, GroupNormParser, HardSigmoidParser, HardSwishParser, InstanceNormParser, IntegerDivParser, \ |
| 32 | + ITAMaxParser, ITAPartialMaxParser, LayerNormParser, MatMulParser, MaxPool1DParser, MulParser, Pad1DParser, \ |
| 33 | + Pad2DParser, PowParser, QuantParser, ReduceMeanParser, ReduceSumParser, ReluParser, RequantShiftParser, \ |
| 34 | + ReshapeParser, RQIntegerDivParser, RQSiGELUParser, SigmoidParser, SliceParser, SoftmaxParser, SqrtParser, \ |
| 35 | + SubParser, SwishParser, TransposeParser, UnsqueezeParser, iLayerNormParser, iSoftmaxParser |
35 | 36 | from Deeploy.Targets.Generic.Templates import AllocateTemplate, FreeTemplate |
36 | 37 | from Deeploy.Targets.Generic.TopologyOptimizationPasses.Passes import DequantPatternPass, ExtractPaddingFromConvPass, \ |
37 | 38 | ExtractPaddingFromPoolPass, MatMulAddMergePass, MergeConstAddAndRequantPass, QuantPatternPass, \ |
|
89 | 90 | HardSwishMapper = NodeMapper(HardSwishParser(), BasicHardSwishBindings) |
90 | 91 | InstanceNormMapper = NodeMapper(InstanceNormParser(), BasicInstanceNormBindings) |
91 | 92 | GroupNormMapper = NodeMapper(GroupNormParser(), BasicGroupNormBindings) |
| 93 | +AveragePool1DMapper = NodeMapper(AveragePool1DParser(), BasicAveragePool1DBindings) |
| 94 | +AveragePool2DMapper = NodeMapper(AveragePool2DParser(), BasicAveragePool2DBindings) |
| 95 | +GlobalAveragePoolMapper = NodeMapper(GlobalAveragePoolParser(), BasicGlobalAveragePoolBindings) |
| 96 | +GlobalMaxPoolMapper = NodeMapper(GlobalMaxPoolParser(), BasicGlobalMaxPoolBindings) |
92 | 97 |
|
93 | 98 | # Dummy nodes are intended for development purposes only! |
94 | 99 | # They should always generate compiler errors to not accidentally end up in production code |
|
146 | 151 | 'HardSwish': SwishLayer([HardSwishMapper]), |
147 | 152 | 'InstanceNormalization': InstanceNormLayer([InstanceNormMapper]), |
148 | 153 | 'GroupNormalization': GroupNormLayer([GroupNormMapper]), |
| 154 | + 'AveragePool': AveragePoolLayer([AveragePool1DMapper, AveragePool2DMapper]), |
| 155 | + 'GlobalAveragePool': GlobalAveragePoolLayer([GlobalAveragePoolMapper]), |
| 156 | + 'GlobalMaxPool': GlobalMaxPoolLayer([GlobalMaxPoolMapper]), |
149 | 157 | # # For example, you can use the DummpyMapper, in case you want to test |
150 | 158 | # # deployment or optimizations with GlobalAveragePool nodes but did not yet |
151 | 159 | # # implement the corresponding kernel |
|
0 commit comments