3D Tensor를 2D Tensor Boolean Mask로 인덱싱하는 방법

안녕하세요!
혹시 파이토치로 3D 텐서의 모양을 유지하면서 2D 텐서 불리안 마스크로 인덱싱하는 방법이 있을까요?

저는 우선 다음과 같이 구현했습니다.
2D 불리안 마스크를 unsqueeze 하여 3차원으로 바꿔줌
torch.Tensor.repeat 메서드를 활용하여 마스킹 대상의 텐서와 같은 모양으로 바꿔줌
둘이 모양이 같기 때문에 엘레먼트 와이즈 곱셈으로 원하는 값만 남기고 나머지는 다 0으로 바꿔줌

원하는 결과값이 나오긴 하였지만, 이게 좋은 방법은 아닌것 같아서 혹시 다른 방법이 있는지 여쭤보려고 글 남깁니다!

2개의 좋아요

2d 이미지를 겹겹이 쌓아서, 3d로 만든다고 생각한다면

말씀해주신 repeat가 제일 좋은 방법으로 보이네요.

이 글은 마지막 댓글이 달린지 오래(30일)되어 자동으로 닫혔습니다. 댓글 대신 새로운 글을 작성해주세요! :slight_smile: