CoolFace
Apppublic

abidlabs/trackio-123

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
ui.cpython-312.pyc77 linesDownload Raw Back to __pycache__
1�

2!�8h�'�3���ddlZddlmZddlZddlZ	ddlmZddl	m4Z5mZdZgd�Zdeeded	eeeffd6�Zdej*fd�Zd
�Zdedzdedzdefd�Zd?d�Zd�Zd�Zdededeeefded	df7d�Zdeed	eefd�Zdej*fd�Zej>dde��5Z ejB�5Z"ejFde�d��ejHd� �Z%ejLd!d"�#�Z'ejPd!gd$d%�&�Z)ddd�ejBd'd�(�5Z*ejFd)�ejVd*d$�+�Z,ejVd,d$�+�Z-ddd�ej\d-�.�Z/ej`g�Z1ej`d�Z2ejfe jhgee1�/�ejfe jhgee%d0�1�ejfe/jjgee%e'e2ge)e'gd0�2�ejfe jhe%jlgee%e'ge)e'gd0�2�e,jmee,e/d3�4�e)jod5�e2�/�e'joee%e'ge)�6�ejped7�8�ej`d�Z9d9ejtfd:�Z;ejxe jhe)jle/jje-jle9jlge%e)e-e1e9g�;�d<��Z=ddd�e>d=k(re jegd�>�yy#ddlmZddl
m8Z9mZY��!xYw#1swY��5xYw#1swY���xYw#1swY�TxYw)@�N)�Any)�
SQLiteStorage)�
RESERVED_KEYS�TRACKIO_LOGO_PATHz_10#run-cb .wrap {11    gap: 2px;12}13#run-cb .wrap label {14    line-height: 1;15    padding: 6px;16}17)18z#3B82F6z#EF4444z#10B981z#F59E0Bz#8B5CF6z#EC4899z#06B6D4z#84CC16z#F97316z#6366F1�runs�	smoothing�returnc��i}t|�D]9\}}t|tt�z}|r|||�d�<|dz||�d�<�5|||<�;|S)z_Generate color mapping for runs, with transparency for original data when smoothing is enabled.�	_smoothed�4D�	_original)�	enumerate�
COLOR_PALETTE�len)rr�	color_map�i�run�19base_colors      �)/Users/abidlabs/dev/trackio/trackio/ui.py�get_color_mappingr&sm���I��D�/�(���3�"�1�s�=�'9�#9�:�20��+5�I���Y�'�(�+5��+<�I���Y�'�(�'�I�c�N�(����requestc�,�tjjdd�}tddi|��}|j	�}|j21jd�x}rd}nd}|r|dnd}t
jd	||d||rd22|�d|�d��
�Sd�
�S)N�TRACKIO_DATASET_IDzabidlabs/metrics���23dataset_id�projectFTr�Projectz3&#x21bb; Synced to <a href='https://huggingface.co/z' target='_blank'>z</a> every 5 min)�label�choices�value�allow_custom_value�interactive�info)�os�environ�getr�get_projects�query_params�gr�Dropdown)rr�storage�projectsrr$s      rr)r)6s�������� 4�6H�I�J��B��B�:�>�G��#�#�%�H��&�&�*�*�9�5�5�w�5�����!)�(�1�+�t��
�;�;�������C�:�,�N`�ak�`l�l|�
}�
	�	��	�	rc�F�|sgStddi�}|j|�S)Nr)r�get_runs)rr-s  rr0r0Ks)����	��B��B�'�G����G�$�$rrrc�H�|r|sytddi�}|j||�}|sytj|�}d|jvrtt
