OK, so I looked at the source code for SmoothGradCAMpp, and they’re adding random noise to the input, which explains what you’re describing. If you’re interested, you can find the relevant line of code here: torch-cam/gradcam.py at b1c61003f036b754cc3bf21fc24208da96f25019 · frgfm/torch-cam · GitHub 2
If you want to get the same output for every subsequent run of your code, the simplest solution is to use a fixed seed for PyTorch’s random number generator;
torch.random.set_manual_seed(42)  # Change '42' to whatever you want

Hope this helps.