
    Αis                    V    S SK Jr  S SKJr  S SKJr  / r " S S5      r " S S\5      rg)	    )annotations)Any)corec                      \ rS rSrSS jrSrg)Index   c                    Xl         g N_name)selfnames     n/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/distributed/fleet/dataset/index_dataset.py__init__Index.__init__   s    
    r   N)r   strreturnNone)__name__
__module____qualname____firstlineno__r   __static_attributes__ r   r   r   r      s    r   r   c                     ^  \ rS rSrSU 4S jjrSS jrSS jrSS jrSS jrSS jr	SS jr
SS	 jrSSS
 jjrSS jrSS jrSS jrSS jr  S       SS jjr S       S S jjrSrU =r$ )!	TreeIndex   c                  > [         TU ]  U5        [        R                  " 5       U l        U R                  R                  X5        U R                  R                  U5      U l        U R                  R                  5       U l	        U R                  R                  5       U l        U R                  R                  5       U l        U R                  R                  5       U l        S U l        g r
   )superr   r   IndexWrapper_wrapperinsert_tree_indexget_tree_index_treeheight_heightbranch_branchtotal_node_nums_total_node_numsemb_size	_emb_size_layerwise_sampler)r   r   path	__class__s      r   r   TreeIndex.__init__   s    ))+''3]]11$7
zz((*zz((* $

 : : <,,."&r   c                    U R                   $ r
   )r'   r   s    r   r&   TreeIndex.height)       ||r   c                    U R                   $ r
   )r)   r3   s    r   r(   TreeIndex.branch,   r5   r   c                    U R                   $ r
   )r+   r3   s    r   r*   TreeIndex.total_node_nums/   s    $$$r   c                    U R                   $ r
   )r-   r3   s    r   r,   TreeIndex.emb_size2   s    ~~r   c                6    U R                   R                  5       $ r
   )r%   get_all_leavesr3   s    r   r=   TreeIndex.get_all_leaves5   s    zz((**r   c                8    U R                   R                  U5      $ r
   )r%   	get_nodes)r   codess     r   r@   TreeIndex.get_nodes8   s    zz##E**r   c                8    U R                   R                  U5      $ r
   )r%   get_layer_codes)r   levels     r   rD   TreeIndex.get_layer_codes;   s    zz))%00r   c                8    U R                   R                  X5      $ r
   )r%   get_travel_codes)r   idstart_levels      r   rH   TreeIndex.get_travel_codes>   s    zz**2;;r   c                8    U R                   R                  X5      $ r
   )r%   get_ancestor_codes)r   idsrE   s      r   rM   TreeIndex.get_ancestor_codesA   s    zz,,S88r   c                8    U R                   R                  X5      $ r
   )r%   get_children_codes)r   ancestorrE   s      r   rQ   TreeIndex.get_children_codesD   s    zz,,X==r   c                z    / nX:  a3  UR                  U5        [        US-
  U R                  -  5      nX:  a  M3  U$ )N   )appendintr)   )r   childrR   ress       r   get_travel_pathTreeIndex.get_travel_pathG   s?    JJudll23E  
r   c                L    U R                  X5      n[        [        X5      5      $ r
   )rM   dictzip)r   rN   rE   rA   s       r   get_pi_relationTreeIndex.get_pi_relationN   s!    ''3CO$$r   c                    U R                   b   e[        R                  " SU R                  5      U l         U R                   R	                  XU5        g )Nby_layerwise)r.   r   IndexSamplerr   init_layerwise_conf)r   layer_sample_countsstart_sample_layerseeds       r   init_layerwise_sampler TreeIndex.init_layerwise_samplerR   sH     &&..."&"3"3NDJJ"O33T	
r   c                j    U R                   c  [        S5      eU R                   R                  XU5      $ )Nz$please init layerwise_sampler first.)r.   
ValueErrorsample)r   
user_inputindex_inputwith_hierarchys       r   layerwise_sampleTreeIndex.layerwise_sample^   s:     ""*CDD&&--^
 	
r   )r)   r-   r'   r.   r+   r%   r"   )r   r   r/   r   r   r   )r   rW   )r   	list[Any])rA   	list[int]r   rr   )rE   rW   r   rs   )r   )rI   rW   rJ   rW   r   rs   )rN   rs   rE   rW   r   rs   )rR   rW   rE   rW   r   rs   )rX   rW   rR   rW   r   rs   )rN   rs   rE   rW   r   zdict[int, int])rU   r   )re   rs   rf   rW   rg   rW   r   r   )F)rm   list[list[int]]rn   rs   ro   boolr   rt   )r   r   r   r   r   r&   r(   r*   r,   r=   r@   rD   rH   rM   rQ   rZ   r_   rh   rp   r   __classcell__)r0   s   @r   r   r      s    	'%++1<9>% #$	

&

  

 	


 


   %	

#

 

 	


 


 

r   r   N)	
__future__r   typingr   paddle.baser   __all__r   r   r   r   r   <module>r{      s-    #  
 
K
 K
r   