Add mobilenet_v3 to slim_vision_model_test.py (#5650)

I looked into tfhub and they do have mobilenet_v3, adding the classification model here.

diff --git a/integrations/tensorflow/e2e/slim_vision_models/BUILD b/integrations/tensorflow/e2e/slim_vision_models/BUILD
index a9f7179..b91c95a 100644
--- a/integrations/tensorflow/e2e/slim_vision_models/BUILD
+++ b/integrations/tensorflow/e2e/slim_vision_models/BUILD
@@ -141,6 +141,8 @@
             "mobilenet_v2_100_224",
             "mobilenet_v2_130_224",
             "mobilenet_v2_140_224",
+            # MobileNetV3
+            "mobilenet_v3_large_100_224",
             "nasnet_mobile",
             "nasnet_large",
             "pnasnet_large",
diff --git a/integrations/tensorflow/e2e/slim_vision_models/CMakeLists.txt b/integrations/tensorflow/e2e/slim_vision_models/CMakeLists.txt
index b72c985..f1a6694 100644
--- a/integrations/tensorflow/e2e/slim_vision_models/CMakeLists.txt
+++ b/integrations/tensorflow/e2e/slim_vision_models/CMakeLists.txt
@@ -23,7 +23,7 @@
     "slim_vision_model_test.py"
     "tf"
     "https://tfhub.dev/google/imagenet/"
-    "amoebanet_a_n18_f448;inception_resnet_v2;inception_v1;inception_v2;inception_v3;mobilenet_v1_025_128;mobilenet_v1_025_160;mobilenet_v1_025_192;mobilenet_v1_025_224;mobilenet_v1_050_128;mobilenet_v1_050_160;mobilenet_v1_050_192;mobilenet_v1_050_224;mobilenet_v1_075_128;mobilenet_v1_075_160;mobilenet_v1_075_192;mobilenet_v1_075_224;mobilenet_v1_100_128;mobilenet_v1_100_160;mobilenet_v1_100_192;mobilenet_v1_100_224;mobilenet_v2_035_96;mobilenet_v2_035_128;mobilenet_v2_035_160;mobilenet_v2_035_192;mobilenet_v2_035_224;mobilenet_v2_050_96;mobilenet_v2_050_128;mobilenet_v2_050_160;mobilenet_v2_050_192;mobilenet_v2_050_224;mobilenet_v2_075_96;mobilenet_v2_075_128;mobilenet_v2_075_160;mobilenet_v2_075_192;mobilenet_v2_075_224;mobilenet_v2_100_96;mobilenet_v2_100_128;mobilenet_v2_100_160;mobilenet_v2_100_192;mobilenet_v2_100_224;mobilenet_v2_130_224;mobilenet_v2_140_224;nasnet_mobile;nasnet_large;pnasnet_large;resnet_v1_50;resnet_v1_101;resnet_v1_152;resnet_v2_50;resnet_v2_101;resnet_v2_152"
+    "amoebanet_a_n18_f448;inception_resnet_v2;inception_v1;inception_v2;inception_v3;mobilenet_v1_025_128;mobilenet_v1_025_160;mobilenet_v1_025_192;mobilenet_v1_025_224;mobilenet_v1_050_128;mobilenet_v1_050_160;mobilenet_v1_050_192;mobilenet_v1_050_224;mobilenet_v1_075_128;mobilenet_v1_075_160;mobilenet_v1_075_192;mobilenet_v1_075_224;mobilenet_v1_100_128;mobilenet_v1_100_160;mobilenet_v1_100_192;mobilenet_v1_100_224;mobilenet_v2_035_96;mobilenet_v2_035_128;mobilenet_v2_035_160;mobilenet_v2_035_192;mobilenet_v2_035_224;mobilenet_v2_050_96;mobilenet_v2_050_128;mobilenet_v2_050_160;mobilenet_v2_050_192;mobilenet_v2_050_224;mobilenet_v2_075_96;mobilenet_v2_075_128;mobilenet_v2_075_160;mobilenet_v2_075_192;mobilenet_v2_075_224;mobilenet_v2_100_96;mobilenet_v2_100_128;mobilenet_v2_100_160;mobilenet_v2_100_192;mobilenet_v2_100_224;mobilenet_v2_130_224;mobilenet_v2_140_224;mobilenet_v3_large_100_224;nasnet_mobile;nasnet_large;pnasnet_large;resnet_v1_50;resnet_v1_101;resnet_v1_152;resnet_v2_50;resnet_v2_101;resnet_v2_152"
     "tf;tflite;iree_vmla;iree_vulkan"
   FAILING_CONFIGURATIONS
     ",,,amoebanet_a_n18_f448,"
diff --git a/integrations/tensorflow/e2e/slim_vision_models/slim_vision_model_test.py b/integrations/tensorflow/e2e/slim_vision_models/slim_vision_model_test.py
index f6d58c5..be762b5 100644
--- a/integrations/tensorflow/e2e/slim_vision_models/slim_vision_model_test.py
+++ b/integrations/tensorflow/e2e/slim_vision_models/slim_vision_model_test.py
@@ -41,8 +41,6 @@
     'tf_hub_url', None, 'Base URL for the models to test. URL at the time of '
     'writing:\nhttps://tfhub.dev/google/imagenet/')
 
-# Classification mode; 4 - is a format of the model (SavedModel TF v2).
-MODE = 'classification/4'
 LARGE_MODELS = ['amoebanet_a_n18_f448', "nasnet_large", "pnasnet_large"]
 
 
@@ -54,17 +52,28 @@
     # from their TFHub name.
     size = int(FLAGS.model.split('_')[-1])
     return (1, size, size, 3)
+  elif FLAGS.model.startswith('mobilenet_v3_large'):
+    size = int(FLAGS.model.split('_')[-1])
+    return (1, size, size, 3)
   else:
     # Default input shape.
     return (1, 224, 224, 3)
 
 
+def get_mode(model_name):
+  if model_name.startswith('mobilenet_v3'):
+    return 'classification/5'
+  # Classification mode; 4 - is a format of the model (SavedModel TF v2).
+  return 'classification/4'
+
+
 class SlimVisionModule(tf.Module):
 
   def __init__(self):
     super().__init__()
     tf_utils.set_random_seed()
-    model_path = posixpath.join(FLAGS.tf_hub_url, FLAGS.model, MODE)
+    model_path = posixpath.join(FLAGS.tf_hub_url, FLAGS.model,
+                                get_mode(FLAGS.model))
     hub_layer = hub.KerasLayer(model_path)
     self.m = tf.keras.Sequential([hub_layer])
     input_shape = get_input_shape()