Sequece 부분에서 이미지, 라벨 호출할 때 질문이 있습니다
215
작성한 질문수 44
#next(iter(cnd_ds))
images_batch = next(iter(cnd_ds))[0]
labels_batch = next(iter(cnd_ds))[1]
print(images_batch.shape, labels_batch.shape)
print(images_batch[0])
안녕하세요. 제가 파이썬 문법에 많이 약해서 헷갈리는 부분이 있어서 질문을 드립니다. 혹시 시퀀스 데이터셋에서 iterator로 만든 후 next를 호출해서 각각 0번 1번 인덱스로 호출을 하는데, 궁금한 점이 image_batch = next(iter(cnd_ds))[0]를 실행하면 내부적으로 cnd_ds에 대한 iterator가 옮겨져서 다음에 labels_batch 라인을 호출할 때는 다음 배치 64개의 label이 호출될 줄 알았는데 선생님이 의도하시던대로 잘 되어서 궁금했습니다
전에 사용하던 ImageDataGenerator에서는 지금 사용하는 앞에서 묶는 것이 아니라 따로 .next() 함수가 있던데 서로 다른 개념일까요?
답변 3
1
질문을 제가 잘 이해했는지 모르겠지만,
next(iter(cnd_ds)) 를 하게 되면 __getitem__()에서 image 배치 array와 label 배치 array를 tuple 형태로 한번에 반환하게 됩니다. 그러니까, image_array, label_array = next(iter(cnd_ds)) 가 됩니다.
즉 next(iter(cnd_ds))[0]은 image_array가 되고, next(iter_cnd_ds))[1]은 label_array가 됩니다.
그리고 질문하신,
전에 사용하던 ImageDataGenerator에서는 지금 사용하는 앞에서 묶는 것이 아니라 따로 .next() 함수가 있던데 서로 다른 개념일까요?
=> 동일한 개념입니다.
0
아, 만약에 iterator 변수로 아예 선언하면 달라지는 것이었습니다
이렇게 되면 images와 labels가 순서 쌍이 맞지 않을텐데, 선생님이 적어주신 것이랑 같은 줄 알고 헷갈렸었습니다
cnd_iter = iter(cnd_ds)
images_batch = next(cnd_iter)[0]
labels_batch = next(cnd_iter)[1]
print(images_batch.shape, labels_batch.shape)
print(images_batch[0])
resize 질문
0
60
1
20251212 Kaggle 런타임에 scikit-learn 설치 실패 트러블 슈팅
0
86
1
Loss와 매트릭 관계
0
75
2
Boston 코랩 실습
0
170
2
배치 정규화의 이해와 적용 2 강의 질문
0
143
2
Augmentation원본에 적용해서 데이터 갯수 자체를 늘리는 행위는 의미가있나요?
0
151
2
Conv함수 안에 activation 을 넣지 않는 이유가 뭔지 궁금합니다.
0
212
2
소프트맥스 관련 질문입니다
0
215
1
강의 관련 질문입니다
0
161
2
residual block과 identity block의 차이
0
200
2
옵티마이저와 경사하강법의 차이가 궁금합니다.
1
251
1
실습 환경
0
171
2
입력 이미지 크기
0
256
2
데이터 증강
0
203
2
albumentations ShiftScaleRotate
0
211
1
Model Input Size 관련
0
294
1
마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??
0
206
1
일반적인 질문 (kaggle notebook사용)
0
276
2
실무에서 Augmentation 적용 시
0
346
2
안녕하세요 교수님
0
235
1
가중치 초기화(Weight Initialization) 질문입니다.
0
332
1
테스트 데이터셋 predict의 'NoneType' object has no attribute 'shape' 오류
0
412
1
학습이 이상하게 됩니다.
2
1040
2
boston import가 안됩니다
0
230
1





