dataset_parameters.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:score-zeroshot 作者: pedro-morgado 项目源码 文件源码
def _hrchy(DB, classes, src_idx, trg_idx):
    from hierarchy import load

    def simplex(num_vecs):
        from scipy.linalg import svd
        cw = np.eye(num_vecs)
        cw -= cw.mean(axis=1, keepdims=True)
        cw, _, _ = svd(cw)
        return cw[:, :num_vecs-1]

    hrchy_fn = 'data/%s/wordnet_hierarchy.txt' % DB
    hrchy = load(hrchy_fn)
    constrains = OrderedDict()
    k = 0
    for q in hrchy.nodes:
        if len(q.fpointer) <= 1:
            continue
        labs = len(q.fpointer)*np.ones((len(classes)))
        for s, cls in enumerate(classes):
            if cls in q.name['classes']:
                labs[s] = [cls in hrchy[cid].name['classes'] for cid in q.fpointer].index(True)
        assigns = np.zeros((len(q.fpointer)+1, len(classes)))
        for c in range(len(q.fpointer)+1):
            assigns[c, labs == c] = 1

        constrains[q.identifier] = {'codewords': simplex(len(q.fpointer)+1).T,
                                    'idxDim': np.arange(k, k+len(q.fpointer)),
                                    'labels': {'source': assigns[:, src_idx],
                                               'target': assigns[:, trg_idx]}}
        k += len(q.fpointer)
    source_deg = [key for key in constrains.keys() if constrains[key]['labels']['source'].sum(axis=1).max() == len(src_idx)]
    [constrains.pop(key) for key in source_deg]
    return constrains
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号