class_docstr: Strategy for training on a single XLA device.
class_docstr_tok: ["Strategy","for","training","on","a","single","XLA","device","."]
code: def __init__(
      self,
      device: _DEVICE,
      accelerator: Optional[Accelerator] = None,
      checkpoint_io: Optional[XLACheckpointIO] = None,
      precision: Optional[XLAPrecision] = None,
  ):
      if not _XLA_AVAILABLE:
          raise ModuleNotFoundError(str(_XLA_AVAILABLE))
      if isinstance(device, torch.device):
          # unwrap the `torch.device` in favor of `xla_device`
          device = device.index
  
      import torch_xla.core.xla_model as xm
  
      super().__init__(
          accelerator=accelerator,
          device=xm.xla_device(device),
          checkpoint_io=checkpoint_io,
          precision=precision,
      )
  
file_path: pytorch-lightning/src/lightning/fabric/strategies/single_xla.py
imports: from typing import Optional
  import torch
  from typing_extensions import override
  from lightning.fabric.accelerators import Accelerator
  from lightning.fabric.accelerators.xla import _XLA_AVAILABLE
  from lightning.fabric.plugins import XLAPrecision
  from lightning.fabric.plugins.io.xla import XLACheckpointIO
  from lightning.fabric.strategies import _StrategyRegistry
  from lightning.fabric.strategies.single_device import SingleDeviceStrategy
  from lightning.fabric.utilities.types import _DEVICE
label_desc: Use image node_id 1 to create a new SingleDeviceXLAStrategy object from inherited base classes: SingleDeviceStrategy with example: obj = SingleDeviceXLAStrategy(device, accelerator, checkpoint_io, precision)