Comments (3)
Hello, unfortunately, I don't have a good answer to you other than: autograd just expects a tuple. You can change the tuple to a tensor (or any other thing) and get the following error:
Traceback (most recent call last):
File "guided_backprop.py", line 74, in <module>
guided_grads = GBP.generate_gradients(prep_img, target_class)
File "guided_backprop.py", line 59, in generate_gradients
model_output.backward(gradient=one_hot_output)
File ".../torch/tensor.py", line 93, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph)
File ".../torch/autograd/__init__.py", line 89, in backward
... allow_unreachable=True) # allow_unreachable flag
TypeError: expected tuple, but hook returned 'Tensor'
From there you can trace it to torch/tensor.py and torch/autograd but in the end I couldn't find a good answer other than, its just what it is. Also, just to clarify, this hook function only affects backward pass and not forward pass, so ReLU(x) still returns modified_ReLU(x) but in the backward pass the gradients are affected.
from pytorch-cnn-visualizations.
Got it. Thanks. Your answer led me to read into Module
class in Pytorch, where register_backward_hook
actually explains it all.
One quick question. The vanilla_backprop
and the guided_backprop
seems to have much in common. You think refactoring could be of any use? I would be happy to do the work if you'd allow.
from pytorch-cnn-visualizations.
Thanks for the offer but many implementations are quite similar, and very simple but this is by design so that people can grasp these concepts and adapt to their own need without digging through hundreds of lines of code.
from pytorch-cnn-visualizations.
Related Issues (20)
- Why this cam-zoo don't have grad-cam++?May you add grad-cam++ in this project? HOT 1
- Support for LayerCAM HOT 4
- a question on "cam = np.ones(target.shape[1:], dtype=np.float32)" in gradcam.py HOT 2
- How to get the sampling points with deformable conv? HOT 1
- A question about the method to get output from specific layer HOT 4
- Support for non-VGG models. HOT 1
- question on image generation
- Image Reconstruction size is same as conv1 layer HOT 1
- Visualizations for CNN trained on timeseries classification HOT 1
- Could you please provide the feature importance included dataset that has been generated? HOT 1
- AttributeError: 'MyCNN' object has no attribute 'features' HOT 1
- Extract gradient without model_output HOT 3
- GradCAM
- GradCAM HOT 1
- Why take np.maximum(cam, 0) in GradCam? HOT 1
- attention HOT 1
- Help with understanding layer backpropagation. HOT 1
- Can this tool be used on non-classification tasks HOT 1
- Code application related issues HOT 1
- RUN
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pytorch-cnn-visualizations.