def create_fusion_options()

in optimum/onnxruntime/configuration.py [0:0]


    def create_fusion_options(self, model_type: str) -> FusionOptions:
        class Box:
            pass

        args = Box()
        args.model_type = model_type
        attribute_map = {
            "disable_gelu_fusion": "disable_gelu",
            "disable_layer_norm_fusion": "disable_layer_norm",
            "disable_attention_fusion": "disable_attention",
            "disable_skip_layer_norm_fusion": "disable_skip_layer_norm",
            "disable_bias_skip_layer_norm_fusion": "disable_bias_skip_layer_norm",
            "disable_bias_gelu_fusion": "disable_bias_gelu",
            "disable_embed_layer_norm_fusion": "disable_embed_layer_norm",
            "disable_group_norm_fusion": "disable_group_norm",
            "disable_packed_kv": "disable_packed_kv",
            "use_raw_attention_mask": "use_raw_attention_mask",
            "enable_gemm_fast_gelu_fusion": "enable_gemm_fast_gelu",
            "use_multi_head_attention": "use_multi_head_attention",
            "disable_rotary_embeddings": "disable_rotary_embeddings",
        }
        for attr_name, fusion_attr_name in attribute_map.items():
            setattr(args, fusion_attr_name, getattr(self, attr_name))

        for attr, value in self.__dict__.items():
            if hasattr(args, attr):
                continue
            setattr(args, attr, value)

        return FusionOptions.parse(args)