How do we know which channel does what?


I do basic CNN stuff with pytorch, but I always wondered one thing.

how the channel number that we set affects the image? I generally know that each channel represents one thing: R, G, B, vertical edges, horizontal edges, … colours, and other unknowns.

but is this the order? Say I want to observe G,B and Vertical edge information. How convnet will respond?

I have checked source code of convnet2d but didnt find quality answer. How the convnet changes/tracks the features by itself for each channel, while calculating in each forward pass?

You could adopt some visualization method like CAM or GRAD-CAM to observe what each channles pay attention to.

1 Like

oh I see. So basically, there is no specific one, but it kinda evolves.