-
Notifications
You must be signed in to change notification settings - Fork 550
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
[REVIEW] Fix for OPG KNN Classifier & Regressor #2844
Conversation
Please update the changelog in order to start CI tests. View the gpuCI docs here. |
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.
Overall, I think the MG KNN code is need of some general cleanup to make it easier to read and maintain. I'm largely to blame for this because of the behemoth methods that I had contributed originally. It took awhile to go through this code and I still have a few questions (inline). I'm also still reading through your earlier response to see if there might be a more parallel way to combine the outputs. I wanted to share the review in the meantime, since burndown is looming.
For some reason, Github is not allowing me to further comment on the following conversation so I'm leaving it in a comment here.
This was not immediately obvious to me just by looking through the code. Can you add this to a comment in the code? |
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.
It's looking much better. Thank you for answering my questions! Mostly, I would like to make sure your summaries & descriptions are captured with the actual code both for us and future developers.
There seems to be some imprecisions on distances on specific configurations (CUDA version / GPU architecture). On a single Tesla V100, I could only reproduce the bug with CUDA 10.1. The bug is probably not related to OPG KNN itself. |
if self.data_handler.datatype == 'cupy': | ||
preds, _, _ = self.predict(X, convert_dtype=convert_dtype) | ||
diff = (preds == y) |
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 "matched" or something similar would be a better name.
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.
Looks good. Per Corey's suggestions, I agree there is room to simplify the code a bit more, but this looks like a nice improvement that will help in 0.16.
No description provided.