o
    ®Ÿ?e—  ã                   @   sD   d Z ddlmZ ddlmZ e d¡dd„ ƒZe d¡dd	„ ƒZd
S )z$Gradient functions for optional ops.é    )Úops)Úgen_optional_opsZOptionalFromValuec                 C   s&   t  |dd„ | jD ƒdd„ | jD ƒ¡S )Nc                 S   ó   g | ]}|j ‘qS © )Zdtype©Ú.0Útr   r   úd/home/www/facesmatcher.com/pyenv/lib/python3.10/site-packages/tensorflow/python/ops/optional_grad.pyÚ
<listcomp>   ó    z*_OptionalFromValueGrad.<locals>.<listcomp>c                 S   r   r   )Úshaper   r   r   r	   r
      r   )r   Zoptional_get_valueZinputs)ÚopZgradr   r   r	   Ú_OptionalFromValueGrad   s   ÿr   ZOptionalGetValuec                 G   s
   t  |¡S )N)r   Zoptional_from_value)Z	unused_opZgradsr   r   r	   Ú_OptionalGetValueGrad   s   
r   N)Ú__doc__Ztensorflow.python.frameworkr   Ztensorflow.python.opsr   ZRegisterGradientr   r   r   r   r   r	   Ú<module>   s   
