-
Keras Cat Dog 분류 - 4. 딥러닝 시작하기 - 훈련 데이터 분류하여 복사하기주제를 딱히 정하기 싫을때 2019. 6. 13. 17:24
설치 부터 실제 분류까지 keras로
Cat과 Dog 데이터 셋으로 끝까지 해보기
2019/06/13 - [주제를 딱히 정하기 싫을때] - Keras Cat Dog 분류 - 3. 딥러닝 시작하기 - 데이터 확보및 구성
6 훈련 데이터 복사하기
-
keras 폴더로 이동합니다.
-
c:\keras
-
주피터 노트북을 실행 합니다.
-
c:\keras\jupyter notebook
-
브라우저에 주피터 노트북의 메인화면이 나옵니다.
-
우측에 new -> 가상환경 커널명을 선택하여 클릭하세요
-
복사에 필요한 모듈을 임포트 합니다.
-
import os, shutil
-
shutil
-
copy 라이브러리
-
shutil.copy(원본 대상,복사할 대상)
-
데이터 원본 path 와 복사하여 저장할 path를 지정합니다.
-
original_dataset_path = './dogsNcats'
-
c:\keras\dogsNcats 의 위치가 됩니다.
-
copy_train_path = './datasets'
-
c:\keras\datasets 의 위치가 됩니다.
-
참고로 주피터의 '/' 와 윈도우의 '\' 표기가 다른 것은 주피터는 리눅스와 같은 표기를 하기 때문입니다.
-
train폴더의 사진을 dog 와 cat 의 폴더를 만들어 해당 사진을 이동 시키고
훈련데이터 검증데이터를 나누는 함수를 만들겠습니다.
-
train 데이터의 파일명칭 형태
-
cat.100.jpg
-
dog.100.jpg
-
image_paths = [os.path.join(original_dataset_path,"train",dogORcat_path + '.' + str(i) + '.jpg')
for i in range(start_num,end_num)]
-
파일 명칭과 같은 형태로 만들어 원하는 수 만큼 뽑아 리스트를 만듭니다.
-
os.path.join(A,B)
-
A와 B를 연결하여 줍니다.
-
target_copy_paths = os.path.join(copy_train_path,trainORval_path,dogORcat_path)
-
(복사할 장소 폴더명 , train 폴더 또는 validation 폴더, dog 폴더 또는 cat 폴더 ) 경로를 붙입니다.
-
if not os.path.isdir(target_copy_paths):
os.makedirs(target_copy_paths)
-
복사할 장소 폴더가 없다면 미리 만들어 둡니다.
-
for image_path in image_paths:
shutil.copy(image_path, target_copy_paths)
-
image_paths의 목록을 하나씩 읽어 들여 복사합니다.
-
함수를 실행 시켜 복사합니다.
-
훈련데이터 각각 10000장
-
검증 데이터 각각 2500장
-
copy_files("dog",0,10000,"train")
-
copy_files("cat",0,10000,"train")
-
copy_files("dog",10000,12500,"validation")
-
copy_files("cat",10000,12500,"validation")
-
훈련데이터와 검증데이터가 각각의 폴더에 cat 과 dog 폴더로 나눠 복사 되었음을 확인합니다.
-
print("훈련데이터 Dog 개수",len(os.listdir('./datasets/train/dog')))
-
print("훈련데이터 Cat 개수",len(os.listdir('./datasets/train/cat')))
-
print("검증데이터 Dog 개수",len(os.listdir('./datasets/validation/dog')))
-
print("검증데이터 Cat 개수",len(os.listdir('./datasets/validation/cat')))
-
os.listdir()
-
지정한 디렉토리의 모든 파일목록을 반환합니다.
-
len(os.listdir(PATH))
-
len을 통해 PATH의 모든 파일 목록을 가져와서 총 개수를 반환 하게 됩니다.
-
탐색기를 통해 직접 확인해 보세요
-
이번파트의 코드도 올려 드립니다.
다음 파트 딥러닝 훈련 모델을 위한 콜백 함수를 구성 하겠습니다.
수고 하셨습니다.
'주제를 딱히 정하기 싫을때' 카테고리의 다른 글
Keras Cat Dog 분류 - 6. 딥러닝 시작하기 - 모델 구성 (0) 2019.06.13 Keras Cat Dog 분류 - 5. 딥러닝 시작하기 - 콜백 함수 (0) 2019.06.13 Keras Cat Dog 분류 - 3. 딥러닝 시작하기 - 데이터 확보및 구성 (0) 2019.06.13 Keras Cat Dog 분류 - 2. 딥러닝 라이브러리 설치하기 (0) 2019.06.13 딥러닝 - 케라스 Cat과 Dog 분류하기 - 1. 설치환경 구축 (0) 2019.06.13 -