최근 Kaggle 이미지 분류 경기 : RSNA 두개 내 출혈 감지 ( https://www.kaggle.com/c/rsna-intracranial-hemorrhage-detection/overview )와 Yolov3 읽기
흥미로운 팁 소스가 학습 및 훈련의 깊이로 노광하고, 그 fit_generator의 Keras와 데이터, 사용 가능한 메모리의 부피를 생성하는 발전기 및 발전기를 구성하는 경우 때,이 방법은 대규모 훈련 데이터 세트에 적합하다. DataGenerator는 일반적 __len 포함 keras 시퀀스 클래스가 파생 된 클래스 __ __ getitem__, on_epoch_end 등, 예를 들어, 다음 배치 영상 데이터 생성 :
클래스 dataGenerator (keras.utils.Sequence) : DEF __init__ (자체, LIST_IDS, 라벨의 BATCH_SIZE = 1, img_size = (512, 512. ), img_dir, * 인수, ** kwargs로) : "" " self.list_IDs : 스토어 모든 필요한 교육 이미지 파일 이름 목록. self.labels :. 기록 pandas.DataFrame 데이터 유형 사진 기밀 정보를 표시는 사전에 주어졌다 self.batch_size : 모든 배치 생산, 훈련 샘플 크기를. self.img_size을 : 교육 이미지 크기. self.img_dir :. 경로 사진을 컴퓨터에 저장는 "" " self.list_IDs = LIST_IDS self.labels =이 레이블 self.batch_size = BATCH_SIZE self.img_size= Img_size self.img_dir = img_dir self.on_epoch_end () DEF __len__ (자기) "" " . 위로 발생기 길이 발생한 총 배치 데이터 즉, 번호" "" 복귀 INT (CEIL (LEN (self.list_IDs을 ) / self.batch_size))는 DEF __getitem__을 (자기 인덱스) "" " 이 기능은 처리 된 데이터를 우리가 필요로하는 각각의 시간을 반환한다." "" 인덱스들 =의 self.indices [self.batch_size 지수 *. (+ 인덱스 1 ) * self.batch_size] list_IDs_temp = self.list_IDs [K] 에 대한 K 의 인덱스] X-는 Y = 셀프.__data_generation (list_IDs_temp는) 반환 X 축의 Y- DEF의 on_epoch_end (자기) : "" " .이 호출마다 자동 실행의 끝을 획기적인 훈련되고, 여기에 임의의 인덱스는 다음 배치 실행을 촉진하기 위해 차질입니다" "" self.indices = np.arange (LEN (self.list_IDs)) np.random.shuffle (self.indices) DEF __data_generation (자기, list_IDs_temp) "" " 파일명, 데이터가 생성되는 주어진다." "" X- = NP .empty ((self.batch_size, self.img_size * ,. 1 )) 는 Y = np.empty ((self.batch_size ,. 6) DTYPE = np.float32) 에 대한 I,ID 에 열거 (list_IDs_temp) X는 [I,]= mpimg.imread (self.img_dir + ID + " .png를 " ) Y [I,] = self.labels.loc [ID] .values가 반환 X, Y
다음과 같이 발전기, 우리는 fit_generator 방법으로 훈련 할 수있다, 형식 루틴은 다음과 같습니다 :
model.fit_generator (발전기
steps_per_epoch = ... ,
신 (新) 시대 = ... ,
자세한 = ... ,
콜백 = ... ,
validation_data = ... ,
validation_steps = ... ,
validation_freq = ... ,
class_weight = 없음 = ...,
max_queue_size = ...
노동자 = ... ,
use_multiprocessing = ... ,
)
또한 우리는 또한 일괄 예측을 수행 할 수 있습니다
model.predict_generator ()