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

ENH improve integration with encoder API #42

Open
7 of 9 tasks
tomMoral opened this issue Sep 23, 2021 · 2 comments
Open
7 of 9 tasks

ENH improve integration with encoder API #42

tomMoral opened this issue Sep 23, 2021 · 2 comments

Comments

@tomMoral
Copy link
Contributor

tomMoral commented Sep 23, 2021

Things that we can do/discuss for alphacsc/dicodile integration. Let's discuss those on monday.

  • Add tests for the z_encoder behavior and the different backends.
  • Implement a first dicodile powered Encoder backend
  • Overall, avoid calling get_z_hat if not strictly necessary. This is costly in communication and all operations that can be distributed are more efficient.
  • In compute_d_multi, give z_encoder instead of X, z_hat, D_hat, constants. This way, depending on the algorithm, it can either call get_sufficient_statistic or get_z_hat depending on what it needs. Maybe also we can see if we can implement some other operations in update_d_multi this way.
  • For callback, also try to use the z_encoder as much as possible.
  • implement efficient operation when D_hat is composed of rank_1 atoms in dicodile
  • implement add_one_atom in dicodile
  • implement get_error_max in dicodile in a distributed algorithm. (see Implement get_max_error_patch in dicodile tomMoral/dicodile#49 ).
  • implement a multi signal dicodile version for online learning.
@rprimet
Copy link
Collaborator

rprimet commented Sep 30, 2021

One missing step: Implement a first dicodile-powered Encoder backend?

At which point should we do that? (maybe should be done early on, before optimizations, in order to troubleshoot/complete the Encoder API?)

@tomMoral
Copy link
Contributor Author

Yes Indeed, I updated the list of tasks.

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

No branches or pull requests

2 participants