-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Nvtx transform #2713
Nvtx transform #2713
Conversation
Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com>
Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com>
Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com>
Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com>
Hi @wyli and @Nic-Ma, |
Signed-off-by: Behrooz <3968947+behxyz@users.noreply.github.com>
Signed-off-by: Behrooz <3968947+behxyz@users.noreply.github.com>
Signed-off-by: Behrooz <3968947+behxyz@users.noreply.github.com>
Signed-off-by: Behrooz <3968947+behxyz@users.noreply.github.com>
Signed-off-by: Behrooz <3968947+behxyz@users.noreply.github.com>
Signed-off-by: Behrooz <3968947+behxyz@users.noreply.github.com>
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.
Hi @drbeh ,
Thanks for bringing this interesting feature to MONAI.
To verify and test the APIs, I would suggest you to add a simple tutorial notebook in the MONAI tutorials repo, and put the link in the doc-string of this module. Then users can easily get start to use it and we can also easily verify & test it.
Thanks.
Signed-off-by: Behrooz <3968947+behxyz@users.noreply.github.com>
Signed-off-by: Behrooz <3968947+behxyz@users.noreply.github.com>
Signed-off-by: Behrooz <3968947+behxyz@users.noreply.github.com>
Thanks for the PR, my feeling is that the NVTX tools are not well-known in our community. Shall we have some tutorials first, then revisit this PR and move the reusable code blocks from the tutorials into the core codebase? I don't know why these are wrapped as transforms instead of network layers, but I guess tutorials would clarify this easily. |
@wyli, tutorial would be great to teach the community on how to use Nsight System and NVTX. |
Hi @drbeh , As I said in previous comment, I agree with @wyli , we should make a tutorial first and put the link in the doc-string of this module. Thanks. |
@wyli, @Nic-Ma, I definitely agree with having a tutorial on this but the tutorial will depend on these components, so shouldn't we first merge this and then use this in a tutorial?! Similar to the other components where we first have implemented in MONAI (like other transforms and models), and then created tutorial for spleen segmentation for example, right? |
Hi @drbeh , I would suggest you to develop a tutorial notebook PR in the Thanks. |
Sure, I can do that. |
I have created a notebook and necessary codes for profiling digital pathology transformation pipeline using these NVTX transforms, and NVIDIA Nsight System. Please check it out: Project-MONAI/tutorials#305 Thanks |
/build |
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.
Thanks for the tutorial, looks good to me now.
""" | ||
|
||
|
||
class RangePop(Transform): |
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.
according to the tutorial, I think those push/pop operations should be implemented as a python context manager for better readability, what do you think?
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.
@wyli, you're right but the reason that we have separate push/pop transforms is that the range that they define is not limited to a transform and can include multiple transforms. Or even a push (start of a range) can be within transform chain and pop (end of range) somewhere else.
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'll implement the context manager too. #2754
Fixes #2712
Description
This PR implements transformation for NVIDIA Tool Extension (NVTX) functions.
Status
Ready
Types of changes
./runtests.sh --quick --unittests
.make html
command in thedocs/
folder.