code: def run(self):
      device = torch.device(
          "cuda:0" if torch.cuda.is_available() else "cpu"
      )
      model = torch.nn.Sequential(
          torch.nn.Linear(1, 1), torch.nn.ReLU(), torch.nn.Linear(1, 1)
      )
      model.to(device)
      criterion = torch.nn.MSELoss()
      optimizer = torch.optim.SGD(model.parameters(), lr=0.1)
  
      for step in range(10000):
          model.zero_grad()
          x = torch.tensor([0.8]).to(device)
          target = torch.tensor([1.0]).to(device)
          output = model(x)
          loss = criterion(output, target)
          print(f"step: {step}.  loss {loss}")
          loss.backward()
          optimizer.step()
  
imports: from lightning.app import LightningWork, LightningApp, CloudCompute
  import torch
label_desc: Use image node_id 1 for calling the PyTorchComponent obj's underlying member method code with example usage: obj.run() without return types