o
    ?e                     @   s~   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ ed	gd
e	dddddZdS )z%SavedModel simple save functionality.    )ops)builder)signature_constants)signature_def_utils)tag_constants)deprecation)	tf_exportzsaved_model.simple_save)v1NzThis API was designed for TensorFlow v1. See https://www.tensorflow.org/guide/migrate for instructions on how to migrate your code to TensorFlow v2.c                 C   sL   t jt||i}t|}|j| tjg|t	
t	jj|dd |  dS )a  Convenience function to build a SavedModel suitable for serving.

  In many common cases, saving models for serving will be as simple as:

      simple_save(session,
                  export_dir,
                  inputs={"x": x, "y": y},
                  outputs={"z": z})

  Although in many cases it's not necessary to understand all of the many ways
      to configure a SavedModel, this method has a few practical implications:
    - It will be treated as a graph for inference / serving (i.e. uses the tag
      `saved_model.SERVING`)
    - The SavedModel will load in TensorFlow Serving and supports the
      [Predict
      API](https://github.com/tensorflow/serving/blob/master/tensorflow_serving/apis/predict.proto).
      To use the Classify, Regress, or MultiInference APIs, please
      use either
      [tf.Estimator](https://www.tensorflow.org/api_docs/python/tf/estimator/Estimator)
      or the lower level
      [SavedModel
      APIs](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/saved_model/README.md).
    - Some TensorFlow ops depend on information on disk or other information
      called "assets". These are generally handled automatically by adding the
      assets to the `GraphKeys.ASSET_FILEPATHS` collection. Only assets in that
      collection are exported; if you need more custom behavior, you'll need to
      use the
      [SavedModelBuilder](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/saved_model/builder.py).

  More information about SavedModel and signatures can be found here:
  https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/saved_model/README.md.

  Args:
    session: The TensorFlow session from which to save the meta graph and
        variables.
    export_dir: The path to which the SavedModel will be stored.
    inputs: dict mapping string input names to tensors. These are added
        to the SignatureDef as the inputs.
    outputs:  dict mapping string output names to tensors. These are added
        to the SignatureDef as the outputs.
    legacy_init_op: Legacy support for op or group of ops to execute after the
        restore op upon a load.
  T)tagssignature_def_mapZassets_collectionZmain_opZclear_devicesN)r   Z!DEFAULT_SERVING_SIGNATURE_DEF_KEYr   Zpredict_signature_defr   ZSavedModelBuilderZadd_meta_graph_and_variablesr   ZSERVINGr   Zget_collectionZ	GraphKeysZASSET_FILEPATHSsave)sessionZ
export_dirZinputsZoutputsZlegacy_init_opr   b r   j/home/www/facesmatcher.com/pyenv/lib/python3.10/site-packages/tensorflow/python/saved_model/simple_save.pysimple_save   s   2

r   )N)__doc__Ztensorflow.python.frameworkr   Ztensorflow.python.saved_modelr   r   r   r   Ztensorflow.python.utilr   Z tensorflow.python.util.tf_exportr   
deprecatedr   r   r   r   r   <module>   s   
