2023년 10월 19일 목요일

파이토치 공부중 next() 함수 에러

데이터셋에서 미니배치를 불러올 때 예제코드대로 했더니 .next()함수에서 에러가 발생

dataiter1 = iter(train_loader1)
images1, labels1 = dataiter1.next()
print(images1.size())   # 배치 사이즈 확인


---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-12-53a15405132b> in <cell line: 2>()
      1 dataiter1 = iter(train_loader1)
----> 2 images1, labels1 = dataiter1.next()
      3 print(images1.size())   # 배치 사이즈 확인

AttributeError: '_SingleProcessDataLoaderIter' object has no attribute 'next'


최신 버전에서는 객체의 next() 함수로 쓰는 게 아니라 그냥 next() 안에 인자로 넣어줘야 했음


dataiter1.next() 를 아래 코드처럼 next(dataiter1) 로 수정했더니 해결

dataiter1 = iter(train_loader1)
images1, labels1 = next(dataiter1)
print(images1.size())   # 배치 사이즈 확인

댓글 없음:

댓글 쓰기