Export EfficientNet models to the public API.

PiperOrigin-RevId: 306281184
Change-Id: I37257d5afdc0ffec6eacd218e8f2e86ad118fb89
diff --git a/tensorflow/python/keras/api/BUILD b/tensorflow/python/keras/api/BUILD
index 41a3f13..7dee9b1 100644
--- a/tensorflow/python/keras/api/BUILD
+++ b/tensorflow/python/keras/api/BUILD
@@ -17,6 +17,7 @@
     "tensorflow.python.keras",
     "tensorflow.python.keras.activations",
     "tensorflow.python.keras.applications.densenet",
+    "tensorflow.python.keras.applications.efficientnet",
     "tensorflow.python.keras.applications.imagenet_utils",
     "tensorflow.python.keras.applications.inception_resnet_v2",
     "tensorflow.python.keras.applications.inception_v3",
diff --git a/tensorflow/python/keras/applications/efficientnet.py b/tensorflow/python/keras/applications/efficientnet.py
index 0487450..28426d4 100644
--- a/tensorflow/python/keras/applications/efficientnet.py
+++ b/tensorflow/python/keras/applications/efficientnet.py
@@ -13,6 +13,7 @@
 # limitations under the License.
 # ==============================================================================
 # pylint: disable=invalid-name
+# pylint: disable=missing-docstring
 """EfficientNet models for Keras.
 
 Reference paper:
@@ -142,6 +143,53 @@
 
 layers = VersionAwareLayers()
 
+BASE_DOCSTRING = """Instantiates the {name} architecture.
+
+  Reference paper:
+  - [EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks](
+      https://arxiv.org/abs/1905.11946) (ICML 2019)
+
+  Optionally loads weights pre-trained on ImageNet.
+  Note that the data format convention used by the model is
+  the one specified in your Keras config at `~/.keras/keras.json`.
+  If you have never configured it, it defaults to `"channels_last"`.
+
+  Arguments:
+    include_top: Whether to include the fully-connected
+        layer at the top of the network. Defaults to True.
+    weights: One of `None` (random initialization),
+          'imagenet' (pre-training on ImageNet),
+          or the path to the weights file to be loaded. Defaults to 'imagenet'.
+    input_tensor: Optional Keras tensor
+        (i.e. output of `layers.Input()`)
+        to use as image input for the model.
+    input_shape: Optional shape tuple, only to be specified
+        if `include_top` is False.
+        It should have exactly 3 inputs channels.
+    pooling: Optional pooling mode for feature extraction
+        when `include_top` is `False`. Defaults to None.
+        - `None` means that the output of the model will be
+            the 4D tensor output of the
+            last convolutional layer.
+        - `avg` means that global average pooling
+            will be applied to the output of the
+            last convolutional layer, and thus
+            the output of the model will be a 2D tensor.
+        - `max` means that global max pooling will
+            be applied.
+    classes: Optional number of classes to classify images
+        into, only to be specified if `include_top` is True, and
+        if no `weights` argument is specified. Defaults to 1000 (number of
+        ImageNet classes).
+    classifier_activation: A `str` or callable. The activation function to use
+        on the "top" layer. Ignored unless `include_top=True`. Set
+        `classifier_activation=None` to return the logits of the "top" layer.
+        Defaults to 'softmax'.
+
+  Returns:
+    A `keras.Model` instance.
+"""
+
 
 def EfficientNet(
     width_coefficient,
@@ -163,8 +211,8 @@
   """Instantiates the EfficientNet architecture using given scaling coefficients.
 
   Reference paper:
-  - [EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks]
-    (https://arxiv.org/abs/1905.11946) (ICML 2019)
+  - [EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks](
+      https://arxiv.org/abs/1905.11946) (ICML 2019)
 
   Optionally loads weights pre-trained on ImageNet.
   Note that the data format convention used by the model is
@@ -474,6 +522,7 @@
                    input_shape=None,
                    pooling=None,
                    classes=1000,
+                   classifier_activation='softmax',
                    **kwargs):
   return EfficientNet(
       1.0,
@@ -487,6 +536,7 @@
       input_shape=input_shape,
       pooling=pooling,
       classes=classes,
+      classifier_activation=classifier_activation,
       **kwargs)
 
 
@@ -498,6 +548,7 @@
                    input_shape=None,
                    pooling=None,
                    classes=1000,
+                   classifier_activation='softmax',
                    **kwargs):
   return EfficientNet(
       1.0,
@@ -511,6 +562,7 @@
       input_shape=input_shape,
       pooling=pooling,
       classes=classes,
+      classifier_activation=classifier_activation,
       **kwargs)
 
 
@@ -522,6 +574,7 @@
                    input_shape=None,
                    pooling=None,
                    classes=1000,
+                   classifier_activation='softmax',
                    **kwargs):
   return EfficientNet(
       1.1,
@@ -535,6 +588,7 @@
       input_shape=input_shape,
       pooling=pooling,
       classes=classes,
+      classifier_activation=classifier_activation,
       **kwargs)
 
 
