I'm bringing my own PyTorch training script, and I'm interested in using SM Debugger to profile function calls in my training jobs. The API Glossary states:
Step: Step means one the work done by the training job for one batch (i.e. forward and backward pass).
I assume I will have to register my module with hook.register_module(module) in the training script for SM Debugger to work at all. I further assume that SM Debugger then registers its own hooks into the module's forward() and/or backward() passes to track when a "step" happens.
However, my training script accumulates gradients from several forward() passes before running a single backward() pass.
My questions:
- Will this interfere with the functionality of SM Debugger?
- Assuming this is okay, does SM Debugger consider the forward() or the backward() pass to be one "step"?
I'm bringing my own PyTorch training script, and I'm interested in using SM Debugger to profile function calls in my training jobs. The API Glossary states:
I assume I will have to register my module with
hook.register_module(module)in the training script for SM Debugger to work at all. I further assume that SM Debugger then registers its own hooks into the module's forward() and/or backward() passes to track when a "step" happens.However, my training script accumulates gradients from several forward() passes before running a single backward() pass.
My questions: