
배치 내에서 문장 길이가 다를 때, 짧은 문장을 <pad> 로 채워 모양을 맞춤. 하지만 pad 위치는 attention / loss 에서 무시해야 함.
lengths (B,) 로부터 키 패딩 마스크 (B, L) 를 만듭니다:
예: lengths=[3,5,2], L=5
[[ T T T F F ],
[ T T T T T ],
[ T T F F F ]]
함수 padding_mask(lengths, L) 를 완성하세요.
lengths: shape (B,), 각 시퀀스의 실제 길이.L: 최대 길이 (int).(B, L) bool.np.arange(L)[None, :] < lengths[:, None].| # | 이름 | 검증 |
|---|---|---|
| 1 | shape (B, L), bool | |
| 2 | 행마다 True 개수 = lengths | |
| 3 | pad 위치 False | j ≥ lengths[b] |
| 4 | 전부 가득 찬 경우 | lengths=[L,L,L] → 모두 True |
| 5 | 길이 0 포함 | 빈 행 전부 False |
코드를 작성하고 Run 을 눌러보세요.