Ë
    –\;j¾	  ã                   óB   — d dl Z d dlZd dlmZ d dlmZ d„ Z ee«      Zy)é    N)Úwrap_decorator)Úin_dynamic_modec                 ó   ‡ — ˆ fd„}|S )Nc                  óÂ  •— t        «       sÍ‰j                  d d }t        j                  dj	                  ‰j                  |«      «       ddlm}  |«       r`| D ][  }t        |d«      sŒ|j                  sŒt        d‰j                  › d|j                  › d|j                  › d	|j                  › d
�	«      ‚ ‰j                  › d|› �} t        |«      | i |¤ŽS  ‰| i |¤ŽS )NéÿÿÿÿzVIn static graph mode, {}() is the same as {}() and does not perform inplace operation.é   )Úin_to_static_modeÚis_view_varz/Sorry about what's happend. In to_static mode, z's output variable z» is a viewed Tensor in dygraph. This will result in inconsistent calculation behavior between dynamic and static graphs. You must find the location of the strided API be called, and call z = z
.assign().Ú.)r   Ú__name__ÚwarningsÚwarnÚformatÚbase.dygraph.baser	   Úhasattrr
   Ú
ValueErrorÚnameÚ
__module__Úeval)ÚargsÚkwargsÚorigin_api_namer	   ÚargÚorigin_funcÚfuncs         €úcG:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\paddle/utils/inplace_utils.pyÚ__impl__z0_inplace_apis_in_dygraph_only_.<locals>.__impl__   s  ø€ ÜÔ Ø"Ÿm™m¨C¨RÐ0ˆOÜ�M‰MØh×oÑoØ—M‘M ?óôõ
 >á Ô"Û�CÜ˜s MÕ2°s·³Ü(ØNÈtÏ}É}ÈoÐ]qÐru×rzÑrzÐq{ð  |wð  x{÷  x@ñ  x@ð  wAð  ADð  EH÷  EMñ  EMð  DNð  NXð  Yóð ð  ð "Ÿ_™_Ð-¨Q¨Ð.?Ð@ˆKØ$”4˜Ó$ dÐ5¨fÑ5Ð5Ù�TÐ$˜VÑ$Ð$ó    © )r   r   s   ` r   Ú_inplace_apis_in_dygraph_only_r       s   ø€ ô%ð* €Or   )r   ÚpaddleÚpaddle.base.wrapped_decoratorr   Úpaddle.frameworkr   r    Úinplace_apis_in_dygraph_onlyr   r   r   Ú<module>r%      s&   ðó ã Ý 8Ý ,òñ2  .Ð.LÓMÑ r   