I’m not sure I understand the first question.
In my code I sample the mask manually. Would that work of what would you like to sample additionally?
If you enable dropout during training and disable it during evaluation, the expected activation values will have a different range and thus your model will most likely perform poorly.
The scaling is described in the original Dropout paper 1.