def registered()

in src/rime/__init__.py [0:0]


    def registered(self):
        registered = {
            "Rand": lambda D: Rand().transform(D),
            "Pop": lambda D: self._pop.transform(D),
            "EMA": lambda D: EMA(D.horizon).transform(D) * self._pop_item.transform(D),
            "Hawkes": lambda D: self._hawkes.transform(D) * self._pop_item.transform(D),
            "HP": lambda D: self._hawkes_poisson.transform(D) * self._pop_item.transform(D),

            "RNN": lambda D: self._rnn.transform(D),
            "RNN-Pop": lambda D: self._rnn.transform(D) * Pop(1, 0).transform(D),
            "RNN-EMA": lambda D: self._rnn.transform(D) * EMA(D.horizon).transform(D),
            "RNN-Hawkes": lambda D: self._rnn.transform(D) * self._hawkes.transform(D),
            "RNN-HP": lambda D: self._rnn.transform(D) * self._hawkes_poisson.transform(D),

            "Transformer": lambda D: self._transformer.transform(D),
            "Transformer-Pop": lambda D: self._transformer.transform(D) * Pop(1, 0).transform(D),
            "Transformer-EMA": lambda D: self._transformer.transform(D) * EMA(D.horizon).transform(D),
            "Transformer-Hawkes": lambda D: self._transformer.transform(D) * self._hawkes.transform(D),
            "Transformer-HP": lambda D: self._transformer.transform(D) * self._hawkes_poisson.transform(D),

            "BPR-Item": lambda D: self._bpr_item.transform(D),
            "BPR-User": lambda D: self._bpr_user.transform(D),
            "BPR": lambda D: self._bpr.transform(D),

            "GraphConv-Base": lambda D: self._graph_conv_base.transform(D),
            "GraphConv-Extra": lambda D: self._graph_conv_extra.transform(D),

            "LDA": lambda D: self._lda.transform(D),

            "ALS": lambda D: self._als.transform(D),
            "LogisticMF": lambda D: self._logistic_mf.transform(D),

            "BayesLM-0": lambda D: self._bayes_lm_0.transform(D),
            "BayesLM-1": lambda D: self._bayes_lm_1.transform(D),

            "ItemKNN-0": lambda D: self._item_knn_0.transform(D),
            "ItemKNN-1": lambda D: self._item_knn_1.transform(D),
        }

        # disable models due to missing inputs

        if not ('TEST_START_TIME' in self.D.user_in_test and '_hist_ts' in self.D.user_in_test
                and self.D.horizon < float("inf")):
            warnings.warn("disabling temporal models due to missing TEST_START_TIME, _hist_ts or horizon")
            for model in ['EMA', 'Hawkes', 'HP', 'RNN-EMA', 'RNN-Hawkes', 'RNN-HP',
                           'Transformer-EMA', 'Transformer-Hawkes', 'Transformer-HP']:
                registered.pop(model, None)

        if self.V is None:
            warnings.warn("disabling HP and GraphConv due to missing validation set")
            for model in ['HP', 'RNN-HP', 'Transformer-HP',
                           'GraphConv-Base', 'GraphConv-Extra']:
                registered.pop(model, None)

        if 'TITLE' not in self.D.training_data.item_df:
            warnings.warn("disabling zero-shot models due to missing item TITLE")
            for model in ['BayesLM-0', 'BayesLM-1', 'ItemKNN-0', 'ItemKNN-1']:
                registered.pop(model, None)

        return registered