Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is it possible to add new rows to an existing loom analysis? #12

Open
fsaad opened this issue Nov 20, 2017 · 1 comment
Open

Is it possible to add new rows to an existing loom analysis? #12

fsaad opened this issue Nov 20, 2017 · 1 comment
Labels

Comments

@fsaad
Copy link

fsaad commented Nov 20, 2017

After ingesting an initial dataset with N rows into loom using loom.ingest and then running loom.infer, is it possible to then ingest new rows N+1 ... N+d and then run loom.infer to incorporate the new d data points into the CrossCat model? Or does one have to restart the entire analysis if new rows arrive after the initial ingest/infer step?

@fsaad fsaad added the question label Nov 20, 2017
@fritzo
Copy link
Member

fritzo commented Nov 20, 2017

IIRC loom.runner.infer does support incorporating new data onto an existing latent. This streaming inference is not as fully supported as batch inference, and Python support may be limited since we never used it in practice. But the low-level C++ engine fully supports streaming and batch incorporate. Loom's implementation also has more overhead than cgpm-style incorporate/unincorporate operators.

To add new samples to a model, you should be able to use loom.runner.infer with streaming rows_in and assign_out (for fully streaming inference), or a carefully constructed checkpoint_in for batch incorporate. You'll want to set config['schedule']['extra_passes'] = 0 to ensure data are only added (never removed) from the latent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants