Home / Function/ forward_and_backward_pass() — pytorch Function Reference

forward_and_backward_pass() — pytorch Function Reference

Architecture documentation for the forward_and_backward_pass() function in huggingface.py from the pytorch codebase.

Entity Profile

Dependency Diagram

graph TD
  b66902f6_4c0e_bd3b_c664_55e9f6f9007d["forward_and_backward_pass()"]
  237fa410_eacb_e511_495a_212eabaed03a["optimizer_zero_grad()"]
  b66902f6_4c0e_bd3b_c664_55e9f6f9007d -->|calls| 237fa410_eacb_e511_495a_212eabaed03a
  d634fd0f_c466_4cf2_1f3d_f12982ecb29d["compute_loss()"]
  b66902f6_4c0e_bd3b_c664_55e9f6f9007d -->|calls| d634fd0f_c466_4cf2_1f3d_f12982ecb29d
  fd2284a3_0476_a5c5_f500_3a61cf4c8703["optimizer_step()"]
  b66902f6_4c0e_bd3b_c664_55e9f6f9007d -->|calls| fd2284a3_0476_a5c5_f500_3a61cf4c8703
  cccef8f7_1d69_110e_5c7c_8788403285fe["scale()"]
  b66902f6_4c0e_bd3b_c664_55e9f6f9007d -->|calls| cccef8f7_1d69_110e_5c7c_8788403285fe
  style b66902f6_4c0e_bd3b_c664_55e9f6f9007d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

benchmarks/dynamo/huggingface.py lines 559–569

    def forward_and_backward_pass(self, mod, inputs, collect_outputs=True):
        cloned_inputs = clone_inputs(inputs)
        self.optimizer_zero_grad(mod)
        with self.autocast(**self.autocast_arg):
            pred = mod(**cloned_inputs)
            loss = self.compute_loss(pred)
        self.grad_scaler.scale(loss).backward()
        self.optimizer_step()
        if collect_outputs:
            return collect_results(mod, None, loss, cloned_inputs)
        return None

Subdomains

Frequently Asked Questions

What does forward_and_backward_pass() do?
forward_and_backward_pass() is a function in the pytorch codebase.
What does forward_and_backward_pass() call?
forward_and_backward_pass() calls 4 function(s): compute_loss, optimizer_step, optimizer_zero_grad, scale.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free