# Path: dsenser/utils.py
# def is_explicit(a_rel):
#     """Check whether given relation is explicit.
# 
#     Args:
#       a_rel (dict):
#        discourse relation to classify
# 
#     Returns:
#       bool:
#         ``True`` if the relation is explicit, ``False`` otherwise
# 
#     """
#     return bool(a_rel[CONNECTIVE][TOK_LIST])
# 
# class timeit(object):
#     """Decorator class for measuring time performance.
# 
#     Attributes:
#       msg (str): message to be printed on method invocation
# 
#     """
# 
#     def __init__(self, a_msg):
#         """Class constructor.
# 
#         Args:
#           a_msg (str): debug message to print
# 
#         """
#         self.msg = a_msg
# 
#     def __call__(self, a_func):
#         """Decorator function.
# 
#         Args:
#           a_func (method): decorated method
# 
#         Returns:
#           method: wrapped method
# 
#         """
#         def _wrapper(*args, **kwargs):
#             print(self.msg + " started", file=sys.stderr)
#             start_time = datetime.utcnow()
#             a_func(*args, **kwargs)
#             end_time = datetime.utcnow()
#             time_delta = (end_time - start_time).total_seconds()
#             print(self.msg + " finished ({:.2f} sec)".format(time_delta),
#                   file=sys.stderr)
#         return wraps(a_func)(_wrapper)


from dsenser.utils import is_explicit, timeit
import numpy as np

        Returns:
        (void)

        """
        return
        # # divide training set into explicit and implicit relations
        # exp_train, imp_train = self._divide_data(a_train)
        # exp_dev, imp_dev = self._divide_data(a_dev)
        # # train explicit judge
        # self.explicit.train(exp_train, exp_dev)
        # # train implicit judge
        # self.implicit.train(imp_train, imp_dev)

    def predict(self, a_rel, a_x):
        """Method for predicting sense of single relation.

        Args:
        a_rel (dict):
          input relation to classify
        a_x (np.array):
          (submodels x class) array of input predictions

        Returns:
        str:
          most probable sense of discourse relation

        """
        ret = np.mean(a_x, axis=0)
        return (np.argmax(ret), ret)

# Path: dsenser/utils.py
# def is_explicit(a_rel):
#     """Check whether given relation is explicit.
# 
#     Args:
#       a_rel (dict):
#        discourse relation to classify
# 
#     Returns:
#       bool:
#         ``True`` if the relation is explicit, ``False`` otherwise
# 
#     """
#     return bool(a_rel[CONNECTIVE][TOK_LIST])
# 
# class timeit(object):
#     """Decorator class for measuring time performance.
# 
#     Attributes:
#       msg (str): message to be printed on method invocation
# 
#     """
# 
#     def __init__(self, a_msg):
#         """Class constructor.
# 
#         Args:
#           a_msg (str): debug message to print
# 
#         """
#         self.msg = a_msg
# 
#     def __call__(self, a_func):
#         """Decorator function.
# 
#         Args:
#           a_func (method): decorated method
# 
#         Returns:
#           method: wrapped method
# 
#         """
#         def _wrapper(*args, **kwargs):
#             print(self.msg + " started", file=sys.stderr)
#             start_time = datetime.utcnow()
#             a_func(*args, **kwargs)
#             end_time = datetime.utcnow()
#             time_delta = (end_time - start_time).total_seconds()
#             print(self.msg + " finished ({:.2f} sec)".format(time_delta),
#                   file=sys.stderr)
#         return wraps(a_func)(_wrapper)


# Path: dsenser/judge/judge.py
from dsenser.utils import is_explicit, timeit
import numpy as np


        Returns:
        (void)

        """
        return
        # # divide training set into explicit and implicit relations
        # exp_train, imp_train = self._divide_data(a_train)
        # exp_dev, imp_dev = self._divide_data(a_dev)
        # # train explicit judge
        # self.explicit.train(exp_train, exp_dev)
        # # train implicit judge
        # self.implicit.train(imp_train, imp_dev)

    def predict(self, a_rel, a_x):
        """Method for predicting sense of single relation.

        Args:
        a_rel (dict):
          input relation to classify
        a_x (np.array):
          (submodels x class) array of input predictions

        Returns:
        str:
          most probable sense of discourse relation

        """
        ret = np.mean(a_x, axis=0)
        return (np.argmax(ret), ret)

        if is_explicit(a_rel):