class_docstr: Abstract base class of all MatchZoo models.
  
  MatchZoo models are wrapped over keras models, and the actual keras model
  built can be accessed by `model.backend`. `params` is a set of model
  hyper-parameters that deterministically builds a model. In other words,
  `params['model_class'](params=params)` of the same `params` always create
  models with the same structure.
  
  :param params: Model hyper-parameters. (default: return value from
      :meth:`get_default_params`)
  :param backend: A keras model as the model backend. Usually not passed as
      an argument.
  
  Example:
      >>> BaseModel()  # doctest: +ELLIPSIS
      Traceback (most recent call last):
      ...
      TypeError: Can't instantiate abstract class BaseModel ...
      >>> class MyModel(BaseModel):
      ...     def build(self):
      ...         pass
      >>> isinstance(MyModel(), BaseModel)
      True
class_docstr_tok: ["Abstract","base","class","of","all","MatchZoo","models",".","MatchZoo","models","are","wrapped","over","keras","models",",","and","the","actual","keras","model","built","can","be","accessed","by","`","model.backend","`",".","`","params","`","is","a","set","of","model","hyper-parameters","that","deterministically","builds","a","model",".","In","other","words",",","`","params","[","'model_class","'","]","(","params=params",")","`","of","the","same","`","params","`","always","create","models","with","the","same","structure",".",":","param","params",":","Model","hyper-parameters",".","(","default",":","return","value","from",":","meth",":","`","get_default_params","`",")",":","param","backend",":","A","keras","model","as","the","model","backend",".","Usually","not","passed","as","an","argument",".","Example",":",">",">",">","BaseModel","(",")","#","doctest",":","+ELLIPSIS","Traceback","(","most","recent","call","last",")",":","...","TypeError",":","Ca","n't","instantiate","abstract","class","BaseModel","...",">",">",">","class","MyModel","(","BaseModel",")",":","...","def","build","(","self",")",":","...","pass",">",">",">","isinstance","(","MyModel","(",")",",","BaseModel",")","True"]
code: def _separate_metrics(self):
      matchzoo_metrics = []
      keras_metrics = []
      for metric in self._params["task"].metrics:
          if isinstance(metric, BaseMetric):
              matchzoo_metrics.append(metric)
          else:
              keras_metrics.append(metric)
      return matchzoo_metrics, keras_metrics
  
imports: import abc
  import typing
  from pathlib import Path
  import dill
  import numpy
  import keras
  import keras.backend
  import pandas
  import matchzoo
  from matchzoo import DataGenerator
  from matchzoo.engine import hyper_spaces
  from matchzoo.engine.base_preprocessor import BasePreprocessor
  from matchzoo.engine.base_metric import BaseMetric
  from matchzoo.engine.param_table import ParamTable
  from matchzoo.engine.param import Param
  from matchzoo import tasks
label_desc: Use image node_id 13 for calling the BaseModel obj's underlying member method code with example usage: obj._separate_metrics() and returns: matchzoo_metrics,  keras_metrics