Ë
    šU×j8
  ã                  ó0   — d Z ddlmZ ddlZddlZd„ Zd„ Zy)zMRender comparable weak-label metrics separately for each evaluation protocol.é    )ÚannotationsNc                óN   — d| v r| j                  d«      S | j                  d«      S )NÚcommon_grid_weak_fitÚweak_fit©Úget)Úrecords    úSummary/model_checks.pyÚweak_resultr      s+   € Ø1GÈ6Ñ1Qˆ6�:‰:Ð,Ó-ÐmÐW]×WaÑWaÐblÓWmÐmó    c                óh  — t        t        j                  ddg| D �cg c]  }|d   ‘Œ	 c}z   «      «      }ddddœ}dd	t        fd
dt        fddt        fg}g }|D �]0  }| D �cg c]  }|d   |k(  sŒ|‘Œ }}|sŒi }|D ]R  \  }	}
}|D �cg c]2  }|j                  |	«      €Œt        j                  ||	   «      sŒ.||	   ‘Œ4 }}|r ||«      nd ||	<   ŒT g }t        d„ |D «       «      }|D �]   }t        j                  |d   «      t        |d   «      g}|r5|j                  dt        j                  |j                  dd«      «      «       |D ]n  \  }	}
}
|j                  |	«      }|�t        j                  |«      r|d›nd}||	   �$|�"t        j                  |||	   dd¬«      rd|› d�}|j                  |«       Œp |j                  ddj                  d„ |D «       «      z   dz   «       �Œ |j                  dt        j                  |«      › dt        j                  |j                  ||«      «      › d t        j                  |«      › d!�|rd"ndz   d#z   dj                  d$„ |D «       «      z   d%z   dj                  |«      z   d&z   «       �Œ3 |rd'dj                  |«      z   S dS c c}w c c}w c c}w )(NÚ	train_allÚleave_one_design_outÚprotocolzTraining fitzHeld-out-design evaluationzPer-design training fit)r   r   Ú
per_designÚbceu   BCE â†“Úaverage_precisionu   AP â†‘Úiouu   IoU â†‘c              3  ó>   K  — | ]  }|j                  d «      –— Œ y­w)Ú
input_sizeNr   )Ú.0Úrows     r
   Ú	<genexpr>z$weak_model_tables.<locals>.<genexpr>   s   è ø€ Ð?¹°#˜Ÿ™ ×-¹ùs   ‚Úmodel_idÚdatasetsé   r   u   â€”z.4fg•Ö&è.>gê-�™—q=)Úrel_tolÚabs_tolz<strong>z	</strong>z<tr>Ú c              3  ó(   K  — | ]
  }d |› d�–— Œ y­w)z<td>z</td>N© )r   Úcells     r
   r   z$weak_model_tables.<locals>.<genexpr>%   s   è ø€ Ð(NÉÀ¨4°¨v°UÔ);Éùs   ‚z</tr>z4<section class="weak-model-protocol" data-protocol="z"><h3>u
    Â· <code>zS</code></h3><div style="overflow:auto"><table><thead><tr><th scope="col">Model</th>z<th scope="col">Input size</th>z<th scope="col">Datasets</th>c              3  ó0   K  — | ]  \  }}}d |› d�–— Œ y­w)z<th scope="col">z</th>Nr!   )r   Ú_Úlabels      r
   r   z$weak_model_tables.<locals>.<genexpr>*   s#   è ø€ Ð[ÑSZÁKÀAÀuÈaÐ"2°5°'¸Ô ?ÑSZùs   ‚z</tr></thead><tbody>z </tbody></table></div></section>z‹<p>Bold marks the best value in each metric column within its table, including ties. Lower BCE is better; higher AP and IoU are better.</p>)ÚlistÚdictÚfromkeysÚminÚmaxr   ÚmathÚisfiniteÚanyÚhtmlÚescapeÚstrÚinsertÚiscloseÚappendÚjoin)ÚrowsÚrÚ	protocolsÚtitlesÚmetricsÚtablesr   ÚgroupÚbestÚkeyr$   ÚchooseÚvaluesÚbodyÚ	show_sizer   ÚcellsÚvaluer"   s                      r
   Úweak_model_tablesrD      s	  € Ü”T—]‘] KÐ1GÐ#HÑcgÓKhÑcgÐ^_ÈAÈjËMÐcgÑKhÑ#hÓiÓj€IØ)ÐC_Ø5ñ7€Fà�y¤#Ð&Ð)<¸hÌÐ(LÈuÐV_ÔadÐNeÐf€GØ€FÜˆÙ Ó>™D�q A j¡M°XÓ$=’˜DˆÐ>ÙØØˆÛ%‰NˆC��FÙ&+Ó`¡e ¨q¯u©u°S«zÑ/EÌ$Ï-É-ÐXYÐZ]ÑX^ÕJ_�a˜“f eˆFÐ`Ù*0™˜vœ°dˆD�ŠIð &ð ˆÜÑ?¹Ó?Ó?ˆ	ÜˆCÜ—[‘[  Z¡Ó1´3°s¸:±Ó3GÐHˆEÙ˜%Ÿ,™, q¬$¯+©+°c·g±g¸lÈEÓ6RÓ*SÔTÛ$‘	��Q˜ØŸ™ ›�Ø).Ð):¼t¿}¹}ÈUÔ?S˜% ™ÐY^�Ø˜‘9Ð(¨UÐ->Ä4Ç<Á<ÐPUÐW[Ð\_ÑW`ÐjnÐx}ÕC~Ø% d V¨9Ð5�DØ—‘˜TÕ"ð %ð �K‰K˜ §¡Ñ(NÉÓ(NÓ!NÑNÐQXÑXÖYð ð 	�‰ÐLÌTÏ[É[ÐYaÓMbÐLcð dÜ!Ÿ[™[¨¯©°H¸hÓ)GÓHÐIÈÔTX×T_ÑT_Ð`hÓTiÐSjð k`ð`ñ ?HÑ:ÈRñQð Tsñsð Ÿ™Ñ[ÑSZÓ[Ó[ñ	\ð
 /ñ/ð
 24·±¸³ñ?ð
 Bdñdö 	eð) ñ6 \bðEØGIÇwÁwÈvÃñWð jØgiðjùò? Liùò ?ùò
 as#   œJ%Á!J*Á/J*ÂJ/ÂJ/Â7J/)Ú__doc__Ú
__future__r   r.   r+   r   rD   r!   r   r
   Ú<module>rG      s   ðÙ SÝ "ã Û ònó!jr   