
    B=a                         d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ  G d d	          ZdS )
    N)Grund)Sepap)Sidat)Train)Tifin)Vemlic                   .    e Zd ZddZd Zd Zd Zd ZdS )	StartFc                 p   || _         t          | j                   | _        t          | j                   | _        t          | j                   | _        t          | j                   | _        t          | j                   | _
        t          | j                   | _        | j        j        | _        || _        d S N)er   grundr   sepapr   sidatr   trainr   tifinr   vemlisig
do_verbose)selferimpr   s      !/home/ernad/ernad/python/start.py__init__zStart.__init__   sz    46]]
46]]
46]]
46]]
46]]
46]]
:>$t    c                    | j         }||j        vr t          d|z   t          j                   dS |j        |         }|j                            |j        d                   }|4t          |          dk    s!t          d| d           t                       || _        || _
        | j                            |           d S )Nztrain does not see the repcode fileFsourcer   zstart can't work on z. It has a source file.)r   reportprintsysstderrddatesdirslenquitrepcoder   setup)r   r(   r   r   found_datess        r   r)   zStart.setup   s    F!(""3g=z# # # #5'"ciiH 566#s;'7'71'<'<IIIIJJJFFF
!!!tr   c                 v   |                      |           i | _        | j        j        d         dz   }t	          j        |           t          j                            |          r't          d|            t	          j
        |          n|| _        |                     |          t          fdd          }d}| j                            |          D ] }| j        j        |z   }d| j        |<   |d	z  }!g }|t#          |          k     r?||         }d
| j        |<   |                    |           |d	z  }|t#          |          k     ?t          dt'          t#          |                    z   dz              | j                            ||           | j                            |           | j        S )z--> called in bin/startmoclaz/eval_grund.json.gzzstart sees c                     |          S r    )x
grund_evals    r   <lambda>z!Start.run_train.<locals>.<lambda>;   s    z!} r   T)keyreverser   z+1   z-1zstart: the added grund is z long.)grund_papids)r)   plumisr   r%   filerprepareospathisfiler    loadeval_grund_fufieval_grund_by_tifinsortedr   papidsprefixr&   appendstrr   
build_filerun)	r   r(   r=   sorted_grund_papids
count_docspapidr5   grund_papidr0   s	           @r   	run_trainzStart.run_train-   s   

7+*736KKo&&&7>>/** 	;111222O44JJ#2D 11'::J$Z5L5L5L5L-13 3 3
 
Z&&w// 	 	EJ%-E!%DK!OJJ 323333-j9K'+DK$,,,!OJ 323333 	*S\1B1B-C-CChNOOO
gLAAA
w{r   c                 &   | j                             |          }t          j                            |          s#t          d|z   dz              t                       | j                            | j                             |                    | _	        | j
        j        }| j                            |          }|| _        i }|D ]}|                     |          ||<   t          d| j        z              t          j        || j                   |S )Nzstart does not see z it must finish.zstart writes )r   	seed_fufir9   r:   r;   r    r'   r   bootseeds_sepapr   fufigrund_sepap
cross_evalr=   r7   dump)r   r(   rL   
grund_fufirP   
eval_grundrI   s          r   r>   zStart.eval_grund_by_tifinT   s    J((11	w~~i(( 	')36HHIIIFFF:??4:+?+?+H+HIIZ_
jooj11&
& 	C 	CK&*ook&B&BJ{##o 44555
:t3444r   c                 d   d}d| j         |         vr t          d|z   t          j                   d S | j         |         d         }| j        D ]c}d| j        |         vrt          d|z   t          j                   0| j        |         d         }| j                            ||          }||z  }d|S )Nr   bzstart: no beaks for r   )rP   r    r!   r"   rN   r   cropro)r   rI   outb_grundseeds_papidb_seedsx_prods          r   rQ   zStart.cross_evald   s    d&{333(;6SZHHHHF";/4+ 	 	K$*;777,{:LLLL&{3C8GZ&&w88F6MCC
r   N)F)__name__
__module____qualname__r   r)   rJ   r>   rQ   r.   r   r   r
   r
      se        
 
 
 
   % % %N       r   r
   )r9   r!   r7   r   r   r   r   r   r   r   r   r   r   r   r   r
   r.   r   r   <module>r`      s    				 



                                     c c c c c c c c c cr   