
    i                        d dl mZ d dlZd dlZd dlmZ d dlmZmZm	Z	 d dl
mZmZ d dlmZ d dlmZmZ d dlmZ d d	lmZ d d
lmZ  e	       ZddgZddgddgddgddggZddgddgddggZej8                  j;                  ed      ej8                  j;                  ed      gZej8                  j;                  ed      ej8                  j;                  ed      gZej8                  j;                  ed      Z  ee ej8                  j;                  ddgd            Z!d Z"ejF                  jI                  dg d      d        Z%ejF                  jI                  ddg      d        Z& edd       e"       ef ed d!g       e"       ef e        e"       e!fgZ'ejF                  jI                  d"e'      d#        Z(d$eee   ee   f   d%ee   d&ee   fd'Z)d$eee   ef   d%ee   d&efd(Z*d$eee   ef   d%ee   d&efd)Z+y)*    )ListN)assert_almost_equal)Modeldata_validationget_current_ops)Array2dRagged)English)FeatureExtractorStaticVectors)CharacterEmbed)Doc)VocabzThese are 4 wordszHere just three                        	   f)dtypeic                  D   t               } t        D ]e  }|j                         D ]P  }| j                  j	                  |      }t
        j                  j                  ddd      }| j                  ||       R g t        D cg c]  } t        |       |       }}|S c c}w )Nr   )r   )
r   textssplitstringsaddnumpyrandomuniform
set_vectorr
   )vocabtwordhash_idvectordocss         q/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/spacy/tests/pipeline/test_models.pyget_docsr-      s    GE .GGI 	.Dmm''-G\\))"a6FWf-	..
 (--!NGEN1-D-K .s   Bname)taggertok2vecmorphologizersenterc                     t               }|j                  |       }t        |j                  t	               t
               y N)r
   create_pipeutil_batch_unbatch_docs_listmodelr-   list_floatsr.   nlpprocs      r,   test_components_batching_listr<   &   s)    
)C??4 D XZE    textcatc                     t               }|j                  |       }t        |j                  t	               t
               y r4   )r
   r5   util_batch_unbatch_docs_arrayr7   r-   arrayr9   s      r,   test_components_batching_arrayrB   .   s)    
)C??4 D!$**hj%@r=   )nMnCd      zmodel,in_data,out_datac                    t        |t              rt        |d   t              rt        |t        j                  j
                        r|j                  dk(  rt        | ||       y t        |t              rGt        |d   t        j                  j
                        r |d   j                  dk(  rt        | ||       y t        |t              rt        | ||       y y y y )Nr   r   )
isinstancelistr   OPSxpndarrayndimr@   r6   r	   util_batch_unbatch_docs_ragged)r7   in_dataout_datas      r,   test_layers_batching_allrQ   <   s     '4 Z
C%@h/HMMQ4F)%(Cx&8A;7  A%(B&)*5'8D * &A r=   r7   rO   rP   c           	         t        d      5  | j                  ||       | j                  |      }|D cg c]  }| j                  |g      d    }}t        t	        |            D ]<  }t        t        j                  ||         t        j                  ||         d       > 	 d d d        y c c}w # 1 sw Y   y xY wNTr   r   decimal)r   
initializepredictrangelenr   rJ   to_numpy)r7   rO   rP   	Y_batcheduY_not_batchedr   s          r,   r6   r6   L   s     
	 (+MM'*	8?@1s+A.@@s9~& 	AYq\*CLLq9I,JTU		  A s   (B4B/AB4/B44B=c                 ,   t        d      5  | j                  ||       | j                  |      j                         }|D cg c]%  }| j                  |g      d   j                         ' }}t	        ||d       d d d        y c c}w # 1 sw Y   y xY wrS   )r   rV   rW   tolistr   )r7   rO   rP   r[   r\   r]   s         r,   r@   r@   Y   s     
	 A(+MM'*113	AHIAs+A.557III}a@	A A JA As   6B
*B,B
B

Bc                 Z   t        d      5  | j                  ||       | j                  |      j                  j	                         }g }|D ];  }|j                  | j                  |g      j                  j	                                = t        ||d       d d d        y # 1 sw Y   y xY w)NTr   rT   )r   rV   rW   datar_   extendr   )r7   rO   rP   r[   r]   r\   s         r,   rN   rN   c   s     
	 A(+MM'*//668	 	CA  s!3!8!8!?!?!AB	CI}a@A A As   BB!!B*),typingr   r"   pytestnumpy.testingr   	thinc.apir   r   r   thinc.typesr   r	   spacy.lang.enr
   spacy.mlr   r   spacy.ml._character_embedr   spacy.tokensr   spacy.vocabr   rJ   r   l0l1rK   asarrayr8   	list_intsrA   raggedr-   markparametrizer<   rB   LAYERSrQ   r6   r@   rN    r=   r,   <module>rv      s\      - = = ' ! 4 4  	/0!fq!fq!fq!f%!fq!fq!fvv~~b~,cffnnRsn.KLVV^^Bc^*CFFNN2SN,IJ	r%	svv~~q!fC~8	9 !QRF SF )-A .A qQ[9sCj!8:y9_hj&)
 16:E ;E
cDM)*
59#Y
JNw-
AcG#$A/3CyADKA	AcF"#	A.23i	ACI	Ar=   