code: def test_nnModel_construct_with_differnt_params(self):
      linear_model = Sequential().add(Linear(2, 2))
      df = self.get_estimator_df()
      for e in [
          NNModel(linear_model),
          NNModel(linear_model, [2]),
          NNModel(linear_model, SeqToTensor([2])),
      ]:
          res = e.transform(df)
          assert type(res).__name__ == "DataFrame"
          assert e.getBatchSize() == 4
  
imports: import errno
  import shutil
  import pytest
  from bigdl.nn.criterion import *
  from bigdl.nn.layer import *
  from bigdl.optim.optimizer import *
  from numpy.testing import assert_allclose
  from pyspark.ml import Pipeline, PipelineModel
  from pyspark.ml.feature import MinMaxScaler
  from pyspark.ml.tuning import ParamGridBuilder
  from pyspark.sql.types import *
  from zoo.common.nncontext import *
  from zoo.feature.common import *
  from zoo.feature.image import *
  from zoo.pipeline.api.keras import layers
  from zoo.pipeline.api.keras.models import Model
  from zoo.pipeline.api.keras.optimizers import Adam
  from zoo.pipeline.nnframes import *
  from zoo.util.tf import *
label_desc: Use image node_id 8 for calling the TestNNClassifer obj's underlying member method code with example usage: obj.test_nnModel_construct_with_differnt_params() without return types