title: AttributeError: 'Functional' object has no attribute 'predict_proba'
body: <p>For printing the ROC curve with multiple models, I am facing this particular error. Help is needed</p>
  <pre><code>from tensorflow.keras.models import load_model
      def dense():
        return (load_model('DenseNet201.h5'))
      def mobile():
        return(load_model('MobileNet.h5'))
      def res():
        return(load_model('ResNet50V2.h5'))
      def vgg():
        return(load_model('VGG16.h5'))
      models = [
      {
          'label': 'DenseNet201',
          'model': dense(),
      },
      {
          'label': 'MobileNet',
          'model':mobile(),
      },
      {
          'label': 'ResNet50V2',
          'model':res(),
      },
      {
          'label': 'VGG16',
          'model':vgg(),
      }]
      from sklearn import metrics
      import matplotlib.pyplot as plt
      from tensorflow.keras.utils import to_categorical
      plt.figure()
      
      # Below for loop iterates through your models list
      for m in models:
          model = m['model'] # select the model
          #model.fit(X_train, y_train) # train the model
          y_pred=model.predict(X_test) # predict the test data
      # Compute False postive rate, and True positive rate
          #fpr, tpr, thresholds = metrics.roc_curve(y_test, model.y_pred_bin(X_test)[:,1])
          fpr, tpr, thresholds = metrics.roc_curve(y_test, model.predict_proba(X_test)[:,1])
      # Calculate Area under the curve to display on the plot
          auc = metrics.roc_auc_score(y_test,model.predict(X_test))
      # Now, plot the computed values
          plt.plot(fpr, tpr, label='%s ROC (area = %0.2f)' % (m['label'], auc))
      # Custom settings for the plot 
      plt.plot([0, 1], [0, 1],'r--')
      plt.xlim([0.0, 1.0])
      plt.ylim([0.0, 1.05])
      plt.xlabel('1-Specificity(False Positive Rate)')
      plt.ylabel('Sensitivity(True Positive Rate)')
      plt.title('Receiver Operating Characteristic')
      plt.legend(loc=&quot;lower right&quot;)
      plt.show()   # Display
  </code></pre>
  <p>I loaded my pretrained models in a function and returned it using this code. I made a list which will be iterated and it will call the function which loaded those models and hence ROC curve for each model will be plotted.</p>
  <p>Full TraceBack</p>
  <pre><code>&gt; AttributeError                            Traceback (most recent call
  &gt; last) &lt;ipython-input-43-f353a6208636&gt; in &lt;module&gt;()
  &gt;      11 # Compute False postive rate, and True positive rate
  &gt;      12     #fpr, tpr, thresholds = metrics.roc_curve(y_test, model.y_pred_bin(X_test)[:,1])
  &gt; ---&gt; 13     pred_prob = model.predict_proba(X_test)
  &gt;      14     fpr, tpr, thresholds = metrics.roc_curve(y_test, pred_prob[:,1])
  &gt;      15 # Calculate Area under the curve to display on the plot
  &gt; 
  &gt; AttributeError: 'Functional' object has no attribute 'predict_proba'
  </code></pre>