• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

cam모델 구축 질문드립니다.

21.08.25 01:11 작성 조회수 97

0

1.data, label = trainset[img_sample] # 이미지 한 장과 라벨 불러오기
라고 설명 되 있는데 [img_sample]이 어디서 나온건지 , 무슨역할을 하는건지 모르겠습니다.... ㅜ
2. hook을 통해 feature map을 가져온다고 하셨는데
model.layer4[1].bn2.register_forward_hook(get_activation('final'))
여기서 'final'은 임의로 name을 정하신건가요?
3. data.unsqueeze_(0)
차원을 늘린 이유가 궁굼합니다

답변 1

답변을 작성해보세요.

1

안녕하세요!

1. img_sample은 이미지 번호로 for문을 돌면서 번호가 하나씩 들어가는 것입니다. 즉, 이미지 한 장 받아서 한 장의  CAM 이미지를 만드는 것입니다.

2. 맞습니다.

3. CNN 모델에 데이터를 넣으려면 크기가 4차원이 되어야 하는데 한 장을 불러왔기 때문에 3차원 이미지입니다. 따라서 unsqueeze를 통해 0번째 크기를 1로 만들어서 크기가 (채널, 너비, 높이)인 이미지를 (1,채널, 너비, 높이) 크기로 변경하는 것입니다. 참고로 unsqueeze_는 인플래이스 방식으로 data에 data.unsqueeze를 바로 업데이트 해줍니다 :)