Explainable CNN

Xpert·2024년 3월 9일
0

Computer Vision

목록 보기
7/10

일반적으로는 메트릭만 가지고도 모델이 잘 학습되었는 지를 파악할 수 있지만, 이미지 기반 모델의 경우 Feature Map을 시각화 해서 보면 모델이 어떤 식으로 학습되었고 어떤 부분에 집중하는 지를 조금 더 직관적으로 파악할 수 있다.

사용법

Load

$ pip install explainable-cnn


from explainable_cnn import CNNExplainer

cnn_explainer = CNNExplainer(model, class_labels)

Pytorch에서는 위와 같이 모델과 이에 해당하는 label을 불러와서 CNNExplainer에 넣으면 된다.

Visualize

saliency_map = cnn_explainer.get_saliency_map(
    IMG_PATH, 3, (224, 224))
    
guided_backprop = cnn_explainer.get_guided_back_propagation(
    IMG_PATH, 3, (224, 224) 
    )

grad_cam = cnn_explainer.get_grad_cam(
    IMG_PATH, 3, (224, 224), ["features"] 
    )
    
guided_grad_cam = cnn_explainer.get_guided_grad_cam(
    IMG_PATH, 3, (224, 224), ["features"] 
    )

Sailency Map, Guided Backpropagation, Grad CAM 등의 방식이 있다.
Feature Map을 분석할 이미지의 경로와 해당 이미지가 속한 레이블을 입력으로 넣어줘야 한다.
Grad CAM의 경우, 모델의 레이어 단위로 시각화 가능하다.

profile
Python, CV, ML, Backend

0개의 댓글

관련 채용 정보