Solved by ptrblck in post #2 
              
              
                self.drop_rate is an attribute of the _DenseLayer module as seen here. 
The value won’t change by calling model.train() or model.eval(). 
Instead the functional dropout call in this line of code will use the self.training attribute to decide if dropout should be used or not.