Advertisement
Guest User

Untitled

a guest
May 25th, 2018
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.94 KB | None | 0 0
  1. def custom_metric_mean_absolute_error(y_true, y_pred):
  2.     return K.abs(y_pred - y_true)
  3.  
  4. class LossHistory(keras.callbacks.Callback):
  5.     def __init__(self, n_labels):
  6.         super(LossHistory, self).__init__()
  7.         self.n_labels = n_labels
  8.  
  9.     def on_batch_end(self, logs={}):
  10.          for i in xrange(self.n_labels):
  11.             loss_name = 'custom_loss_neuron_', i
  12.             cm_mean_absolute_error = logs.get('custom_metric_mean_absolute_error')
  13.             logs[loss_name] = cm_mean_absolute_error[i]
  14.  
  15. model.compile(loss='mean_absolute_error', optimizer='adam', metrics=['mean_squared_error', custom_metric_mean_absolute_error])
  16.  
  17. callbacks = []
  18. history_callback = LossHistory(n_labels)
  19. callbacks.append(history_callback)
  20.  
  21. history = model.fit_generator(generate_batches_from_hdf5_file(...), ..., callbacks=callbacks)
  22.  
  23. #### result:
  24. #logs[loss_name] = cm_mean_absolute_error[i]
  25. #IndexError: invalid index to scalar variable.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement