fit = function* fit({ data, show_dynamic, config }) {
yield [];
const umap = new UMAP(config),
nEpochs = config.nEpochs || umap.initializeFit(data);
yield umap.getEmbedding();
for (let i = 0; i < nEpochs; i++) {
umap.step();
if (show_dynamic) yield umap.getEmbedding();
}
yield umap.getEmbedding();
}