
    o                     \   S r SSKJr  SSKJr  SSKJr  SSKrSSKrSSKrSSKJ	r	  SSKJ
r
  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr   " S S\R(                  5      r " S S\R(                  5      r " S S\R(                  5      r " S S\R(                  5      r   SS jrg)z)Utilities for local ml-engine operations.    )absolute_import)division)unicode_literalsN)local_predict)predict_utilities)config)
exceptions)log)
properties)encoding)filesc                       \ rS rSrSrg)InvalidInstancesFileError#    N)__name__
__module____qualname____firstlineno____static_attributes__r       7lib/googlecloudsdk/command_lib/ml_engine/local_utils.pyr   r   #   s    r   r   c                       \ rS rSrSrSrg)LocalPredictRuntimeError'   8Indicates that some error happened within local_predict.r   Nr   r   r   r   __doc__r   r   r   r   r   r   '       @r   r   c                       \ rS rSrSrSrg)LocalPredictEnvironmentError,   r   r   Nr   r   r   r   r!   r!   ,   r   r   r!   c                       \ rS rSrSrSrg)InvalidReturnValueError1   zBIndicates that the return value from local_predict has some error.r   Nr   r   r   r   r$   r$   1   s    Jr   r$   c           
         [         R                  " UUU5      n[        R                  " 5       R                  nU(       d  [        S5      e[        R                  R                  5       n[        R                  " USU5        [        R                  " S5      n	[        R                  " US5      =(       d    Sn
U
(       a  SU
-   n
[        R                  " US[        R                  R                  USSS	5      U
-   5        U	(       d  [        S
5      e[         R"                  R$                  R&                  R)                  5       =(       d    U	S   nSU SU/nU(       a  USU/-  nU[*        R,                  /U-    Vs/ s H  n[        R.                  " U5      PM     nn[0        R2                  " U[0        R4                  [0        R4                  [0        R4                  US9nU HD  nUR6                  R9                  [:        R<                  " U5      S-   R?                  S5      5        MF     UR6                  RA                  5         URC                  5       u  nnURD                  S:w  a  [G        U5      eU(       a  [H        RJ                  " U5         [:        RL                  " [        RN                  " U5      5      $ s  snf ! [P         a    [S        SU-   5      ef = f)zRun ML Engine local prediction.zGYou must be running an installed Cloud SDK to perform local prediction.CLOUDSDK_ROOTpython
PYTHONPATH :libthird_partyml_sdkzVSomething has gone really wrong; we can't find a valid Python executable on your PATH.r   z--model-dirz--frameworkz--signature-name)stdinstdoutstderrenv
zutf-8z1The output for prediction is not in JSON format: )*r   ReadInstancesFromArgsr   Pathssdk_rootr!   osenvironcopyr   SetEncodedValuer   SearchForExecutableOnPathGetEncodedValuepathjoinr   VALUES	ml_enginelocal_pythonGetr   __file__Encode
subprocessPopenPIPEr/   writejsondumpsencodeflushcommunicate
returncoder   r
   warningloadsDecode
ValueErrorr$   )	model_dirjson_requestjson_instancestext_instances	frameworksignature_name	instancesr6   r2   python_executablesorig_py_pathpython_executablepredict_argsaargsprocinstanceoutputerrs                      r   
RunPredictrd   6   sr     55l6D6DF) \\^$$(	
&	  	

#
3: 66x@ ))#|<B,%L
	<ggll8UM8<|KM 
 '	#$ $ "((22??CCE -)!, M9E,'88L }556E
HE "#(//!
E  
H			
OOJOOJOO

$ hJJdjj*T199'BC **   "+&#	__
"3
''KK?::hoof-..)
H* 
 ?
! #57=#> ? ??s   8 J6)J; ;K)NNN
tensorflowN)r   
__future__r   r   r   rI   r7   rE   $googlecloudsdk.command_lib.ml_enginer   r   googlecloudsdk.corer   r	   core_exceptionsr
   r   googlecloudsdk.core.utilr   r   Errorr   r   r!   r$   rd   r   r   r   <module>rl      s    0 &  '  	  > B & = # * - * 5 5 44 
?#8#8 
o33 
 =A.:"B?r   