
    im                     
   d dl mZmZmZ d dlZd dlmZmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZmZ d Zej&                  j(                  ej&                  j+                  d	d
dddfddddfdddddfg      d               Zy)    )CallableDictIterableN)Configfix_random_seedLanguage)ConfigSchemaTraining)Example)load_model_from_configregistryresolve_dot_namesc                  H   d} t        j                  d      dt        t        t        t
        gt        t           f   f   fd       }t               j                  |       }t        |d      t        j                  j                  j                         d   t              }|d	   |d
   g}t        j                  |      \  }t!        t              sJ |d   }j#                  fd|              D ]  }j%                  |g|        j'                  t)         |                  }|d   dk(  sJ  d      }	|	j*                  sJ dj                  j                         d   i}
t        j                  |
      d   d   }t!        |t              sJ y )Nz
    [training]

    [corpora]
    @readers = "myreader.v1"

    [nlp]
    lang = "en"
    pipeline = ["tok2vec", "textcat"]

    [components]

    [components.tok2vec]
    factory = "tok2vec"

    [components.textcat]
    factory = "textcat"
    zmyreader.v1returnc                  8    ddddidt         ffd} | | | | dS )Ncats      ?        )POSNEGnlpc                 T    | j                  d      }t        j                  |      gS )NzThis is an example)make_docr   	from_dict)r   docannotss     r/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/spacy/tests/training/test_readers.pyreaderz.test_readers.<locals>.myreader.<locals>.reader$   s(    ,,!35C%%c6233    )traindevextra	somethingr   )r   r   s    @r   myreaderztest_readers.<locals>.myreader    s/    #c23	4 	4  fUUr   T	auto_filltrainingschematrain_corpus
dev_corpus	optimizerc                              S N r   r*   s   r   <lambda>ztest_readers.<locals>.<lambda>4       <, r   sgdcats_macro_aucr   
Quick testcorporar"   )r   readersr   strr   r	   r   r   r   from_strr   resolveconfiginterpolater
   r   
isinstance
initializeupdateevaluatelistr   )config_stringr$   r<   T	dot_namesr+   r,   examplescoresr   r7   extra_corpusr   r*   s               @@r   test_readersrI      s   M& m$Vd3(Xg5F)F GGH V %V X}-F
 4
8C

 ,5I	A >"AlO4I0YGL*lH---+INN,)N<$ -

G9)
,-\\$z#/0F"#s***
l
C88O8#**0029=>G##G,Y7@LlH---r   zreader,additional_configzml_datasets.imdb_sentiment.v1
   )train_limit	dev_limitzml_datasets.dbpedia.v1zml_datasets.cmu_movies.v1   g?)limitfreq_cutoffsplitc           	         d}t               j                  |      }t        |d   d          | |d   d<   |d   j                  |       t	        |d      t        j                  j                  d   t              }|d	   |d
   g}t        j                  |      \  }|d   }j                  fd|              D ]t  }|j                  j                  sJ t        t        t        |j                  j                  j!                                           ddgk(  sJ j                  |g|       v t         |            }	|	D ]H  }t        t        t        |j                  j                  j!                                           ddgk(  rHJ  j#                  |	      }
|
d   sJ  d      }|j                  sJ y )Na\  
    [training]
    seed = 0

    [training.score_weights]
    cats_macro_auc = 1.0

    [corpora]
    @readers = "PLACEHOLDER"

    [nlp]
    lang = "en"
    pipeline = ["tok2vec", "textcat_multilabel"]

    [components]

    [components.tok2vec]
    factory = "tok2vec"

    [components.textcat_multilabel]
    factory = "textcat_multilabel"
    r'   seedr7   z@readersTr%   r(   r*   r+   r,   c                              S r.   r/   r0   s   r   r1   z"test_cat_readers.<locals>.<lambda>k   r2   r   r3   r   r   
cats_scorer6   )r   r:   r   r@   r   r   r;   r<   r
   r   r?   yr   sortedrB   setvaluesrA   )r   additional_confignlp_config_stringr<   rD   rE   r+   r,   rF   dev_examplesrG   r   r   r*   s               @@r   test_cat_readersr\   A   s   , X01FF:&v./$*F9j!
9./
 4
8CJ/8LMA>"AlO4I0YGL*+INN,)N<$ -yy~~~d3wyy~~446789c3ZGGG

G9)
,	- 
3(L Hd3wyy~~446789c3ZGGGH \\,'F,
l
C88O8r   )typingr   r   r   pytest	thinc.apir   r   spacyr	   spacy.schemasr
   spacy.trainingr   
spacy.utilr   r   r   rI   markslowparametrizer\   r/   r   r   <module>rg      s    + +  -  . " J J2.j 	("2*NO	!2B#GH	$3QT&UV0 0r   