신입 자라기 97일 차, 목요일
Daily Routine
시간 | Routine |
8 : 30 | 기상 |
9 : 15 ~ 10 : 15 | 출근 시간 |
10 : 15 ~ 11 : 30 | 1. ray를 활용한 병렬학습이 안되는 원인 파악 |
11 : 30 ~ 12 : 30 | 점심 시간 |
12 : 30 ~ 18 : 00 | 1. 오전 태스크 연장 - 데이터셋을 하나로 만 사용해서 데드락 상태로 추정 |
18 : 00 ~ 19 : 30 | 1. 개인 공부 |
19 : 30 ~ 21 : 30 | 퇴근 및 휴식 |
21 : 30 ~ 25 : 00 | 1. 블로그 포스팅 2. 수학 3. 프로그래머스 |
Ray 안티 패턴 - Fetching too many results at once with ray.get
- 반환 값과 변환 값이 너무 많은 경우
- remote()에 의해 반환 값이 많은 개체에서 ray.get을 실행하면 개체 저장소 OOM이 발생할 수 있음
- 한 번에 하나의 배치를 처리하는 방식으로 배치를 하나 씩 처리하면서 객체 저장소 메모리 부족 방지를 위해 하나씩 퇴거 시킴
안티 패턴
@ray.remote
def return_big_object():
return np.zeros(1024*1024*10)
object_refs = [return_big_object.remote() for _ in range(1e6)]
# Calling ray.get will cause object store to OOM!
results = ray.get(object_refs)
write_to_file(results)
권장 패턴
@ray.remote
def return_big_object():
return np.zeros(1024*1024*10)
object_refs = [return_big_object.remote() for _ in range(1_000_000)]
while object_refs:
chunk, object_refs = ray.wait(object_refs, num_returns=1000)
results = ray.get(chunk)
write_to_file(results)
출근길에 보는 CS
휴무
'Study > 신입 자라기' 카테고리의 다른 글
[Study] 신입 자라기 - 99 (0) | 2022.07.05 |
---|---|
[Study] 신입 자라기 - 98 (0) | 2022.07.02 |
[Study] 신입 자라기 - 96 (0) | 2022.06.30 |
[Study] 신입 자라기 - 95 (0) | 2022.06.29 |
[Study] 신입 자라기 - 94 (0) | 2022.06.28 |