① 파이썬의 random_split()은 훈련과 검증 데이터셋을 나누는 용도로 사용하며 다음과 같은 파라미터를 사용합니다. 데이터가 데이터로더로 넘어간 이후에는 분리가 불가능하므로 데이터셋(dataset) 단계에서 진행해야 합니다.
ⓐ 첫 번째 파라미터: 분할에 사용될 데이터셋
ⓑ 두 번째 파라미터: 훈련과 검증 데이터셋의 크기 지정. [훈련 데이터셋 크기, 검증 데이터셋 크기]
앞에서 훈련 데이터셋으로부터 분리된 valid_data를 valid_data라는 변수에 복사한 후 ‘test_transforms’로 전처리를 적용합니다.
코드 6-50 검증 데이터 전처리
valid_data = copy.deepcopy(valid_data)
valid_data.dataset.transform = test_transforms
데이터가 훈련, 검증, 테스트로 분류되었기 때문에 각각 몇 개의 이미지 데이터가 있는지 확인합니다.
코드 6-51 훈련, 검증, 테스트 데이터셋 수 확인
print(f'Number of training examples: {len(train_data)}')
print(f'Number of validation examples: {len(valid_data)}')
print(f'Number of testing examples: {len(test_dataset)}')