code: def test_smdataparallel_tf_mnist(
      sagemaker_session,
      tensorflow_training_latest_version,
      tensorflow_training_latest_py_version,
  ):
      job_name = sagemaker.utils.unique_name_from_base(
          "tf-sm-distributed-dataparallel"
      )
      estimator = TensorFlow(
          entry_point="mnist_tf.py",
          role="SageMakerRole",
          source_dir=smdataparallel_dir,
          instance_count=2,
          instance_type="ml.p3.16xlarge",
          sagemaker_session=sagemaker_session,
          framework_version=tensorflow_training_latest_version,
          py_version=tensorflow_training_latest_py_version,
          distribution={
              "smdistributed": {
                  "dataparallel": {
                      "enabled": True,
                      "custom_mpi_options": "--verbose",
                  }
              }
          },
      )
  
      with timeout.timeout(
          minutes=integ.TRAINING_DEFAULT_TIMEOUT_MINUTES
      ):
          estimator.fit(job_name=job_name)
  
imports: from __future__ import absolute_import
  import os
  import pytest
  import sagemaker.utils
  import tests.integ
  from sagemaker.tensorflow import TensorFlow
  from tests.integ import timeout
label_desc: Use image node_id 1 for calling a global function with example usage: test_smdataparallel_tf_mnist(sagemaker_session, tensorflow_training_latest_version, tensorflow_training_latest_py_version) without return types