L i ddlmZmZmZddlmZmZmZmZm Z m Z m Z m Z m Z mZmZGddZGddZGddZGd d Zy ) )AnyOptionalUnion) AnnotationArgument ArgumentsBaseOperatorNameBaseTyBaseTypeCustomClassTypeFunctionSchemaListType OperatorNameReturnceZdZeejeej eej eejiZe de de e e effdZy)TypeGenobjreturncddl}t||jjrt t jSt||j rt t j St||jrt t jSt||jrt t jSt||jr't|jjSt|ttfrpt|dkDsJ|Dcgc]}t j#|}}tt%|dkDrt'd|dt)|dt|St+|}|t j,vrt'd|t t j,|Scc}w)NrzFCannot generate schema for a sequence of args of heterogeneous types: zc. Consider unpacking the argument and give proper names to them if possible instead of using *args.zunsupported type )torch isinstancefx GraphModuler r TensorSymIntSymBool ScriptObjectr _typenamelisttuplelenr from_exampleset RuntimeErrorrtypeconvert_to_base_ty)rrx all_base_tystps _/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/torchgen/gen_schema_utils.pyr$zTypeGen.from_examplesw c588// 0F../ / U\\ *FMM* * U\\ *FMM* * U]] +FNN+ + U// 0"399;#3#3#56 6 dE] +s8a< <=@AG003ALA3|$%)"\]i\jk.. LOSX6 6 #Y W// /!22$78 8222677Bs2GN)__name__ __module__ __qualname__intr floatstrboolr( staticmethodrrr rr r$r,rrs\ VZZ v|| VZZ fkk 8#8%(O(K"L88r6rc :eZdZedeededeedefdZ y) ReturnGenr r annotationrcBt|tj||SN)rrr$)r rr9s r,r$zReturnGen.from_example>sdG005zBBr6N) r-r.r/r4rr2rrrr$r5r6r,r8r8=sCCsmC"%C3;J3GC CCr6r8c >eZdZedededeedeedef dZ y) ArgumentGenr rdefaultr9rcFt|tj|||S)N)r>r9)rrr$)r rr>r9s r,r$zArgumentGen.from_exampleFs% '&&s+W  r6N) r-r.r/r4r2rrrrr$r5r6r,r=r=EsE   &.sm AI*AU   r6r=c LeZdZededeeeefdfdeedfdefdZy)FunctionSchemaGenop_nameexample_inputs.example_outputsrc Jg}|D],\}}|jtj||dd.tt dt |t dt t }t d|D}t t |dddd}t|||S)Nc3JK|]}tjd|dywr;)r8r$).0outs r, z1FunctionSchemaGen.from_example..]s$ 8;I " "4d 3 s!#F)appendr=r$rr"rr r )rBrCrDargsr inp argumentsreturnss r,r$zFunctionSchemaGen.from_examplePs ' IID# KK 00sD$G H I GT5;uw  ?N  /uMrRgy'::r6N) r-r.r/r4r2r"rr r$r5r6r,rArAOsR;;eCHos23;sCx;  ;;r6rAN)typingrrrtorchgen.modelrrrr r r r r rrrrr8r=rAr5r6r,rRsJ''    (#8#8LCC  ;;r6