def get_minimal_subsequence()

in sparse_autoencoder/explanations.py [0:0]


    def get_minimal_subsequence(doc):
        for i in range(len(doc["token_ints"]) - 1, -1, -1):
            atom_acts = yield doc["token_ints"][i:]
            assert (
                len(atom_acts) == len(doc["token_ints"]) - i
            ), f"{len(atom_acts)} != {len(doc['token_ints']) - i}"
            if atom_acts[-1] / doc["act"] >= 0.5:
                return {
                    "tokens": doc["tokens"][i:],
                    "token_ints": doc["token_ints"][i:],
                    "subsequence_act": atom_acts[-1],
                    "orig_act": doc["act"],
                }
        print("Warning: no minimal subsequence found")
        # raise ValueError("No minimal subsequence found")
        return {
            "tokens": doc["tokens"],
            "token_ints": doc["token_ints"],
            "subsequence_act": doc["act"],
            "orig_act": doc["act"],
        }