Python 3.x 如何在keras视网膜网训练中改变批量大小
我正在尝试训练keras_retinanet模型,如下面给出的代码所示,训练效果良好。我为fit_generator函数创建了一个CSVGenerator数据生成器,它继承了“generator”超类,其中有一个名为“batch_size”的参数默认为“1” 我想更改此“batch_size”变量的值,但我不知道如何更改。非常感谢您的帮助Python 3.x 如何在keras视网膜网训练中改变批量大小,python-3.x,oop,keras,Python 3.x,Oop,Keras,我正在尝试训练keras_retinanet模型,如下面给出的代码所示,训练效果良好。我为fit_generator函数创建了一个CSVGenerator数据生成器,它继承了“generator”超类,其中有一个名为“batch_size”的参数默认为“1” 我想更改此“batch_size”变量的值,但我不知道如何更改。非常感谢您的帮助 model = load_model('./snapshots/resnet50_csv_01.h5', backbone_name='resnet50')
model = load_model('./snapshots/resnet50_csv_01.h5',
backbone_name='resnet50')
generator = CSVGenerator(
csv_data_file='./data_set_retina/train.csv',
csv_class_file='./data_set_retina/class_id_mapping'
)
generator_val = CSVGenerator(
csv_data_file='./data_set_retina/val.csv',
csv_class_file='./data_set_retina/class_id_mapping'
)
model.compile(
loss={
'regression' : keras_retinanet.losses.smooth_l1(),
'classification': keras_retinanet.losses.focal()
},
optimizer=keras.optimizers.adam(lr=1e-5, clipnorm=0.001)
)
csv_logger = keras.callbacks.CSVLogger('./logs/training_log.csv',
separator=',', append=False)
model.fit_generator(generator, steps_per_epoch=80000, epochs=50,
verbose=1, callbacks=[csv_logger],
validation_data=generator_val,validation_steps=20000,class_weight=None,
max_queue_size=10, workers=1, use_multiprocessing=False,
shuffle=True, initial_epoch=0)
我想你说的是存储库 您可以在此处找到批量大小
:
然后将此变量传递给通用参数
字典中的生成器
事实上,还可以实例化CSVGenerator
传递batch\u size
参数。以下是您的代码片段:
generator = CSVGenerator(
csv_data_file='./data_set_retina/train.csv',
csv_class_file='./data_set_retina/class_id_mapping',
batch_size=16
)