|��|d<|r�|jd��j}|D�cgc]
}|tvs�|��}}|j�}|�d�|d<d|d<|j�}	|	|jd	�24�j�|	|<|�d�|	d<d|	d<tj||	gd
��}25|26S||d<d|d<|Scc}w)Nr�step�number��includer
r�original�	data_typeg�������?)�alphar�smoothedT��ignore_index)
r�get_metrics�pd�	DataFrame�columns�ranger�
select_dtypesr�copy�ewm�mean�concat)rrrr-�metrics�df�numeric_cols�c�df_original�df_smoothed�combined_dfs           r�
load_run_datarMRs;���#���B��B�'�G��!�!�'�3�/�G���	���g�	�B�
�R�Z�Z���3�r�7�^��6�27���'�'��'�9�A�A��#/�J�a�1�M�3I��J��J��g�g�i�� #�u�I�.��E��#-��K� ��g�g�i��$/��$=�$A�$A��$A�$L�$Q�$Q�$S��L�!� #�u�I�.��E��#-��K� ��i�i��k� :��N������5�	�$��;���	��!Ks�
D�DFc�H�|�g}d}n,t|�}t|�}|r|D�cgc]	}||vs�|��}}|s9tj||r|dgng��tjd|�d���fStj|��tjd|�d���fScc}w)Nr�r!r"zRuns (�)�r )r!)r0rr+�
CheckboxGroup�Textbox)r�filter_text�user_interacted_with_runsr�num_runs�rs      r�update_runsrXss����������� ���t�9���#�8�!�{�a�'7�A�8�D�8�$�����T��a��	�r�28�
�:�:�f�X�J�a�0�1�2�	2�����-�r�z�z�&��29�RS�@T�/U�U�U��
9s30�	B�Bc�x�t|�}|D�cgc]	}||vs�|��}}tj||��Scc}w)NrO)r0r+rR)rrTrrWs    r�filter_runsrZ�s>���G��D��0�!�{�a�/�A�0�D�0�
���D��5�5��1s�	7�7c�^�|rtjd��Stjd��S)NT)�activeF)r+�Timer)�cb_values r�toggle_timerr_�s#����x�x�t�$�$��x�x�u�%�%rrFrc�D�t||i|��}|j|�y)Nr)r�log)rrrFrr-s     rrara�s ���G�S�"��D�G��K�K��rc�~�g}g}|D])}d|vr|j|��|j|��+|j�i}|D]3}|jd�d}||vrg||<||j|��5g}t|j	��D]}|jt||���!||zS)z�31    Sort metrics by grouping prefixes together.32    Metrics without prefixes come first, then grouped by prefix.33 34    Example:35    Input: ["train/loss", "loss", "train/acc", "val/loss"]36    Output: ["loss", "train/acc", "train/loss", "val/loss"]37    �/r)�append�sort�split�sorted�keys�extend)rF�	no_prefix�with_prefix�metric�
prefix_groups�prefix�sorted_with_prefixs       r�sort_metrics_by_prefixrp�s����I��K��%���&�=����v�&����V�$�	%��N�N���M��-�����c�"�1�%����&�$&�M�&�!��f��$�$�V�,�	-�����+�+�-�.�A���!�!�&��v�)>�"?�@�A��)�)�)rc�b�|jjd�x}r|jd�SgS)NrF�,)r*r(rf)rrFs  r�	configurers�s2���&�&�*�*�9�5�5�w�5��}�}�S�!�!��	r�citruszTrackio Dashboard)�theme�title�csszV<div style='display: flex; align-items: center; gap: 8px;'><img src='/gradio_api/file=z^' width='32' height='32'><span style='font-size: 2em; font-weight: bold;'>Trackio</span></div>rrQ�RunszType to filter...)r �placeholderTzrun-cb)r r!r$�elem_id�right)�position�openu### ⚙️ SettingszRefresh realtime)r r"�	Smoothing�)r")�fn�outputs�hidden)r�r��
show_progress)r��inputsr�r�r_)r�r�r��api_namec��y)NT�r�rr�<lambda>r����r)r�r�r�ra)r�r��select_datac��|jS�N)�index)r�s r�update_x_limr�s��� � � r)�triggersr�c�f�g}|j�}|D]#}t|||�}|��|j|��%|rtj|d��}	ntj38�}	|	jry|	jd��j}39|40D�cgc]}|tvs�|dk7s�|��}41}|r|42D�cgc]	}||vs�|��}43}tt|44��}45t||�}g}
tt|46�dzdz�D]�}tj d|���	�5td�D]�}d|z|z}|t|47�ks�|48|}|	j#|g�49�}|jr�?tj$|d|d|jvrdnd||d|�d
|��d|||j'�||j)�gd��}|
j|���	ddd���|
D]5}|j+t,t.��|j1d�t.���7ycc}wcc}w#1swY��.xYw)NTr:r3r4r2r�zrow-)�key)�subsetrzplot-�-)50�x�y�colorrrvr��preserved_by_key�x_lim�y_lim�show_fullscreen_button)r�c��yr�r�r�rrr�z"update_dashboard.<locals>.<lambda>Mr�r)rBrMrdr=rEr>�emptyrAr?rrp�listrr@rr+�Row�dropna�LinePlot�min�max�selectr�r��double_click)rrr�metrics_subset�x_lim_value�dfs�
original_runsrrG�	master_dfrHrIr�plots�colr�51metric_idx�metric_name�	metric_df�plots                    r�update_dashboardr�	sK�����	�	��
��	�C��w��Y�7�B��~��52�53�2��	�54��	�	�#�D�9�I�����I��?�?�� �.�.�x�.�@�H�H��#�55��q�
�'=�!�v�+�A�56��57��'3�K�!�q�N�7J�A�K�L�K�-�d�<�.@�A��%�m�Y�?�	�#%���#�l�+�a�/�A�5�6�	/�C����d�3�%�L�)�
/��q��/�A�!"�S��1��J�!�C��$5�5�&2�:�&>��$-�$4�$4�[�M�$4�$J�	�(���#%�;�;� )�"(�"-�/4�	�8I�8I�/I�e�t�*3�&1�&+�C�5��!��$5�15�&1�$-�k�$:�$>�$>�$@�$-�k�$:�$>�$>�$@�'"�8<�$�D� "�L�L��.�1/�
/�
/�	/�8�	;�D��K�K��e�K�4����l�E��:�	;��M58��L�
/�
/�s7�
H�$H�*H�6	H!�H!�%H&�$H&�)A-H&�&H0	�__main__)�
allowed_paths�show_api)F)@r&�typingr�gradior+�pandasr=�trackio.sqlite_storager�
trackio.utilsrr�sqlite_storage�utilsrwrr��str�bool�dictr�Requestr)r0rMrXrZr_rarprs�Blocks�demo�Sidebar�sidebar�Markdownr,�59project_ddrS�run_tbrR�run_cb�settings_sidebar�Checkbox�realtime_cb�smoothing_cbr]�timer�Stater��user_interacted_with_run_cb�on�load�tick�change�input�apir��60SelectDatar��renderr��__name__�launchr�rr�<module>r�s��	����7�4�>�61���
�
�D��I�
�$�
�4��S��>�
� �"�*�*��*%��3��:��C�$�J��4��BV�"6�&����3���c�3�h���S��T��*�D��I�*�$�s�)�*�D�r�z�z���R�Y�Y�X�%8�c�B�L;�d�	�����62������d�ev�dw�xV�
W�	63�!�R�[�[�y�1�64�����&�6I�J��!��!�!��"�$��65��
66�67����W�5�	1�B�5E�����)�*�!�b�k�k�(:�$�G��"�r�{�{��D�A��B�68
�B�H�H�1��E��R�X�X�b�\�N�"*�"�(�(�5�/��	�B�E�E�	
�������6970�B�E�E�	
�������	�71�B�E�E�	������F�$?�@��� ���72�B�E�E�	
���J�%�%�&���F�#��� ����������	���L�L��+����L�L���F�#�����B�F�F����73
�B�H�H�T�N�E�!�"�-�-�!��R�Y�Y��I�I��M�M��J�J�����L�L�74��F�L�.�%�H�	�:;�	�:;�eL;�^�z���K�K�0�1�E�K�B���M757�,�6�6��l76�77��B�B��L;�L;�sI�L0�-M �?AM�M �/;M�*F#M �0M�M	�M �M	�M � M)