@@ -722,19 +722,22 @@ def eval_utilities(
722722 offsets = np .nonzero (list (trace_targets ))[0 ]
723723
724724 # trace sharrow
725- if sh_flow is not None :
726- try :
727- data_sh = sh_flow .load (
728- sh_tree .replace_datasets (
729- df = choosers .iloc [offsets ],
730- ),
731- dtype = np .float32 ,
732- )
733- expression_values_sh = pd .DataFrame (data = data_sh .T , index = spec .index )
734- except ValueError :
735- expression_values_sh = None
736- else :
737- expression_values_sh = None
725+ # TODO: This block of code is sometimes extremely slow or hangs for no apparent
726+ # reason. It is temporarily disabled until the cause can be identified, so
727+ # that most tracing can be still be done with sharrow enabled.
728+ # if sh_flow is not None:
729+ # try:
730+ # data_sh = sh_flow.load(
731+ # sh_tree.replace_datasets(
732+ # df=choosers.iloc[offsets],
733+ # ),
734+ # dtype=np.float32,
735+ # )
736+ # expression_values_sh = pd.DataFrame(data=data_sh.T, index=spec.index)
737+ # except ValueError:
738+ # expression_values_sh = None
739+ # else:
740+ expression_values_sh = None
738741
739742 # get array of expression_values
740743 # expression_values.shape = (len(spec), len(choosers))
@@ -806,16 +809,20 @@ def eval_utilities(
806809 )
807810 print (f"{ sh_util .shape = } " )
808811 print (misses )
809- _sh_flow_load = sh_flow .load (sh_tree )
810- print ("possible problematic expressions:" )
811- for expr_n , expr in enumerate (exprs ):
812- closeness = np .isclose (
813- _sh_flow_load [:, expr_n ], expression_values [expr_n , :]
814- )
815- if not closeness .all ():
816- print (
817- f" { closeness .sum ()/ closeness .size :05.1%} [{ expr_n :03d} ] { expr } "
818- )
812+ # load sharrow flow
813+ # TODO: This block of code is sometimes extremely slow or hangs for no apparent
814+ # reason. It is temporarily disabled until the cause can be identified, so
815+ # that model does not hang with sharrow enabled.
816+ # _sh_flow_load = sh_flow.load(sh_tree)
817+ # print("possible problematic expressions:")
818+ # for expr_n, expr in enumerate(exprs):
819+ # closeness = np.isclose(
820+ # _sh_flow_load[:, expr_n], expression_values[expr_n, :]
821+ # )
822+ # if not closeness.all():
823+ # print(
824+ # f" {closeness.sum()/closeness.size:05.1%} [{expr_n:03d}] {expr}"
825+ # )
819826 raise
820827 except TypeError as err :
821828 print (err )
0 commit comments