본문 바로가기

pytorch2

Captum을 이용해서 model interpretability를 살펴보자. PyTorch 공식 홈페이지의 예제 중에는 Captum 라이브러리를 활용하여 예측 결과를 시각화하는 예제가 있다. 입력으로 사용된 원본 이미지에서 활성화되는 부분을 시각화 하는 것은 모델의 이해를 위해 매우 중요한 작업이다. CAM(Class Activation Map), Grad-CAM 등 부터 근래에 발표된 Integrated Gradient 까지 pixel attribution method 들을 이용하는 것은 이러한 이유라고 볼 수 있다. 페이스북이 개발한 Captum은 PyTorch로 구현된 NLP모델이나 컴퓨터 비전 모델의 예측 결과를 이해하도록 돕는 오픈소스 라이브러리다. 위에서 언급한 pixel attribution method 들을 적용하는 통일된 방법을 제공하기 때문에 pytorch로 구.. 2021. 9. 17.
PyTorch Dataloader에서 원본 파일명을 알고 싶다. 이미지 분류를 위한 PyTorch의 사용 시에, 입력 데이터를 준비하는 가장 흔한 방법은 다음과 같다. 각 레이블 별로 이미지를 서로 다른 디렉토리에 저장한다. torchvision.datasets.ImageFolder( )를 이용하여, 폴더 구조로부터 데이터셋을 생성한다. 이 과정에서 필요한 transform을 수행하고, 텐서로 변환하며 정규화를 수행할 수 있다. torch.utils.data.DataLoader( )를 사용하여 생성된 데이터셋으로부터 데이터를 로드할 수 있다. 이 때, 원하는 크기의 배치 단위로 데이터를 로드하거나, 순서가 무작위로 섞이도록(shuffle) 할 수 있다. 이렇게 처리된 입력 데이터는 변환된 텐서와 레이블이 조합된 형태로 메모리에 로드되어 있다. 그런데 훈련된 모델에 의.. 2020. 11. 25.