가져 오기 데이터 세트에 관한 문제로 인해 저는 미쳐 버릴 것입니다.Keras-SegNet에서 ImageDataGenerator와 fit 또는 fit_generator를 사용하십시오.
이것은 내 segnet 코드의 일부입니다.
마스크 데이터 가져 오기 &에 관한 질문에 집중하겠습니다.
I는 500 * 500의 입력 크기를 변경하므로 I는 풀링 업 샘플링 및 계층 크기 조정 된
print("CNN Model created.") ###training data data_gen_args = dict() image_datagen = ImageDataGenerator(**data_gen_args) mask_datagen = ImageDataGenerator(**data_gen_args) seed1 = 1 image_datagen.fit(images, augment=True, seed=seed1) mask_datagen.fit(masks, augment=True, seed=seed1) train_image_generator = image_datagen.flow_from_directory(TRAIN_im,target_size=(500, 500),batch_size=BATCH_SIZE, class_mode = None) train_mask_generator = mask_datagen.flow_from_directory(TRAIN_mask,target_size=(500, 500),batch_size=BATCH_SIZE, class_mode = None) train_generator = zip(train_image_generator,train_mask_generator) ###validation data valid_gen_args = dict() val_image_datagen = ImageDataGenerator(**valid_gen_args) val_mask_datagen = ImageDataGenerator(**valid_gen_args) seed2 = 5 val_image_datagen.fit(val_images, augment=True, seed=seed2) val_mask_datagen.fit(val_masks, augment=True, seed=seed2) val_image_generator = val_image_datagen.flow_from_directory(VAL_im,target_size=(500, 500),batch_size=BATCH_SIZE, class_mode = None) val_mask_generator = val_mask_datagen.flow_from_directory(VAL_mask,target_size=(500, 500),batch_size=BATCH_SIZE, class_mode = None) val_generator = zip(val_image_generator,val_mask_generator) ### model.fit_generator( train_generator,steps_per_epoch=nb_train_samples//BATCH_SIZE,epochs=EPOCHS,validation_data=val_generator,validation_steps=nb_validation_samples//BATCH_SIZE)
질문이다. 달성 가능합니까? 더 많은 것을, 고전적인 그물을 만들 수 있습니까 (AlexNet, VGG, Segnet ...) 그들의 풀링 및 upsample 레이어 크기와 필터 번호를 조정하여 임의의 입력 이미지 크기를 허용합니까?
- 내가 변수 "이미지"와 "마스크"의 데이터 유형이 무엇인지 알고 싶습니다
:.
image_datagen.fit(images, augment=True, seed=seed1) mask_datagen.fit(masks, augment=True, seed=seed1)
이 부분은 Keras 공식 튜토리얼입니다 (ANS가 : 이제 내가 아는 둘 numpy 배열입니다.)
위의 질문에 따르면. 어떻게 파생시킬 수 있습니까?
아래와 같은 mnist.load_data() 함수를 작성해야합니까?
몇 가지 예가 필요합니다.
(x_train_image, y_train_label), (x_test_image, y_test_label) = mnist.load_data()
나는
flow_from_directory
가 자신에 의해 "mnist.load_data()" 같은 함수를 정의 할 필요가 없다는 뜻 기능을 사용하고 난을 얻을하는 데 사용할 수 있습니다 (배치, 셔플) 데이터를 내 디렉토리 구조에서 직접?
이 내 디렉토리 구조입니다 :
Dataset -training----------images----"many images"
| |
| |-----mask-----"ground truth images(mask)"
|
|
validation----------val_images----"many images"
| |
| |------val_mask------"ground truth images(mask)"
|
|
testing---------------test images (no ground truth)
고마워요!
ImageDataGenerator를 세그먼트 화 문제와 함께 실제로 사용할 수 있습니까? 내 지식에 그것은 디렉토리에서 이미지를 무작위로 읽을 것이지만 물론 이미지와 마스크 사이에 일치하는 쌍이 필요합니다. – pietz
@pietz Keras 공식 자습서를 읽었습니다 : https://keras.io/preprocessing/image/ '이미지와 마스크를 함께 변환하는 예'라는 키워드를 검색 할 수 있습니다. 페이지에서. 나는 그렇게 할 수있을 것 같다. 나는 github에서 몇 가지 keras segnet 예제를 보았습니다. –
ImageDataGenerator에 대한 경험은별로 없지만 문서를 보면'normal'에 대한 샘플 통계를 계산할 때만'fit' 메서드가 필요합니다. 'featurewise_center','featurewise_std_normalization' 또는'zca_whitening'을 사용하는 경우에만 필요합니다. 너? 이 경우 이미지와 마스크는 통계를 계산하기위한 샘플 데이터입니다. – filippo