This module is responsble for generate
| 3827 | } |
| 3828 | /// This module is responsble for generate |
| 3829 | void xlayer_sequence_generator(vector < XlayerData > & xlayer_seq,XGraph *xgraph,kernelInfo& opt_descriptor,int in_put_layer){ |
| 3830 | |
| 3831 | XGraphOpt xgraphopt; |
| 3832 | map<string, int> layer_seq_table; |
| 3833 | map<string, string> layer_type_table; |
| 3834 | |
| 3835 | map<string, io_mem_data_type_e> mem_type_table; |
| 3836 | vector < BDegree > Bdepth_interm,Bdepth,reUseBdepth; |
| 3837 | vector<string> bn_opt_table; |
| 3838 | map<string,struct io_type> LayerIOType; |
| 3839 | |
| 3840 | xgraphopt.opt_data(xgraph); |
| 3841 | |
| 3842 | update_layer_io_type(LayerIOType,opt_descriptor); |
| 3843 | |
| 3844 | // checkGraphInsanity(xgraph); |
| 3845 | |
| 3846 | xgraphopt.opt_priorbox(xgraph); |
| 3847 | |
| 3848 | #if O_DEBUG |
| 3849 | cout<<"xgraphopt.opt_priorbox(&graph) done" << endl; |
| 3850 | #endif |
| 3851 | |
| 3852 | |
| 3853 | |
| 3854 | #if O_DEBUG |
| 3855 | cout<<"xgraphopt.opt_relu(&graph) done" << endl; |
| 3856 | #endif |
| 3857 | |
| 3858 | |
| 3859 | xgraphopt.opt_dropout(xgraph); |
| 3860 | #if O_DEBUG |
| 3861 | cout<<"xgraphopt.opt_dropout(&graph) done" << endl; |
| 3862 | #endif |
| 3863 | |
| 3864 | |
| 3865 | |
| 3866 | xgraphopt.opt_reshape(xgraph); |
| 3867 | xgraphopt.opt_flatten(xgraph); |
| 3868 | |
| 3869 | |
| 3870 | |
| 3871 | #if O_DEBUG |
| 3872 | cout << " opt_concat optimization done" << endl; |
| 3873 | #endif |
| 3874 | |
| 3875 | |
| 3876 | |
| 3877 | xgraphopt.opt_deconv(xgraph); |
| 3878 | #if O_DEBUG |
| 3879 | cout << " opt_deconv optimization done" << endl; |
| 3880 | #endif |
| 3881 | |
| 3882 | xgraphopt.opt_conv_bn_scale(xgraph); |
| 3883 | |
| 3884 | xgraphopt.opt_separable_conv(xgraph); |
| 3885 | |
| 3886 | //xgraph->drawGraph("/tmp/optimized_3d_graph.dot"); |
no test coverage detected