boostcampaitech6 / level1-imageclassification-cv-10

level1-imageclassification-cv-10 created by GitHub Classroom
1 stars 2 forks source link

[FIX] DataLoader_num_workers : RuntimeError #20

Closed classaen7 closed 8 months ago

classaen7 commented 8 months ago
train_loader = DataLoader(
            train_set,
            batch_size=args.batch_size,
            num_workers=multiprocessing.cpu_count() // 2,
            shuffle=True,
            pin_memory=use_cuda,
            drop_last=True,
        )

Detection model 적용시 해당 data loader 코드에서 다음과 같은 오류 발생 RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method

num_workers=multiprocessing.cpu_count() // 2num_workers=multiprocessing.cpu_count()//2 if args.face_detection=='False' else 0 로 변경하면 에러는 사라지지만 정확한 원인을 찾아야 함

classaen7 commented 8 months ago

멀티 프로세싱과 관련된 문제로 보임

woohee-yang commented 8 months ago

멀티 프로세싱을 꼭 할 필요는 없어서 수정하신 if 문이 첨가된 코드도 괜찮아 보이는데 혹시 다른 문제가 있으신가요?

classaen7 commented 8 months ago

num_workers=multiprocessing.cpu_count() // 4로 설정해도 오류가 생겨서 기존의 코드대로 detection을 수행할 경우 0을 할당받게 설정함