title: how to implement custom metric in keras?
body: <p>I get this error : </p>
  
  <blockquote>
    <p>sum() got an unexpected keyword argument 'out'</p>
  </blockquote>
  
  <p>when I run this code:</p>
  
  <pre><code>import pandas as pd, numpy as np
  import keras
  from keras.layers.core import Dense, Activation
  from keras.models import Sequential
  
  def AUC(y_true,y_pred):
      not_y_pred=np.logical_not(y_pred)
      y_int1=y_true*y_pred
      y_int0=np.logical_not(y_true)*not_y_pred
      TP=np.sum(y_pred*y_int1)
      FP=np.sum(y_pred)-TP
      TN=np.sum(not_y_pred*y_int0)
      FN=np.sum(not_y_pred)-TN
      TPR=np.float(TP)/(TP+FN)
      FPR=np.float(FP)/(FP+TN)
      return((1+TPR-FPR)/2)
  
  # Input datasets
  
  train_df = pd.DataFrame(np.random.rand(91,1000))
  train_df.iloc[:,-2]=(train_df.iloc[:,-2]&gt;0.8)*1
  
  
  model = Sequential()
  model.add(Dense(output_dim=60, input_dim=91, init="glorot_uniform"))
  model.add(Activation("sigmoid"))
  model.add(Dense(output_dim=1, input_dim=60, init="glorot_uniform"))
  model.add(Activation("sigmoid"))
  
  model.compile(optimizer='rmsprop',loss='binary_crossentropy',metrics=[AUC])
  
  
  train_df.iloc[:,-1]=np.ones(train_df.shape[0]) #bias
  X=train_df.iloc[:,:-1].values
  Y=train_df.iloc[:,-1].values
  print X.shape,Y.shape
  
  model.fit(X, Y, batch_size=50,show_accuracy = False, verbose = 1)
  </code></pre>
  
  <p>Is it possible to implement a custom metric aside from doing a loop on batches and editing the source code?</p>