ó
    †ñ:iõ
  ã                   ó.   • S SK r SqS rS rS rS rS rg)é    Nc                  ó   • [         c  SSKq gg)zTries to import tensorflow.Nr   )ÚtfÚ
tensorflow© ó    Ú[/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/shap/explainers/tf_utils.pyÚ
_import_tfr	      s   € ô 
�zÜð r   c                 ó8  • [        5         U c=   [        R                  R                  R                  R
                  R                  5       n U c  [        R                  5       $ U $ ! [         a+    [        R                  R
                  R                  5       n  NMf = f)zäCommon utility to get the session for the tensorflow-based explainer.

Parameters
----------
explainer : Explainer

    One of the tensorflow-based explainers.

session : tf.compat.v1.Session

    An optional existing session.

)	r	   r   ÚcompatÚv1ÚkerasÚbackendÚget_sessionÚ	ExceptionÚget_default_session)Úsessions    r   Ú_get_sessionr      sx   € ô „Là�ð	5Ü—i‘i—l‘l×(Ñ(×0Ñ0×<Ñ<Ó>ˆGð (/¡Œ2×!Ñ!Ó#ÐC¸GÐCøô ó 	5Ü—h‘h×&Ñ&×2Ñ2Ó4ŠGð	5ús   �<A$ Á$2BÂBc                 ó¤   • [        5         [        R                  5       (       d  U R                  R                  $ SSKJn  UR                  5       nU$ )zŸCommon utility to get the graph for the tensorflow-based explainer.

Parameters
----------
explainer : Explainer

    One of the tensorflow-based explainers.

r   )r   )r	   r   Úexecuting_eagerlyr   ÚgraphÚtensorflow.python.kerasr   Ú	get_graph)Ú	explainerr   r   s      r   Ú
_get_graphr   %   s@   € ô „LÜ×Ñ×!Ñ!Ø× Ñ ×&Ñ&Ð&å3à×!Ñ!Ó#ˆØˆr   c                 óü  • [        5         [        [        U 5      5      R                  S5      (       dy  [        [        U 5      5      R                  S5      (       dQ  [        [        U 5      5      R                  S5      (       d)  [	        U [
        R                  R                  5      (       a  U R                  $ [        [        U 5      5      R                  S5      (       a  U S   $ [        U 5       S3n[        U5      e)z’Common utility to determine the model inputs.

Parameters
----------
model : Tensorflow Keras model or tuple

    The tensorflow model or tuple.

ú$keras.engine.sequential.Sequential'>úkeras.models.Sequential'>úkeras.engine.training.Model'>útuple'>r   ú) is not currently a supported model type!)
r	   ÚstrÚtypeÚendswithÚ
isinstancer   r   ÚModelÚinputsÚ
ValueError©ÚmodelÚemsgs     r   Ú_get_model_inputsr+   9   s¸   € ô „LäŒD�‹KÓ×!Ñ!Ð"H×IÑIÜŒt�E‹{Ó×$Ñ$Ð%@×AÑAÜŒt�E‹{Ó×$Ñ$Ð%D×EÑEÜ�eœRŸX™XŸ^™^×,Ñ,à�|‰|ÐÜ
Œ4�‹;Ó× Ñ  ×+Ñ+Ø�Q‰xˆä�5‹kˆ]ÐCÐD€DÜ
�TÓ
Ðr   c                 óÞ  • [        5         [        [        U 5      5      R                  S5      (       dy  [        [        U 5      5      R                  S5      (       dQ  [        [        U 5      5      R                  S5      (       d)  [	        U [
        R                  R                  5      (       a}  [        U R                  S   R                  5      S:X  a>  [        U R                  5      S:”  a  [        R                  " S5        U R                  S   $ U R                  S   R                  $ [        [        U 5      5      R                  S5      (       a  U S   $ [        U 5       S	3n[        U5      e)
z’Common utility to determine the model output.

Parameters
----------
model : Tensorflow Keras model or tuple

    The tensorflow model or tuple.

r   r   r   éÿÿÿÿr   é   z Only one model output supported.r   r    )r	   r!   r"   r#   r$   r   r   r%   ÚlenÚlayersÚ_inbound_nodesÚoutputsÚwarningsÚwarnÚoutputr'   r(   s     r   Ú_get_model_outputr6   R   s  € ô „LäŒD�‹KÓ×!Ñ!Ð"H×IÑIÜŒt�E‹{Ó×$Ñ$Ð%@×AÑAÜŒt�E‹{Ó×$Ñ$Ð%D×EÑEÜ�eœRŸX™XŸ^™^×,Ñ,äˆu�|‰|˜BÑ×.Ñ.Ó/°1Ó4Ü�5—=‘=Ó! AÓ%Ü—’Ð@ÔAØ—=‘= Ñ#Ð#à—<‘< Ñ#×*Ñ*Ð*Ü
Œ4�‹;Ó× Ñ  ×+Ñ+Ø�Q‰xˆä�5‹kˆ]ÐCÐD€DÜ
�TÓ
Ðr   )r3   r   r	   r   r   r+   r6   r   r   r   Ú<module>r7      s'   ðÛ à	€ò òDò0ò(ó2r   