이제 더 고급 프로젝트와 딥 러닝 방법을 빌드하기 시작 했으므로 각 프로젝트에 대한 특수 구성 Python 모듈을 만들고 싶습니다. 예를 들어, 다음은 Kaggle Dogs vs. Cats 프로젝트의 디렉토리 구조입니다.


다음 장에서 검토 할 예정이므로 지금은 실제 Python 스크립트를 무시할 수 있지만 config라는 디렉토리를 살펴보십시오. 구성 내부에는 dogs_vs_cats_config.py라는 단일 Python 파일이 있습니다.이 파일을 사용하여 다음을 포함하여 프로젝트의 모든 관련 구성을 저장합니다.
1. 입력 이미지에 대한 경로.
2. 총 클래스 레이블 수.
3. 교육, 검증 및 테스트 분할에 대한 정보.
4. HDF5 데이터 세트의 경로.
5. 출력 모델, 플롯, 로그 등에 대한 경로.
JSON 파일이 아닌 Python 파일을 사용하면 Python 코드 스니펫을 포함 할 수 있고 구성 파일을보다 효율적으로 작업 할 수 있습니다 (좋은 예는 다음을 사용하여 파일 경로를 조작하는 것입니다. os.path 모듈). 생산성을 크게 향상시키고 단일 파일을 통해 프로젝트의 대부분의 매개 변수를 제어 할 수 있으므로 자신의 딥 러닝 프로젝트에 Python 기반 구성 파일을 사용하는 습관을 들일 것을 제안합니다.
29.2.1 첫번째 Configuration 파일
계속해서 Kaggle Dogs vs. Cats 데이터 세트에 대한 구성 파일 (dogs_vs_cats_config.py)을 살펴 보겠습니다.

2 행에서는 개와 고양이 이미지가 포함 된 디렉토리 경로를 정의합니다. 이 이미지는 이 장의 뒷부분에서 HDF5 데이터 세트로 압축 할 이미지입니다. 7-9 행은 유효성 검사 및 테스트 이미지 수 (각각 2,500 개)와 함께 총 클래스 레이블 수 (2 개 : 개, 고양이)를 정의합니다. 그런 다음 13-15 행에서 각각 훈련, 검증 및 테스트 분할을 위해 출력 HDF5 파일의 경로를 지정할 수 있습니다.
구성 파일의 후반부는 출력 직렬화 된 가중치에 대한 경로, 데이터 세트 평균 및 플롯, 분류 보고서, 로그 등을 저장하기 위한 일반 “출력”경로를 정의합니다.#

DATASET_MEAN 파일은 전체 (훈련) 데이터 세트에 걸쳐 평균 빨강, 녹색 및 파랑 픽셀 강도 값을 저장하는 데 사용됩니다. 네트워크를 훈련시킬 때 이미지의 모든 픽셀에서 평균 RGB 값을 뺍니다 (테스트 및 평가에도 동일하게 적용됨). 평균 빼기 라고하는 이 방법은 데이터 정규화 기술의 한 유형이며 픽셀 강도를 [0,1] 범위로 조정하는 것보다 더 자주 사용됩니다. 이는 대규모 데이터 세트와 심층 신경망에서 더 효과적인 것으로 나타났습니다.