
    RЦi~              "           S SK JrJrJr  S SKrS r              SS\R                  R                  S\S\\R                     S\
S\
S	\
S
\
S\S\\\\4   S\\   S\
S\
S\\
   S\
S\\   S\\   4 S jjrg)    )OptionalTupleListNc                     SS K nUR                  5       nUR                  X5      nUR                  5       S   R                  nUR                  / XQR                  5       05      nUS   nU$ )Nr   )onnxruntimeSessionOptionsInferenceSession
get_inputsnamerunnumpy)	onnx_fileexample_inputr   sess_optionssession
input_nameoutputs          N/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/timm/utils/onnx.pyonnx_forwardr      sf    --/L**9CG##%a(--J[[j*=*=*?@AFAYFM    modeloutput_filer   trainingverbosecheckcheck_forward
batch_size
input_sizeopsetdynamic_sizeaten_fallbackkeep_initializers
use_dynamoinput_namesoutput_namesc                    SS K nU(       a5  [        R                   R                  R                  nU R	                  5         O4[        R                   R                  R
                  nU R                  5         UcS  U(       d3  [        U S5      (       d   S5       eU R                  R                  S5      n[        R                  " U4U-   US9n[        R                  " 5          U " U5      nS S S 5        U=(       d    S/nU=(       d    S/nSS0SS0S	.nU
(       a  S
US   S'   SUS   S'   U(       a%  [        R                   R                  R                  nO$[        R                   R                  R                  nU(       aN  [        R                   R                  U
S9n[        R                   R!                  U UUS9nUR#                  U5        O([        R                   R%                  U UUUSUUUUUU	US9  U(       at  UR'                  U5      nUR(                  R+                  USS9  U(       aA  U(       d9  SS Kn[/        X5      nUR0                  R3                  WR-                  5       USS9  g g g g ! , (       d  f       GN= f)Nr   default_cfgz=Cannot file model default config, input size must be providedr   )requires_gradinput0output0batch)r)   r*   height   width   )dynamic_shapes)export_optionsT)	r   export_paramsr   r$   r%   keep_initializers_as_inputsdynamic_axesopset_versionoperator_export_type)
full_check)decimal)onnxtorchTrainingModeTRAININGtrainEVALevalhasattrr'   getrandninference_modeOperatorExportTypesONNX_ATEN_FALLBACKONNXExportOptionsdynamo_exportsaveexportloadcheckercheck_modelr   r   testingassert_almost_equal)r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r9   training_modeoriginal_outr4   export_typer1   export_output
onnx_modelnponnx_outs                             r   onnx_exportrW      s(   $ 

//88

//44

5-00q2qq0**..|<JZMJ$>hW 
			]+ 
  +(K.I;L 'l7|DL$,Xq!$+Xq!jj44GGjj4499111N

00) 1 

 	;'

"#%(9%!, 	 	
 YY{+
   =#K?HJJ**<+=+=+?ST*U "*= Q 
 	s    	I22
J)NFFTF@   NNFFNFNN)typingr   r   r   r:   r   nnModulestrTensorboolintrW    r   r   <module>ra      s.   ( (  15#+/#"#,0 !%"&!VVxxVVVV  -VV 	VV
 VV VV VV VV #sC-(VV }VV VV VV $D>VV VV #YVV  3i!VVr   