question: [RFC] Thoughts on `on_init_start` and `on_init_end` hooks
context: These hooks are called when trainer initialization begins and ends, before the model has been set, essentially allowing the user to modify the Trainer constructor.  Should we be giving the user this much control over Trainer constructor? Are there scenarios where this is needed? Or can we deprecate these hooks?
  
    
      
        pytorch-lightning/pytorch_lightning/trainer/callback_hook.py
      
      
          Lines 55 to 63
        in
        338f3cf
      
    
    
      
  
          
            
             def on_init_start(self): 
          
  
          
            
                 """Called when the trainer initialization begins, model has not yet been set.""" 
          
  
          
            
                 for callback in self.callbacks: 
          
  
          
            
                     callback.on_init_start(self) 
          
  
          
            
              
          
  
          
            
             def on_init_end(self): 
          
  
          
            
                 """Called when the trainer initialization ends, model has not yet been set.""" 
          
  
          
            
                 for callback in self.callbacks: 
          
  
          
            
                     callback.on_init_end(self) 
          
      
    
  
  
  cc @ananthsub
answer: @carmocca @tchaton @awaelchli do you know how these hooks are used? Have you seen any examples of these being used by the community? These hooks go way way back, but I can't think of when they'd be needed given the user "owns" the Trainer initialization. It's also unclear when on_init_start actually happens: does that mean callbacks should be the first thing initialized?
  it seems a lot more straightforward to write this:
  trainer = Trainer(...)
  run_all_my_fancy_logic_now(trainer)
  
  # use the trainer here
  Let's discuss in #10894