본문 바로가기

Study/신입 자라기

[Study] 신입 자라기 - 97

신입 자라기 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