openvinotoolkit / openvino_xai

OpenVINO™ Explainable AI (XAI) Toolkit: Visual Explanation for OpenVINO Models
https://openvinotoolkit.github.io/openvino_xai/
Apache License 2.0
20 stars 9 forks source link

Models not supported by white box XAI methods #30

Open goodsong81 opened 2 months ago

goodsong81 commented 2 months ago

Following models are not yet supported in addition to NOT_SUPPORTED_BY_BB_MODELS mentioned in #29 due to various reasons.

SUPPORTED_BUT_FAILED_BY_WB_MODELS = {
    # "convformer": "Cannot find output backbone_node in auto mode, please provide target_layer.",
    "swin": "Only two outputs of the between block Add node supported, but got 1. Try to use black-box.",
    "vit_base_patch16_rpn_224": "Number of normalization outputs > 1",
    "vit_relpos_medium_patch16_rpn_224": "ValueError in openvino_xai/methods/white_box/recipro_cam.py:215",
}

NOT_SUPPORTED_BY_WB_MODELS = {
    **NOT_SUPPORTED_BY_BB_MODELS,
    # Killed on WB
    "beit_large_patch16_512": "Failed to allocate 94652825600 bytes of memory",
    "convmixer_1536_20": "OOM Killed",
    "eva_large_patch14_336": "OOM Killed",
    "eva02_base_patch14_448": "OOM Killed",
    "eva02_large_patch14_448": "OOM Killed",
    "mobilevit_": "Segmentation fault",
    "mobilevit_xxs": "Segmentation fault",
    "mvitv2_base.fb_in1k": "Segmentation fault",
    "mvitv2_large": "OOM Killed",
    "mvitv2_small": "Segmentation fault",
    "mvitv2_tiny": "Segmentation fault",
    "pit_": "Segmentation fault",
    "pvt_": "Segmentation fault",
    "tf_efficientnet_l2.ns_jft_in1k": "OOM Killed",
    "xcit_large": "Failed to allocate 81581875200 bytes of memory",
    "xcit_medium_24_p8_384": "OOM Killed",
    "xcit_small_12_p8_384": "OOM Killed",
    "xcit_small_24_p8_384": "OOM Killed",
    # Not expected to work for now
    # "botnet26t_256": "Only two outputs of the between block Add node supported, but got 1",
    # "caformer": "One (and only one) of the nodes has to be Add type. But got MVN and Multiply.",
    "cait_": "Cannot create an empty Constant. Please provide valid data.",
    "coat_": "Only two outputs of the between block Add node supported, but got 1.",
    # "coatn": "Cannot find output backbone_node in auto mode, please provide target_layer.",
    "convmixer": "Cannot find output backbone_node in auto mode, please provide target_layer.",
    "crossvit": "One (and only one) of the nodes has to be Add type. But got StridedSlice and StridedSlice.",
    # "davit": "Only two outputs of the between block Add node supported, but got 1.",
    # "edgenext": "Only two outputs of the between block Add node supported, but got 1",
    # "efficientformer": "Cannot find output backbone_node in auto mode.",
    # "focalnet": "Cannot find output backbone_node in auto mode, please provide target_layer.",
    # "gcvit": "Cannot find output backbone_node in auto mode, please provide target_layer.",
    "levit_": "Cannot find output backbone_node in auto mode, please provide target_layer.",
    # "maxvit": "Cannot find output backbone_node in auto mode, please provide target_layer.",
    # "maxxvit": "Cannot find output backbone_node in auto mode, please provide target_layer.",
    # "mobilevitv2": "Cannot find output backbone_node in auto mode, please provide target_layer.",
    # "nest_": "Cannot find output backbone_node in auto mode, please provide target_layer.",
    # "poolformer": "Cannot find output backbone_node in auto mode, please provide target_layer.",
    # "sebotnet": "Only two outputs of the between block Add node supported, but got 1.",
    "sequencer2d": "Cannot find output backbone_node in auto mode, please provide target_layer.",
    "tnt_s_patch16_224": "Only two outputs of the between block Add node supported, but got 1.",
    # "tresnet": "Batch shape of the output should be dynamic, but it is static.",
    "twins": "One (and only one) of the nodes has to be Add type. But got ShapeOf and Transpose.",
    # "visformer": "Cannot find output backbone_node in auto mode, please provide target_layer",
}
goodsong81 commented 1 month ago

Partially resolved by