본문 바로가기

studyLog. AI/오늘의 디버깅3

[Pytorch Lightning] GPU memory keeps increasing during training 발생한 현상 Training 에 돌입한 이후, 학습이 진행되는 과정에서 GPU VRAM (을 사용하는) 용량이 점차 증가, 결국 훈련 도중에 OOM 발생  일반적으로는, config 로 지정해준 batch size, grad accumulation, num of gpus 등의 하이퍼파라미터에 따라서 VRAM 사용량이 결정되며 이는 훈련 과정에서 변하지 않는다. (의도적으로 일정 스텝 이후에서 배치사이즈를 변경해주지 않는 한) 그런데 나의 경우에는, 훈련 도중에 자꾸만 VRAM 사용량이 증가하는 모습이 포착되었다.  원인 분석 Training Step 에서, .to('cuda') 명령어를 통해 CPU 에 있는 데이터셋 미니배치를 GPU 로 올려주게 되는데, 아무래도 그때 올라간 미니배치가 계속 누적되는 것.. 2024. 6. 9.
[Pytorch Lightning] Inconsistent Batch Size in Training 에러메세지 (경고메세지).UserWarning: Trying to infer the `batch_size` from an ambiguous collection  현상.학습을 시키려는 도중 굉장히 기이한 현상이 발견되었다. 매 Iteration 마다 라이브러리에 의해 자동적으로 포착되는 배치 사이즈가 (아래 이미지에서 The batch size we found is .... 에 해당한다.) 아래 터미널 이미지에서와 같이 매번 다르게 잡혔다. 나는 이때 배치사이즈를 고정 4로 설정해둔 상태였다. 난생 처음 보는 경우였기에 당황스러웠다. 원인.원인을 분석해본 결과, 그 이유는 내가 매 배치마다의 sequence length 를 통일시켜주지 않았기 때문으로 추정되었다. (다시 말해, 패딩을 별도로 하지 않았다... 2024. 5. 29.
[TensorFlow] Datatype 과 Tensor shape 1. 오늘의 에러메세지 InvalidArgumentError: {{function_node __wrapped__IteratorGetNext_output_types_2_device_/job:localhost/replica:0/task:0/device:CPU:0}} Input to reshape is a tensor with 1204224 values, but the requested shape has 150528 [[{{node Reshape}}]] [Op:IteratorGetNext] name: 2. 문제 발생 지점 def decode_tfrecord(self, tfrecord): """ Decode a tfrecord item. You need to specify how many bytes to rea.. 2024. 2. 18.
반응형