@@ -546,6 +600,7 @@
                    input_shape=None,
                    pooling=None,
                    classes=1000,
+                   classifier_activation='softmax',
                    **kwargs):
   return EfficientNet(
       1.2,
@@ -559,6 +614,7 @@
       input_shape=input_shape,
       pooling=pooling,
       classes=classes,
+      classifier_activation=classifier_activation,
       **kwargs)
 
 
@@ -570,6 +626,7 @@
                    input_shape=None,
                    pooling=None,
                    classes=1000,
+                   classifier_activation='softmax',
                    **kwargs):
   return EfficientNet(
       1.4,
@@ -583,6 +640,7 @@
       input_shape=input_shape,
       pooling=pooling,
       classes=classes,
+      classifier_activation=classifier_activation,
       **kwargs)
 
 
@@ -594,6 +652,7 @@
                    input_shape=None,
                    pooling=None,
                    classes=1000,
+                   classifier_activation='softmax',
                    **kwargs):
   return EfficientNet(
       1.6,
@@ -607,6 +666,7 @@
       input_shape=input_shape,
       pooling=pooling,
       classes=classes,
+      classifier_activation=classifier_activation,
       **kwargs)
 
 
@@ -618,6 +678,7 @@
                    input_shape=None,
                    pooling=None,
                    classes=1000,
+                   classifier_activation='softmax',
                    **kwargs):
   return EfficientNet(
       1.8,
@@ -631,6 +692,7 @@
       input_shape=input_shape,
       pooling=pooling,
       classes=classes,
+      classifier_activation=classifier_activation,
       **kwargs)
 
 
@@ -642,6 +704,7 @@
                    input_shape=None,
                    pooling=None,
                    classes=1000,
+                   classifier_activation='softmax',
                    **kwargs):
   return EfficientNet(
       2.0,
@@ -655,9 +718,20 @@
       input_shape=input_shape,
       pooling=pooling,
       classes=classes,
+      classifier_activation=classifier_activation,
       **kwargs)
 
 
+EfficientNetB0.__doc__ = BASE_DOCSTRING.format(name='EfficientNetB0')
+EfficientNetB1.__doc__ = BASE_DOCSTRING.format(name='EfficientNetB1')
+EfficientNetB2.__doc__ = BASE_DOCSTRING.format(name='EfficientNetB2')
+EfficientNetB3.__doc__ = BASE_DOCSTRING.format(name='EfficientNetB3')
+EfficientNetB4.__doc__ = BASE_DOCSTRING.format(name='EfficientNetB4')
+EfficientNetB5.__doc__ = BASE_DOCSTRING.format(name='EfficientNetB5')
+EfficientNetB6.__doc__ = BASE_DOCSTRING.format(name='EfficientNetB6')
+EfficientNetB7.__doc__ = BASE_DOCSTRING.format(name='EfficientNetB7')
+
+
 @keras_export('keras.applications.efficientnet.preprocess_input')
 def preprocess_input(x, data_format=None):  # pylint: disable=unused-argument
   return x
diff --git a/tensorflow/python/tools/api/generator/api_init_files.bzl b/tensorflow/python/tools/api/generator/api_init_files.bzl
index 99981a5..13068a8 100644
--- a/tensorflow/python/tools/api/generator/api_init_files.bzl
+++ b/tensorflow/python/tools/api/generator/api_init_files.bzl
@@ -83,6 +83,7 @@
     "keras/activations/__init__.py",
     "keras/applications/__init__.py",
     "keras/applications/densenet/__init__.py",
+    "keras/applications/efficientnet/__init__.py",
     "keras/applications/imagenet_utils/__init__.py",
     "keras/applications/inception_resnet_v2/__init__.py",
     "keras/applications/inception_v3/__init__.py",
diff --git a/tensorflow/python/tools/api/generator/api_init_files_v1.bzl b/tensorflow/python/tools/api/generator/api_init_files_v1.bzl
index aa01dab..e5f0f46 100644
--- a/tensorflow/python/tools/api/generator/api_init_files_v1.bzl
+++ b/tensorflow/python/tools/api/generator/api_init_files_v1.bzl
@@ -103,6 +103,7 @@
     "keras/activations/__init__.py",
     "keras/applications/__init__.py",
     "keras/applications/densenet/__init__.py",
