拟合Keras模型时抑制输出

时间:2019-11-18 08:50:04

标签: python python-3.x output tensorflow2.0 keras-2

我用Keras设计了一个NN,定义模型后的代码如下:

import { Timeline, DataSet } from 'vis-timeline';
import 'vis-timeline/lib/timeline/component/css/animation.css';
import 'vis-timeline/lib/timeline/component/css/currenttime.css';
import 'vis-timeline/lib/timeline/component/css/customtime.css';
import 'vis-timeline/lib/timeline/component/css/dataaxis.css';
import 'vis-timeline/lib/timeline/component/css/item.css';
import 'vis-timeline/lib/timeline/component/css/itemset.css';
import 'vis-timeline/lib/timeline/component/css/labelset.css';
import 'vis-timeline/lib/timeline/component/css/panel.css';
import 'vis-timeline/lib/timeline/component/css/pathStyles.css';
import 'vis-timeline/lib/timeline/component/css/timeaxis.css';
import 'vis-timeline/lib/timeline/component/css/timeline.css';

Template.kk.onRendered(() => {
  const container = $('#visualization');
  const items = new DataSet([
    { id: 1, content: 'item 1', start: '2014-04-20' },
    { id: 2, content: 'item 2', start: '2014-04-14' },
    { id: 3, content: 'item 3', start: '2014-04-18' },
    {
      id: 4, content: 'item 4', start: '2014-04-16', end: '2014-04-19',
    },
    { id: 5, content: 'item 5', start: '2014-04-25' },
    {
      id: 6, content: 'item 6', start: '2014-04-27', type: 'point',
    },
  ]);
  const options = {};
  const tl = new Timeline(container[0], items, options);
  console.log('tl');
  console.log(tl);
});

当我开始进行拟合过程时,我会在第一个时期得到这种输出:

model.compile(optimizer= 'Adam',loss='mean_squared_error')
##callbacks
cb_checkpoint = ModelCheckpoint("model.h5", monitor='val_loss', save_weights_only=True,save_best_only=True, save_freq=1)
cb_Early_Stop=EarlyStopping( monitor='val_loss',patience=5)
cb_Reduce_LR = ReduceLROnPlateau(monitor='val_loss', factor=0.3, patience=5, verbose=0, mode='auto', min_delta=0.0001, 
                                 cooldown=0, min_lr=0)

callbacks = [cb_checkpoint,cb_Early_Stop,cb_Reduce_LR]
history = model.fit(
          x = {'inputsA': inputsA,  'inputsB': inputsB, 'inputsC': inputsC, 'inputsD': inputsD, 'input_site_id': site_id, 'input_building_id': building_id,  
               'input_meter': meter, 'input_primary_use': primary_use, 
                        'input_week': week, 'input_floor_count': floor_count, 'input_month': month, 'input_hour': hour} , y = {'predictions' : target}, batch_size = 16, epochs = 1000,
    validation_split = 0.1,
            callbacks=callbacks)

我想抑制此输出,并仅在每个纪元结束时获得有关火车和val损失的更新。

我该如何实现?

1 个答案:

答案 0 :(得分:0)

keras documentation所述,如果输入是生成器或序列,则validation_split将不起作用。

您可以改为提供validation_data参数。