code: def main():
      device = torch.device(
          "cuda" if torch.cuda.is_available() else "cpu"
      )
      torch.set_default_dtype(torch.float64)
      utils.manual_seed()
  
      small_batch_size, large_batch_size, d, m = 16, 16384, 3, 5
      t0, t1, steps, dt = 0.0, 2.0, 10, 1e-1
      ts = torch.linspace(t0, t1, steps=steps, device=device)
      dts = tuple(
          2**-i for i in range(1, 7)
      )  # For checking strong order.
      sde = NeuralAdditive(
          d=d, m=m, sde_type=SDE_TYPES.stratonovich
      ).to(device)
      # Milstein and log-ODE should in theory both superfluously compute zeros here.
      # We include them anyway to check that they do what they claim to do.
      methods = (
          "euler_heun",
          "heun",
          "midpoint",
          "reversible_heun",
          "milstein",
          "milstein",
          "log_ode",
      )
      options = (
          None,
          None,
          None,
          None,
          None,
          dict(grad_free=True),
          None,
      )
      labels = (
          "euler-heun",
          "heun",
          "midpoint",
          "reversible_heun",
          "milstein",
          "grad-free milstein",
          "log_ode",
      )
      img_dir = os.path.join(
          os.path.dirname(__file__), "plots", "stratonovich_additive"
      )
  
      y0 = torch.full(
          (small_batch_size, d), fill_value=0.1, device=device
      )
      bm = BrownianInterval(
          t0=t0,
          t1=t1,
          size=(small_batch_size, m),
          dtype=y0.dtype,
          device=device,
          levy_area_approximation=LEVY_AREA_APPROXIMATIONS.foster,
      )
      inspection.inspect_samples(
          y0, ts, dt, sde, bm, img_dir, methods, options, labels
      )
  
      y0 = torch.full(
          (large_batch_size, d), fill_value=0.1, device=device
      )
      bm = BrownianInterval(
          t0=t0,
          t1=t1,
          size=(large_batch_size, m),
          dtype=y0.dtype,
          device=device,
          levy_area_approximation=LEVY_AREA_APPROXIMATIONS.foster,
      )
      inspection.inspect_orders(
          y0, t0, t1, dts, sde, bm, img_dir, methods, options, labels
      )
  
imports: import os
  import torch
  from tests.problems import NeuralAdditive
  from torchsde import BrownianInterval
  from torchsde.settings import LEVY_AREA_APPROXIMATIONS, SDE_TYPES
  from .None import inspection
  from .None import utils
label_desc: Use image node_id 1 for calling a global function with example usage: main() without return types