Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 36 additions & 32 deletions module/react_group.amlg
Original file line number Diff line number Diff line change
Expand Up @@ -133,42 +133,46 @@

(declare (assoc
react_results
;don't run in parallel since SingleReactGroup creates and destroys entities
(map
(lambda (seq
;update progress every 'progress_update_size' number of reacts
(if (= 0 (mod (current_index) progress_update_size))
(if (< num_progress_updates max_progress_updates)
(seq
(accum (assoc num_progress_updates 1))
(call !ProgressUpdate (assoc details "Reacting to a group of cases"))
;ReactGroup can run in parallel only when working on existing cases. When using new cases,
;it must instead run serially since it creates ephemeral entities for each new case.
(call (set_concurrency
(map
(lambda (seq
;update progress every 'progress_update_size' number of reacts
(if (= 0 (mod (current_index) progress_update_size))
(if (< num_progress_updates max_progress_updates)
(seq
(accum (assoc num_progress_updates 1))
(call !ProgressUpdate (assoc details "Reacting to a group of cases"))
)
)
)
)

(call !SingleReactGroup (assoc
action_features action_features
group_id_features group_id_features
features features
details details
new_cases (get new_cases (current_index 1))
condition (get conditions (current_index 1))
case_indices (get case_indices (current_index 1))
familiarity_conviction_addition familiarity_conviction_addition
familiarity_conviction_removal familiarity_conviction_removal
kl_divergence_addition kl_divergence_addition
kl_divergence_removal kl_divergence_removal
p_value_of_addition p_value_of_addition
p_value_of_removal p_value_of_removal
distance_contributions distance_contributions
residual_contributions residual_contributions
similarity_conviction similarity_conviction
weight_feature weight_feature
use_case_weights use_case_weights
(call !SingleReactGroup (assoc
action_features action_features
group_id_features group_id_features
features features
details details
new_cases (get new_cases (current_index 1))
condition (get conditions (current_index 1))
case_indices (get case_indices (current_index 1))
familiarity_conviction_addition familiarity_conviction_addition
familiarity_conviction_removal familiarity_conviction_removal
kl_divergence_addition kl_divergence_addition
kl_divergence_removal kl_divergence_removal
p_value_of_addition p_value_of_addition
p_value_of_removal p_value_of_removal
distance_contributions distance_contributions
residual_contributions residual_contributions
similarity_conviction similarity_conviction
weight_feature weight_feature
use_case_weights use_case_weights
))
))
))
(or new_cases conditions case_indices)
)
(or new_cases conditions case_indices)
)
(= .null new_cases)
))
))

;convert react_results to a dict of react key -> lists of values (one per group)
Expand Down
Loading