class_docstr: 用来管理训练过程中的所有的 callback 实例；
class_docstr_tok: ["\u7528\u6765\u7ba1\u7406\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u6240\u6709\u7684","callback","\u5b9e\u4f8b\uff1b"]
docstr: 将一个具体的 callback 函数的 filter 的状态抽取出来；
docstr_tok: ["\u5c06\u4e00\u4e2a\u5177\u4f53\u7684","callback","\u51fd\u6570\u7684","filter","\u7684\u72b6\u6001\u62bd\u53d6\u51fa\u6765\uff1b"]
code: def extract_callback_filter_state(self, callback_name, callback_fn):
      r"""
      将一个具体的 callback 函数的 filter 的状态抽取出来；
      """
      if hasattr(callback_fn, "__fastNLP_filter__"):
          # 注意我们的 `Filter` 使用了 `@wraps` 来保证被修饰的函数的 `__name__` 属性仍旧是其真实的名字；
          self._callback_filters.append(
              (
                  callback_name,
                  callback_fn.__name__,
                  callback_fn.__fastNLP_filter__,
              )
          )
  
imports: import inspect
  from typing import List, Optional, Dict, Sequence
  from collections import defaultdict
  from .callback_event import Event
  from .callback import Callback
  from fastNLP.core.log import logger
  from .progress_callback import ProgressCallback, choose_progress_callback
  from ..utils.exceptions import EarlyStopException
  from ..utils.utils import _get_fun_msg
label_desc: Use image node_id 4 for calling the CallbackManager obj's underlying member method code with example usage: obj.extract_callback_filter_state(callback_name, callback_fn) without return types