Exemplo n.º 1
0
def group_sample((sample, featureid)):
    model = CrossCat()
    with open_compressed(sample['model']) as f:
        model.ParseFromString(f.read())
    for kindid, kind in enumerate(model.kinds):
        if featureid in kind.featureids:
            break
    assignments = assignment_stream_load(sample['assign'])
    return collate((a.groupids(kindid), a.rowid) for a in assignments)
Exemplo n.º 2
0
def group_sample((sample, featureid)):
    model = CrossCat()
    with open_compressed(sample['model']) as f:
        model.ParseFromString(f.read())
    for kindid, kind in enumerate(model.kinds):
        if featureid in kind.featureids:
            break
    assignments = assignment_stream_load(sample['assign'])
    return collate((a.groupids(kindid), a.rowid) for a in assignments)
Exemplo n.º 3
0
def _retrieve_row_partitions(path, sample):
    """Return row partition from CrossCat `sample` at `path`.

    The returned structure is of the form `cgpm.crosscat.state.State.Zrv`.
    """
    cross_cat = _loom_cross_cat(path, sample)
    num_kinds = len(cross_cat.kinds)
    assign_in = os.path.join(path, 'samples', 'sample.%d' % (sample, ),
                             'assign.pbs.gz')
    assignments = {
        a.rowid: [a.groupids(k) for k in xrange(num_kinds)]
        for a in assignment_stream_load(assign_in)
    }
    rowids = sorted(assignments)
    return {
        k: [assignments[rowid][k] for rowid in rowids]
        for k in xrange(num_kinds)
    }
Exemplo n.º 4
0
    def _retrieve_row_partition(self, bdb, generator_id, modelno):
        """Return row partition from a CrossCat model.

        The returned structure is of the form `cgpm.crosscat.state.State.Zv`.
        """
        cross_cat = self._get_cross_cat(bdb, generator_id, modelno)
        num_kinds = len(cross_cat.kinds)
        assign_in = os.path.join(
            self._get_loom_project_path(bdb, generator_id), 'samples',
            'sample.%d' % (modelno, ), 'assign.pbs.gz')
        assignments = {
            a.rowid: [a.groupids(k) for k in xrange(num_kinds)]
            for a in assignment_stream_load(assign_in)
        }
        rowids = sorted(assignments)
        return {
            k: [assignments[rowid][k] for rowid in rowids]
            for k in xrange(num_kinds)
        }
Exemplo n.º 5
0
    def _retrieve_row_partition(self, bdb, generator_id, modelno):
        """Return row partition from a CrossCat model.

        The returned structure is of the form `cgpm.crosscat.state.State.Zv`.
        """
        cross_cat = self._get_cross_cat(bdb, generator_id, modelno)
        num_kinds = len(cross_cat.kinds)
        assign_in = os.path.join(
            self._get_loom_project_path(bdb, generator_id),
            'samples', 'sample.%d' % (modelno,), 'assign.pbs.gz')
        assignments = {
            a.rowid: [a.groupids(k) for k in xrange(num_kinds)]
            for a in assignment_stream_load(assign_in)
        }
        rowids = sorted(assignments)
        return {
            k: [assignments[rowid][k] for rowid in rowids]
            for k in xrange(num_kinds)
        }