Why pytorch lightning code does not end?

Dear Sir or Madam,

It is my first time to test pytorch lightning. The following codes from pytorchlightning homepage keeps running more epoches and it seems that there is no end? I want to the default epoches #?
Please the following source codes:

import os
import torch
from torch import nn
import torch.nn.functional as F
from torchvision import transforms
from torchvision.datasets import MNIST
from torch.utils.data import DataLoader, random_split
import pytorch_lightning as pl

class LitAutoEncoder(pl.LightningModule):
def init(self):
super().init()
self.encoder = nn.Sequential(nn.Linear(28 * 28, 64), nn.ReLU(), nn.Linear(64, 3))
self.decoder = nn.Sequential(nn.Linear(3, 64), nn.ReLU(), nn.Linear(64, 28 * 28))

def forward(self, x):
    # in lightning, forward defines the prediction/inference actions
    embedding = self.encoder(x)
    return embedding

def backward(self, loss, optimizer, optimizer_idx):
    loss.backward()
def training_step(self, batch, batch_idx):
    # training_step defined the train loop.
    # It is independent of forward
    x, y = batch
    x = x.view(x.size(0), -1)
    z = self.encoder(x)
    x_hat = self.decoder(z)
    loss = F.mse_loss(x_hat, x)
    # Logging to TensorBoard by default
    self.log("train_loss", loss)
    return loss

def configure_optimizers(self):
    optimizer = torch.optim.Adam(self.parameters(), lr=1e-3)
    return optimizer

dataset = MNIST(os.getcwd(), download=True, transform=transforms.ToTensor())
train_loader = DataLoader(dataset)

init model

autoencoder = LitAutoEncoder()

most basic trainer, uses good defaults (auto-tensorboard, checkpoints, logs, and more)

trainer = pl.Trainer(accelerator=“gpu”, devices=8) (if you have GPUs)

trainer = pl.Trainer()
trainer.fit(model=autoencoder, train_dataloaders=train_loader)