From 3139e9a369513f1b00bb163e9e4103b566638afd Mon Sep 17 00:00:00 2001 From: Jin Yong Yoo Date: Fri, 21 Aug 2020 16:49:33 -0400 Subject: [PATCH] fix faulty cache misses --- textattack/shared/attack.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/textattack/shared/attack.py b/textattack/shared/attack.py index 3cdaefc4..477c0cb0 100644 --- a/textattack/shared/attack.py +++ b/textattack/shared/attack.py @@ -170,6 +170,7 @@ class Attack: ] # Populate cache with transformed_texts uncached_texts = [] + filtered_texts = [] for transformed_text in transformed_texts: if (current_text, transformed_text) not in self.constraints_cache: uncached_texts.append(transformed_text) @@ -178,13 +179,11 @@ class Attack: self.constraints_cache[ (current_text, transformed_text) ] = self.constraints_cache[(current_text, transformed_text)] - self._filter_transformations_uncached( + if self.constraints_cache[(current_text, transformed_text)]: + filtered_texts.append(transformed_text) + filtered_texts += self._filter_transformations_uncached( uncached_texts, current_text, original_text=original_text ) - # Return transformed_texts from cache - filtered_texts = [ - t for t in transformed_texts if self.constraints_cache[(current_text, t)] - ] # Sort transformations to ensure order is preserved between runs filtered_texts.sort(key=lambda t: t.text) return filtered_texts