Yes exactly, e.g. that’s what I am running and gives different results:
pred_o, prob_o = net.predict(adv_sample)
pred_i, prob_i = net.predict(adv_sample)
pred_a, prob_a = net.predict(adv_sample)
print("%d"%pred_o)
print("%d"%pred_i)
print("%d"%pred_a)

I.e. the predictions differ for the same input, which means that dropout is still used? The only thing that I’m doing with the model “net” is that I’m passing it to a class (which uses the opt() function) to use it, but that shouldn’t change its parameters or the way it works. Could the fact that I’m calling optimizer.step() on the w parameter affect the model (since it has parameters and gradients)? But that sounds a bit unreasonable