code: def _make_predict_proba(self, func):
          
  
          def predict_proba(X):
              n_samples = X.shape[0]
              new_shape = (n_samples, self.n_features, self.n_timesteps)
              X = np.transpose(X.reshape(new_shape), axes=(0, 2, 1))
              return func(X)
  
          return predict_proba
docs: The predict_proba method will expect 3d arrays, but we are reshaping
          them to 2D so that LIME works correctly. This wraps the function
          you give in explain_instance to first reshape the data to have
          the shape the the keras-style network expects.