+    "keras/applications/efficientnet/__init__.py",
     "keras/applications/imagenet_utils/__init__.py",
     "keras/applications/inception_resnet_v2/__init__.py",
     "keras/applications/inception_v3/__init__.py",
diff --git a/tensorflow/tools/api/golden/v1/tensorflow.keras.applications.efficientnet.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.keras.applications.efficientnet.pbtxt
new file mode 100644
index 0000000..f4103c5
--- /dev/null
+++ b/tensorflow/tools/api/golden/v1/tensorflow.keras.applications.efficientnet.pbtxt
@@ -0,0 +1,43 @@
+path: "tensorflow.keras.applications.efficientnet"
+tf_module {
+  member_method {
+    name: "EfficientNetB0"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB1"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB2"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB3"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB4"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB5"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB6"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB7"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "decode_predictions"
+    argspec: "args=[\'preds\', \'top\'], varargs=None, keywords=None, defaults=[\'5\'], "
+  }
+  member_method {
+    name: "preprocess_input"
+    argspec: "args=[\'x\', \'data_format\'], varargs=None, keywords=None, defaults=[\'None\'], "
+  }
+}
diff --git a/tensorflow/tools/api/golden/v1/tensorflow.keras.applications.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.keras.applications.pbtxt
index 0728c80..900df84 100644
--- a/tensorflow/tools/api/golden/v1/tensorflow.keras.applications.pbtxt
+++ b/tensorflow/tools/api/golden/v1/tensorflow.keras.applications.pbtxt
@@ -5,6 +5,10 @@
     mtype: "<type \'module\'>"
   }
   member {
+    name: "efficientnet"
+    mtype: "<type \'module\'>"
+  }
+  member {
     name: "imagenet_utils"
     mtype: "<type \'module\'>"
   }
@@ -65,6 +69,38 @@
     argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\'], varargs=None, keywords=None, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\'], "
   }
   member_method {
+    name: "EfficientNetB0"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB1"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB2"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB3"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB4"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB5"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB6"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB7"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
     name: "InceptionResNetV2"
     argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
   }
diff --git a/tensorflow/tools/api/golden/v2/tensorflow.keras.applications.efficientnet.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.keras.applications.efficientnet.pbtxt
new file mode 100644
index 0000000..f4103c5
--- /dev/null
+++ b/tensorflow/tools/api/golden/v2/tensorflow.keras.applications.efficientnet.pbtxt
@@ -0,0 +1,43 @@
+path: "tensorflow.keras.applications.efficientnet"
+tf_module {
+  member_method {
+    name: "EfficientNetB0"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB1"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB2"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB3"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB4"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB5"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB6"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB7"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "decode_predictions"
+    argspec: "args=[\'preds\', \'top\'], varargs=None, keywords=None, defaults=[\'5\'], "
+  }
+  member_method {
+    name: "preprocess_input"
+    argspec: "args=[\'x\', \'data_format\'], varargs=None, keywords=None, defaults=[\'None\'], "
+  }
+}
diff --git a/tensorflow/tools/api/golden/v2/tensorflow.keras.applications.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.keras.applications.pbtxt
index 0728c80..900df84 100644
--- a/tensorflow/tools/api/golden/v2/tensorflow.keras.applications.pbtxt
+++ b/tensorflow/tools/api/golden/v2/tensorflow.keras.applications.pbtxt
@@ -5,6 +5,10 @@
     mtype: "<type \'module\'>"
   }
   member {
+    name: "efficientnet"
+    mtype: "<type \'module\'>"
+  }
+  member {
     name: "imagenet_utils"
     mtype: "<type \'module\'>"
   }
@@ -65,6 +69,38 @@
     argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\'], varargs=None, keywords=None, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\'], "
   }
   member_method {
+    name: "EfficientNetB0"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB1"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB2"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB3"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB4"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB5"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB6"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
+    name: "EfficientNetB7"
+    argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
+  }
+  member_method {
     name: "InceptionResNetV2"
     argspec: "args=[\'include_top\', \'weights\', \'input_tensor\', \'input_shape\', \'pooling\', \'classes\', \'classifier_activation\'], varargs=None, keywords=kwargs, defaults=[\'True\', \'imagenet\', \'None\', \'None\', \'None\', \'1000\', \'softmax\'], "
   }