Avoid extra copy when using astype in sparsefuncs_fast#11966
Merged
lesteve merged 2 commits intoscikit-learn:masterfrom Sep 2, 2018
Merged
Avoid extra copy when using astype in sparsefuncs_fast#11966lesteve merged 2 commits intoscikit-learn:masterfrom
lesteve merged 2 commits intoscikit-learn:masterfrom
Conversation
Contributor
Author
|
Actually, the list of files can be ignored right now and we can do it in a subsequent PR |
rth
approved these changes
Sep 1, 2018
Member
|
For a random sparse CSR array of shape (5000, 40000) with a 0.01 sparsity, this reduces the runtime of |
Member
|
I timed the modified functions following @rth comment and here are the results: import numpy as np
from scipy.sparse import random
from sklearn.utils.sparsefuncs_fast import (
csr_row_norms, csr_mean_variance_axis0,
csc_mean_variance_axis0, incr_mean_variance_axis0)
csr = random(5000, 40000, format='csr')
csc = csr.asformat('csc')
print('csr_row_norms')
%timeit csr_row_norms(csr)
print('csr_mean_variance_axis0')
%timeit csr_mean_variance_axis0(csr)
print('csc_mean_variance_axis0')
%timeit csc_mean_variance_axis0(csc)
print('incr_mean_variance_axis0')
%timeit incr_mean_variance_axis0(csr, np.zeros(40000), np.ones(40000), np.array([1]))Master: This PR: |
Member
jnothman
pushed a commit
to jnothman/scikit-learn
that referenced
this pull request
Sep 2, 2018
jnothman
pushed a commit
to jnothman/scikit-learn
that referenced
this pull request
Sep 17, 2018
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Reference Issues/PRs
What does this implement/fix? Explain your changes.
It avoids getting an extra copy of the data in the following case:
Files to review:
Any other comments?