in visu/gradient_ascent.py [0:0]
def forward(model, layer, channel, x):
if model.sobel is not None:
x = model.sobel(x)
count = 0
for y, m in enumerate(model.features.modules()):
if not isinstance(m, nn.Sequential):
x = m(x)
if isinstance(m, nn.Conv2d):
if count == layer:
res = x
if isinstance(m, nn.ReLU):
if count == layer:
# check if channel is not activated
if x[:, channel, :, :].mean().data.cpu().numpy() == 0:
return res
return x
count = count + 1