-
Notifications
You must be signed in to change notification settings - Fork 155
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
Multi-round inference using cuda, device error #520
Comments
Hi @NeuroLife77 and thanks for reporting this. Indeed, this seems to be a bug. A quick fix was already suggested in #515 and we are working on a permanent fix in #519 I think, the problem is that the in this case the Another quick fix is to not train on the GPU ;) are you expecting a lot of speed-up from training on the GPU? E.g., are you using big or convolutional embedding nets or so? Best, |
Ok, thank you. There is a relatively significant speed-up from training on the GPU, but I am not using any nets, I think it's just because I'm using a lot of hidden features and number of transform since it seems to be what works best for me now. However, since the main bottleneck for the multi-round is the simulation time I think doing it on the CPU will not slow things down significantly. |
@NeuroLife77 , I see that makes sense with the GPU speed up. The fix is in |
Hi,
I am not sure if the issue is caused by my misuse or by an actual bug, but I thought I'd report it anyway.
I tried running a multi-round inference with the same syntax as in the tutorial but I defined the SNPE object with specific number of features and transforms and specified to use cuda as device. Everything works on the first round, I simulate, append simulations and train, build the posterior and then set the proposal. But on the second round it crashes at train() saying that it expected all tensors to be on the same device but found tensors on 2 different devices (CPU and cuda). I here's a screenshot of the callback:
The text was updated successfully, but these errors were encountered: