Boolean Indexing의 개념은 아래를 보자.
[Boolean indexing] for문과 같은 loop 없이 tensor에서 특정 조건에 맞는 요소만 추출
Boolean indexing이 뭔지는 모르겠지만 왜 필요할까? 여성들의 키가 이처럼 나타났을 때 모델은 170 이상...
blog.naver.com
나의 Usage
chunk 단위로 에너지를 계산하고, 이를 threshold와 비교하기.
threshold를 못넘으면 그냥 0에 가깝지만 0이 아닌 0.001을,
threshold 이상의 것은 살리는 그런 작은 task
for문을 사용하지 않고 boolean indexing을 통해서 구할 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
|
import torch
chunk = torch.randn(2, 5, 6)# [channel, chunk_len, num_chunk]
chunk_energy = (chunk ** 2).sum((0, 1))
print(chunk_energy)
print(chunk_energy < 8)
chunk_energy[chunk_energy<8]=0.001
print(chunk_energy)
>> tensor([3, 4, 9, 3, 8, 7])
>> tensor([ True, True, False, True, False, True])
>> tensor([1.0000e-03, 1.0000e-03, 9, 1.0000e-03, 8, 1.0000e-03])
|
cs |
딥러닝에서는 되도록 for문을 사용하지 않게 하여 병렬 처리가 가능할 수 있도록 구현해주는 것이 좋다.
'딥러닝 꿀팁' 카테고리의 다른 글
딥러닝 iteration 돌다가 중간에 죽었음 뜰 때는 pin_memory를 먼저 보라 (0) | 2024.02.27 |
---|---|
Pytorch에서 쓸 때마다 헷갈리는 unfold, fold 정리 (2) | 2024.01.09 |
[파이썬]리스트에서 특정 column 내용 추출하기 (0) | 2023.05.24 |
왜 torch.zeros를 쓰지 않고 torch.new_zeros를 사용할까 (0) | 2023.05.16 |
모델을 Evaluation시 필수적으로 넣어줘야 할 것 (0) | 2023.05.16 |