L i ddlmZddlZddlmZddlmZmZddlmZddl m Z m Z ddl m Z mZddlmZdd lmZ d,d ej&d ej&d eej&d edej&f dZ d-ded eej&d edeej&dej&f dZ d,dej&dej&ded eej&d ef dZdej&dej&dej&fdZdZdej&fdZidedededededed ed!ed"ed#e d$ed%e d&e d'e d(ed)ed*e eeeed+Zy).)OptionalN)BCEWithLogitsLossMSELoss)DFineForObjectDetectionLoss)$DeformableDetrForObjectDetectionLoss!DeformableDetrForSegmentationLoss)ForObjectDetectionLossForSegmentationLoss)#GroundingDinoForObjectDetectionLoss)RTDetrForObjectDetectionLosssourcetargetnum_items_in_batch ignore_indexreturnc |dnd}tjj||||}|dk(r5tj|r|j |j }||z }|S)Nsummean)r reduction)nn functional cross_entropytorch is_tensortodevice)rrrrkwargsrlosss b/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/transformers/loss/loss_utils.pyfixed_cross_entropyr!sh,7VI == & &vvL\e & fDE ??- .!3!6!6t{{!C (( K vocab_size shift_labelsc 6|j}|9tjj|d|}|dddfj }|j d|}|j d}|j |j}t||||fi|}|S)N)rr)value.r) floatrrpad contiguousviewrrr!)logitslabelsr#rrr$rrs r ForCausalLMLossr.-s\\^F""66"Fc12g113 [[Z (F$$R(L??6==1L v|5G `Y_ `D Kr"r,r-c |j}|jd|}|jd}|j|j}t ||||fi|}|SNr')r(r+rrr!)r,r-r#rrrrs r ForMaskedLMLossr1Gs^\\^F[[Z (F [[_FYYv}} %F vv/A< ZSY ZD Kr" pooled_logitsc |j}|jM|dk(rd|_n@|dkDr4|jtjtj fvrd|_nd|_|j |j}|jdk(r=t}|dk(r%||j|jS|||S|jdk(r,t|jd||jdfi|S|jdk(rt}|||Std|j)Nr regressionsingle_label_classificationmulti_label_classificationr'zInvalid problem type: ) num_labels problem_typedtyperlongintrrrsqueezer!r+r RuntimeError)r-r2configrr7loss_fcts r ForSequenceClassificationLossr@\s'""J " ?".F  !^%**eii1H!H"?F ">F  YY}++ ,F l*9 ?M113V^^5EF FM62 2 ;;"=#5#5b*#Ev{{SUaZ`aa ::$& v.. /0C0C/DE FFr"c d}||t|jdkDr*|jdj|j}t|jdkDr*|jdj|j}|jd}|j d|}|j d|}t ||fd|i|}t ||fd|i|}||zdz }|S)Nrr'rr)lensizer<rrclampr!) start_logits end_logitsstart_positions end_positionsr total_loss ignored_index start_lossend_losss r ForQuestionAnsweringLossrNwsJ"}'@ ##% & *-55b9<<\=P=PQO }!!# $q ()11"5889J9JKM$))!, )//=A%++A}= (mUbmflm &z=g}g`fg 8+q0 r"c |jd|j}|jdj|j}|j }t ||fi|Sr0)r+r7rrr(r!)r,r-r>rs r ForTokenClassificationrPsQ [[V.. /F [[_   .F \\^F vv 8 88r" ForCausalLM ForMaskedLMForQuestionAnsweringForSequenceClassificationForImageClassificationForVideoClassificationForAudioClassificationrPForSegmentationForObjectDetectionForConditionalGeneration DeformableDetrForObjectDetection!ConditionalDetrForObjectDetectionDabDetrForObjectDetectionGroundingDinoForObjectDetection!MMGroundingDinoForObjectDetectionConditionalDetrForSegmentation)RTDetrForObjectDetectionRTDetrV2ForObjectDetectionDFineForObjectDetectionCsmForConditionalGeneration)N)NreN)typingrrtorch.nnrrr loss_d_finerloss_deformable_detrrr loss_for_object_detectionr r loss_grounding_dinor loss_rt_detrr Tensorr;r!r.r1r@rNrP LOSS_MAPPINGr"r rpsH /4iRD6 26  LL LL!.   \\ *26+/ !.    5<<(  \\<26  LL LL!.   *G%,,Gu||GjojvjvG6&95<<9??4 !>  ;  ; ;4*0'(L()M !E&'J ()L!"%&G#$!=">:#2+ r"