데이터를 생성하는 데 ImageDataGenerator
및 flow_from_directory
을 사용하고 model.fit_generator
을 사용하여 을 사용하여 데이터를 저장합니다.모든 일괄 처리 또는 신기원 (Keras)의 콘솔에 유효성 검증 정확도 인쇄
이 기본값은 학습 데이터 세트에 대해서만 정확도를 출력하는 것입니다. 유효성 검사의 정확성을 터미널에 출력하는 옵션이없는 것 같습니다. 여기
내 코드의 관련 부분입니다 :#train data generator
print('Starting Preprocessing')
train_datagen = ImageDataGenerator(preprocessing_function = preprocess)
train_generator = train_datagen.flow_from_directory(
train_data_dir,
target_size = (img_height, img_width),
batch_size = batch_size,
class_mode = 'categorical') #class_mode = 'categorical'
#same for validation
val_datagen = ImageDataGenerator(preprocessing_function = preprocess)
validation_generator = val_datagen.flow_from_directory(
validation_data_dir,
target_size = (img_height, img_width),
batch_size=batch_size,
class_mode='categorical')
########################Model Creation###################################
#create the base pre-trained model
print('Finished Preprocessing, starting model creating \n')
base_model = InceptionV3(weights='imagenet', include_top=False)
x = base_model.output
x = GlobalAveragePooling2D()(x)
x = Dense(1024, activation='relu')(x)
predictions = Dense(12, activation='softmax')(x)
model = Model(input=base_model.input, output=predictions)
for layer in model.layers[:-34]:
layer.trainable = False
for layer in model.layers[-34:]:
layer.trainable = True
from keras.optimizers import SGD
model.compile(optimizer=SGD(lr=0.001, momentum=0.92),
loss='categorical_crossentropy',
metrics = ['accuracy'])
#############SAVE Model #######################################
file_name = str(datetime.datetime.now()).split(' ')[0] + '_{epoch:02d}.hdf5'
filepath = os.path.join(save_dir, file_name)
checkpoints =ModelCheckpoint(filepath, monitor='val_acc', verbose=1,
save_best_only=False, save_weights_only=False,
mode='auto', period=2)
###############Fit Model #############################
model.fit_generator(
train_generator,
steps_per_epoch =total_samples//batch_size,
epochs = epochs,
validation_data=validation_generator,
validation_steps=total_validation//batch_size,
callbacks = [checkpoints],
shuffle= True)
UPDATE 출력 :
교육 전반에 걸쳐, 난 단지 교육 정확성, 의 출력을 받고 있지만, 교육의 끝에있어, I "., 검증의 정확성을 모두 교육을 받고
Epoch 1/10
1/363 [..............................] - ETA: 1:05:58 - loss: 2.4976 - acc: 0.0640
2/363 [..............................] - ETA: 51:33 - loss: 2.4927 - acc: 0.0760
3/363 [..............................] - ETA: 48:55 - loss: 2.5067 - acc: 0.0787
4/363 [..............................] - ETA: 47:26 - loss: 2.5110 - acc: 0.0770
5/363 [..............................] - ETA: 46:30 - loss: 2.5021 - acc: 0.0824
6/363 [..............................] - ETA: 45:56 - loss: 2.5063 - acc: 0.0820
터미널에 출력되는 내용은 무엇입니까? 몇 가지 예를 들려 주시겠습니까? – Tay2510
@ Tay2510 지금 당장은 모델을 실행할 수 없지만 기본적으로 자세한 [1] Keras 출력은 각 일괄 처리 후에 진행 상황을 출력합니다. – Moondra
만약'verbose = 1'이라면, 터미널에'val_loss','val_acc' 출력이 있어야합니다. 그것이 내가 당신의 결과물을 보여달라고 요청한 이유입니다. – Tay2510