분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
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__인가 코드가 있는데 달아서 코드 정리하면 해결되는걸로 알고있습니다.
Deleted Comment
감사합니다. 덕분에 해결되었어요
대단합니다.
DACON Co.,Ltd | CEO Kookjin Kim | 699-81-01021
Mail-order-sales Registration Number: 2021-서울영등포-1704
Business Providing Employment Information Number: J1204020250004
#901, Eunhaeng-ro 3, Yeongdeungpo-gu, Seoul 07237
E-mail dacon@dacon.io |
Tel. 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
window에서 학습을 돌리려고 시도했을 때는 저 방법을 써야 했지만, Linux에서 .py로 학습을 시도했을 때는 num_workers의 값과 상관없이 잘 동작하였습니다.