def embedding_groups( node_list: List[T], persona_embedding_list: List[np.ndarray]) -> Dict[T, List[np.ndarray]]: """ Utility function, which given aligned list of nodes and embedding lists from the model.predict function, obtain a dictionary from base graph nodes to a list of embeddings. The order of the embeddings for the base nodes is not ordered, and the order may differ on different calls. :param node_list: list of base nodes, which is duplicated :param persona_embedding_list: corresponding embeddings :return: dictionary mapping base nodes to all their embeddings """ return pipe( zip(node_list, persona_embedding_list), groupby(0), valmap(lambda x: list(map(getter(1), x))), )
def test_getter(): assert getter(0)('Alice') == 'A' assert getter([0])('Alice') == ('A',) assert getter([])('Alice') == ()
def test_getter(): assert getter(0)("Alice") == "A" assert getter([0])("Alice") == ("A", ) assert getter([])("Alice") == ()