분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
2023 교원그룹 AI OCR 챌린지
BaseLine 코드에서 발생하는 "iter(train_loader).next()" 에러 해결
[해당 코드]
image_batch, text_batch = iter(train_loader).next()
print(image_batch.size(), text_batch)
제가 baseline 코드를 돌렸을 때, 이 부분에서 막혀서 학습을 못 했었습니다.
여러 해결방법을 찾아 공유합니다.
train_dataset = CustomDataset(train['img_path'].values, train['label'].values)
train_loader = DataLoader(train_dataset, batch_size = CFG['BATCH_SIZE'], shuffle=True, num_workers=0)
val_dataset = CustomDataset(val['img_path'].values, val['label'].values)
val_loader = DataLoader(val_dataset, batch_size = CFG['BATCH_SIZE'], shuffle=True, num_workers=0)
image_batch, text_batch = next(iter(train_loader))
AttributeError: '_SingleProcessDataLoaderIter' object has no attribute 'next'
에러가 발생했을 때 사용하시면 됩니다.
윈도우에서 똑같은 문제가 계속 발생하고 있네요..
num_workers 변수를 사용해도 Linux환경에서는 잘 돌아가지만, Window 환경에서는 freeze 된다고 합니다.
if __main__인가 코드가 있는데 달아서 코드 정리하면 해결되는걸로 알고있습니다.
삭제된 댓글입니다
감사합니다. 덕분에 해결되었어요
대단합니다.
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
window에서 학습을 돌리려고 시도했을 때는 저 방법을 써야 했지만, Linux에서 .py로 학습을 시도했을 때는 num_workers의 값과 상관없이 잘 동작하였습니다.