class_docstr: This class implements a classifier with the TensorFlow framework.
class_docstr_tok: ["This","class","implements","a","classifier","with","the","TensorFlow","framework","."]
docstr: Save a model to file in the format specific to the backend framework. For TensorFlow, .ckpt is used.
  
  :param filename: Name of the file where to store the model.
  :param path: Path of the folder where to store the model. If no path is specified, the model will be stored in
               the default data location of the library `ART_DATA_PATH`.
docstr_tok: ["Save","a","model","to","file","in","the","format","specific","to","the","backend","framework",".","For","TensorFlow",",",".ckpt","is","used",".",":","param","filename",":","Name","of","the","file","where","to","store","the","model",".",":","param","path",":","Path","of","the","folder","where","to","store","the","model",".","If","no","path","is","specified",",","the","model","will","be","stored","in","the","default","data","location","of","the","library","`","ART_DATA_PATH","`","."]
code: def save(self, filename: str, path: Optional[str] = None) -> None:
      """
      Save a model to file in the format specific to the backend framework. For TensorFlow, .ckpt is used.
  
      :param filename: Name of the file where to store the model.
      :param path: Path of the folder where to store the model. If no path is specified, the model will be stored in
                   the default data location of the library `ART_DATA_PATH`.
      """
      # pylint: disable=E0611
      from tensorflow.python import saved_model
      from tensorflow.python.saved_model import tag_constants
      from tensorflow.python.saved_model.signature_def_utils_impl import (
          predict_signature_def,
      )
  
      if path is None:
          full_path = os.path.join(config.ART_DATA_PATH, filename)
      else:
          full_path = os.path.join(path, filename)
  
      if os.path.exists(full_path):
          shutil.rmtree(full_path)
  
      builder = saved_model.builder.SavedModelBuilder(full_path)
      signature = predict_signature_def(
          inputs={"SavedInputPhD": self.input_ph},
          outputs={"SavedOutput": self.output},
      )
      builder.add_meta_graph_and_variables(
          sess=self._sess,
          tags=[tag_constants.SERVING],
          signature_def_map={"predict": signature},
      )
      builder.save()
  
      logger.info("Model saved in path: %s.", full_path)
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  import os
  import random
  import shutil
  import time
  from typing import Any, Callable, Dict, List, Optional, Tuple, Union, TYPE_CHECKING
  from tqdm.auto import tqdm
  import numpy
  import six
  from art import config
  from art.estimators.classification.classifier import ClassGradientsMixin, ClassifierMixin
  from art.estimators.tensorflow import TensorFlowEstimator, TensorFlowV2Estimator
  from art.utils import check_and_transform_label_format
label_desc: Use image node_id 20 for calling the TensorFlowClassifier obj's underlying member method code with example usage: obj.save(filename, path) without return types