@@ -285,7 +285,8 @@ def _to_images_bar(
285285 nn = df .shape [1 ] // n_cols
286286 nn += int (df .shape [1 ] % n_cols != 0 )
287287 ratio = float (os .environ .get ("FIGSIZEH" , "1" ))
288- fig , axs = plt .subplots (nn , n_cols , figsize = (6 * n_cols , nn * df .shape [0 ] / 3 * ratio ))
288+ figsize = (6 * n_cols , nn * (2.5 + df .shape [0 ] / 15 ) * ratio )
289+ fig , axs = plt .subplots (nn , n_cols , figsize = figsize )
289290 pos = 0
290291 imgs = []
291292 for c in self ._make_loop (df .columns , verbose ):
@@ -332,10 +333,12 @@ def rotate_align(ax, angle=15, align="right"):
332333 n_cols = len (groups )
333334
334335 title_suffix = f"\n { title_suffix } " if title_suffix else ""
336+ ratio = float (os .environ .get ("FIGSIZEH" , "1" ))
337+ figsize = (5 * n_cols , max (len (g ) for g in groups ) * (2 + df .shape [1 ] / 2 ) * ratio )
335338 fig , axs = plt .subplots (
336339 df .shape [1 ],
337340 n_cols ,
338- figsize = ( 5 * n_cols , max ( len ( g ) for g in groups ) * df . shape [ 1 ] / 2 ) ,
341+ figsize = figsize ,
339342 sharex = True ,
340343 sharey = "row" if n_cols > 1 else False ,
341344 )
@@ -877,7 +880,11 @@ def view(
877880 print (f"[CubeLogs.view] key_columns={ key_columns } " )
878881 g = data [[* key_index , * key_columns ]].copy ()
879882 g ["count" ] = 1
880- r = g .groupby ([* key_index , * key_columns ], dropna = False ).sum ()
883+ r = (
884+ g .copy ()
885+ if not key_index and not key_columns
886+ else g .groupby ([* key_index , * key_columns ], dropna = False ).sum ()
887+ )
881888 not_unique = r [r ["count" ] > 1 ]
882889 assert not_unique .shape [0 ] == 0 , (
883890 f"view_def.name={ view_def .name !r} , "
@@ -1505,6 +1512,11 @@ def __init__(
15051512 "n_model_faster3x" ,
15061513 "n_model_faster4x" ,
15071514 "n_node_attention" ,
1515+ "n_node_attention23" ,
1516+ "n_node_rotary_embedding" ,
1517+ "n_node_rotary_embedding23" ,
1518+ "n_node_layer_normalization" ,
1519+ "n_node_layer_normalization23" ,
15081520 "n_node_control_flow" ,
15091521 "n_node_scatter" ,
15101522 "n_node_function" ,
@@ -1568,7 +1580,9 @@ def _process_formula(
15681580
15691581 def gdf (df , cname , default_value = np .nan ):
15701582 if cname in df .columns :
1571- return df [cname ]
1583+ if np .isnan (default_value ):
1584+ return df [cname ]
1585+ return df [cname ].fillna (default_value )
15721586 return pandas .Series (default_value , index = df .index )
15731587
15741588 def ghas_value (df , cname ):
@@ -1676,15 +1690,54 @@ def first_err(df: pandas.DataFrame) -> pandas.Series:
16761690 "time_latency" ,
16771691 gdf (df , "time_latency_eager" ) > gdf (df , "time_latency" , np .inf ) * 3.98 ,
16781692 ),
1693+ n_node_attention23 = lambda df : gpreserve (
1694+ df , "time_latency_eager" , gdf (df , "op_onnx__Attention" )
1695+ ),
1696+ n_node_rotary_embedding23 = lambda df : gpreserve (
1697+ df , "time_latency_eager" , gdf (df , "op_onnx__RotaryEmbedding" )
1698+ ),
1699+ n_node_layer_normalization23 = lambda df : gpreserve (
1700+ df ,
1701+ "time_latency_eager" ,
1702+ gdf (df , "op_onnx__LayerNormalization" , 0 )
1703+ + gdf (df , "op_onnx__RMSNormalization" , 0 )
1704+ + gdf (df , "op_onnx__BatchNormlization" , 0 )
1705+ + gdf (df , "op_onnx__InstanceNormlization" , 0 )
1706+ + gdf (df , "op_onnx__GroupNormalization" , 0 ),
1707+ ),
16791708 n_node_attention = lambda df : gpreserve (
16801709 df ,
1681- "op_onnx_com.microsoft_Attention" ,
1682- gdf (df , "op_onnx_com.microsoft_Attention" )
1683- + gdf (df , "op_onnx_com.microsoft_MultiHeadAttention" ),
1710+ "time_latency_eager" ,
1711+ gdf (df , "op_onnx_com.microsoft_Attention" , 0 )
1712+ + gdf (df , "op_onnx_com.microsoft_MultiHeadAttention" , 0 )
1713+ + gdf (df , "op_onnx_com.microsoft_PackedAttention" , 0 )
1714+ + gdf (df , "op_onnx_com.microsoft_PackedMultiHeadAttention" , 0 )
1715+ + gdf (df , "op_onnx_com.microsoft_GroupQueryAttention" , 0 )
1716+ + gdf (df , "op_onnx_com.microsoft_PagedAttention" , 0 )
1717+ + gdf (df , "op_onnx_com.microsoft_DecoderAttention" , 0 )
1718+ + gdf (df , "op_onnx_com.microsoft_LongformerAttention" , 0 )
1719+ + gdf (df , "op_onnx_com.microsoft_DecoderMaskedSelfAttention" , 0 )
1720+ + gdf (df , "op_onnx_com.microsoft_DecoderMaskedMultiHeadAttention" , 0 )
1721+ + gdf (df , "op_onnx_com.microsoft_SparseAttention" , 0 ),
1722+ ),
1723+ n_node_layer_normalization = lambda df : gpreserve (
1724+ df ,
1725+ "time_latency_eager" ,
1726+ gdf (df , "op_onnx_com.microsoft_EmbedLayerNormalization" , 0 )
1727+ + gdf (df , "op_onnx_com.microsoft_SkipLayerNormalization" , 0 )
1728+ + gdf (df , "op_onnx_com.microsoft_LayerNormalization" , 0 )
1729+ + gdf (df , "op_onnx_com.microsoft_SkipSimplifiedLayerNormalization" , 0 )
1730+ + gdf (df , "op_onnx_com.microsoft_SimplifiedLayerNormalization" , 0 ),
1731+ ),
1732+ n_node_rotary_embedding = lambda df : gpreserve (
1733+ df ,
1734+ "time_latency_eager" ,
1735+ gdf (df , "op_onnx_com.microsoft_GemmaRotaryEmbedding" , 0 )
1736+ + gdf (df , "op_onnx_com.microsoft_RotaryEmbedding" , 0 ),
16841737 ),
16851738 n_node_control_flow = lambda df : gpreserve (
16861739 df ,
1687- "op_onnx__If " ,
1740+ "time_latency_eager " ,
16881741 (
16891742 gdf (df , "op_onnx__If" , 0 )
16901743 + gdf (df , "op_onnx__Scan" , 0 )
@@ -1693,7 +1746,7 @@ def first_err(df: pandas.DataFrame) -> pandas.Series:
16931746 ),
16941747 n_node_scatter = lambda df : gpreserve (
16951748 df ,
1696- "op_onnx__ScatterND " ,
1749+ "time_latency_eager " ,
16971750 gdf (df , "op_onnx__ScatterND" , 0 ) + gdf (df , "op_onnx__ScatterElements" , 0 ),
16981751 ),
16991752 n_node_function = lambda df : gpreserve (
@@ -1706,13 +1759,13 @@ def first_err(df: pandas.DataFrame) -> pandas.Series:
17061759 df , "onnx_n_initializer" , gdf (df , "onnx_n_initializer" )
17071760 ),
17081761 n_node_constant = lambda df : gpreserve (
1709- df , "op_onnx__Constant " , gdf (df , "op_onnx__Constant" )
1762+ df , "time_latency_eager " , gdf (df , "op_onnx__Constant" )
17101763 ),
17111764 n_node_shape = lambda df : gpreserve (
1712- df , "op_onnx__Shape " , gdf (df , "op_onnx__Shape" )
1765+ df , "time_latency_eager " , gdf (df , "op_onnx__Shape" )
17131766 ),
17141767 n_node_expand = lambda df : gpreserve (
1715- df , "op_onnx__Expand " , gdf (df , "op_onnx__Expand" )
1768+ df , "time_latency_eager " , gdf (df , "op_onnx__Expand" )
17161769 ),
17171770 )
17181771 assert (
0 commit comments