add progress bar for UMAP

This commit is contained in:
lhzstar
2023-06-26 14:28:43 +08:00
parent 83ce482fe0
commit 995d0e6624
2 changed files with 6 additions and 6 deletions

View File

@@ -208,11 +208,8 @@ class Toolbox:
self.ui.register_utterance(utterance)
# Plot it
self.ui.log("Generating UMAP...")
self.ui.set_loading(1)
self.ui.draw_embed(embed, name, "current")
self.ui.draw_umap_projections(self.utterances)
self.ui.set_loading(0)
def clear_utterances(self):
self.utterances.clear()
@@ -356,11 +353,8 @@ class Toolbox:
self.utterances.add(utterance)
# Plot it
self.ui.log("Generating UMAP...")
self.ui.set_loading(1)
self.ui.draw_embed(embed, name, "generated")
self.ui.draw_umap_projections(self.utterances)
self.ui.set_loading(0)
def init_encoder(self):
model_fpath = self.ui.current_encoder_fpath

View File

@@ -86,6 +86,8 @@ class UI(QDialog):
self.vocode_button.setDisabled(spec is None)
def draw_umap_projections(self, utterances: Set[Utterance]):
def umap_progress(i, seq_len):
self.set_loading(i, seq_len)
self.umap_ax.clear()
speakers = np.unique([u.speaker_name for u in utterances])
@@ -110,14 +112,18 @@ class UI(QDialog):
projections = reducer.fit_transform(embeds)
speakers_done = set()
i = 0
for projection, utterance in zip(projections, utterances):
i+=1
color = colors[utterance.speaker_name]
mark = "x" if "_gen_" in utterance.name else "o"
label = None if utterance.speaker_name in speakers_done else utterance.speaker_name
speakers_done.add(utterance.speaker_name)
self.umap_ax.scatter(projection[0], projection[1], c=[color], marker=mark,
label=label)
self.set_loading(i, projections.shape[0])
self.umap_ax.legend(prop={'size': 10})
self.set_loading(0)
# Draw the plot
self.umap_ax.set_aspect("equal", "datalim")