온라인 채널 제품 판매량 예측 AI 온라인 해커톤

채용 | 알고리즘 | 정형 | 시계열 | LG Aimers | 수요 예측 | SFA

 

Baseline 실행 시 발생하는 [RAM 용량 부족 문제] 해소 방법 공유

2023.08.10 20:07 4,103 조회 language

baseline의 make_train_data 함수에서는 1씩 sliding 하며 데이터셋을 만듭니다.
그 결과로 500만개 이상의 데이터가 만들어지는데, 데이터셋의 크기가 커서
코드를 실행하는 환경의 RAM 용량이 받쳐주지 않는다면 코드가 멈추게 됩니다.

제 방법은 sliding 할 때, for문의 step size를 2 또는 그 이상으로 변경하여
데이터셋의 크기를 줄여 제한된 환경에서 학습이 가능하도록 하는 방법입니다.

아래 코드에서 STEP_SIZE 값을 본인의 환경에 맞게 조정하시면 됩니다.

코드
로그인이 필요합니다
0 / 1000
GAGEGA
2023.08.10 23:14

여담으로 cuda 메모리 부족하신분들은 이유는 알 수 없지만 TRAIN_WINDOW_SIZE 즉 학습일수를 늘리면 메모리문제를 해결할 수 있습니다. 저는 90일에서 120일로 하면 메모리 오류가 발생하지 않더라고요

EISLab_이희원
2023.08.10 23:23

그것도 데이터셋의 크기를 줄이는 방법 중에 하나입니다.
근데 학습일수 늘리면 VRAM 요구량이 늘어나는데, batch size를 줄이셨나요?

GAGEGA
2023.08.11 10:49

아 코드에 오류가 있었나보네요. 희원님말씀대로 학습일수말고 배치사이즈를 줄여야 돌아갑니다.

기가국밥
2023.08.13 15:48

제한된 환경에서 돌리기 힘들었는데 코드 공유 감사합니다!!

EISLab_이희원
2023.08.13 15:49

화이팅!

연수짱
2023.08.14 15:47

코드 기여 많이 해주셔서 감사합니다. 본받고 싶네요