code: def test_bigdl_pytorch_estimator_dataloader(self):
      class SimpleModel(nn.Module):
          def __init__(self):
              super(SimpleModel, self).__init__()
              self.dense1 = nn.Linear(2, 4)
              self.bn1 = torch.nn.BatchNorm1d(4)
              self.dense2 = nn.Linear(4, 1)
  
          def forward(self, x):
              x = self.dense1(x)
              x = self.bn1(x)
              x = torch.sigmoid(self.dense2(x))
              return x
  
      model = SimpleModel()
  
      estimator = Estimator.from_torch(
          model=model,
          loss=nn.BCELoss(),
          metrics=[Accuracy()],
          optimizer=Adam(),
          backend="bigdl",
      )
  
      inputs = torch.Tensor(
          [[1, 2], [1, 3], [3, 2], [5, 6], [8, 9], [1, 9]]
      )
      targets = torch.Tensor([[0], [0], [0], [1], [1], [1]])
      train_loader = torch.utils.data.DataLoader(
          TensorDataset(inputs, targets),
          batch_size=2,
      )
      val_loader = torch.utils.data.DataLoader(
          TensorDataset(inputs, targets),
          batch_size=2,
      )
      estimator.fit(
          data=train_loader,
          epochs=2,
          validation_data=val_loader,
          checkpoint_trigger=EveryEpoch(),
      )
      estimator.evaluate(data=val_loader)
  
file_path: BigDL/python/orca/test/bigdl/orca/learn/jep/test_pytorch_estimator_for_dataloader.py
imports: from unittest import TestCase
  import os
  import pytest
  import torch
  import torch.nn
  from torch.utils.data import TensorDataset
  from bigdl.orca import init_orca_context, stop_orca_context
  from bigdl.orca.learn.pytorch import Estimator
  from bigdl.orca.learn.optimizers import Adam
  from bigdl.orca.learn.metrics import *
  from bigdl.orca.learn.trigger import EveryEpoch
label_desc: Use image node_id 3 for calling the TestEstimatorForSparkDataLoader obj's underlying member method code with example usage: obj.test_bigdl_pytorch_estimator_dataloader() and returns: x