Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Speedup (~20x) of scanpy.pp.regress_out function using Linear Least Square method. #3110
base: main
Are you sure you want to change the base?
Speedup (~20x) of scanpy.pp.regress_out function using Linear Least Square method. #3110
Changes from 3 commits
fdcad6c
5c17048
3e3ca9d
ebdf441
5e4df8c
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the
DT
not important here as above?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the code before this should be refactored as well to include these new methods in the condition (i.e. at https://github.com/scverse/scanpy/pull/3110/files#diff-f9e0bdcdfc04622c421f0a5788bbba6ee0303750580d2915caba3239d799322fR759). We can just check
regressors.to_numpy()
for non-zero determinant before iterating through the chunk list. We don't need to make the list at all, from what I can tell, ifnot variable_is_categorical
and the determinant is non-zero. This will also make things cleaner because we will need fewer checks. We can then use a boolean to check whether we should move into the next clause (which will include chunk creation) instead of checkingres=None
or not.Does this make sense?