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()