1#ifndef UMAPPP_STATUS_HPP
2#define UMAPPP_STATUS_HPP
6#include "sanisizer/sanisizer.hpp"
9#include "optimize_layout.hpp"
25template<
typename Index_,
typename Float_>
31 Status(internal::EpochData<Index_, Float_> epochs,
Options options,
const std::size_t num_dim) :
32 my_epochs(std::move(epochs)),
33 my_options(std::move(options)),
34 my_engine(my_options.optimize_seed),
42 internal::EpochData<Index_, Float_> my_epochs;
45 std::size_t my_num_dim;
52 const auto& get_epoch_data()
const {
71 return my_epochs.current_epoch;
79 return my_epochs.total_epochs;
86 return my_epochs.cumulative_num_edges.size() - 1;
101 void run(Float_*
const embedding,
int epoch_limit) {
103 internal::optimize_layout<Index_, Float_>(
115 internal::optimize_layout_parallel<Index_, Float_>(
138 void run(Float_*
const embedding) {
139 run(embedding, my_epochs.total_epochs);
Options for the UMAP algorithm.
Status of the UMAP optimization iterations.
Definition Status.hpp:26
int epoch() const
Definition Status.hpp:70
std::size_t num_dimensions() const
Definition Status.hpp:63
void run(Float_ *const embedding, int epoch_limit)
Definition Status.hpp:101
Index_ num_observations() const
Definition Status.hpp:85
void run(Float_ *const embedding)
Definition Status.hpp:138
int num_epochs() const
Definition Status.hpp:78
Methods for UMAP.
Definition initialize.hpp:22
std::mt19937_64 RngEngine
Definition Options.hpp:28
Options for initialize().
Definition Options.hpp:33
double repulsion_strength
Definition Options.hpp:87
int parallel_optimization
Definition Options.hpp:193
double learning_rate
Definition Options.hpp:150
double b
Definition Options.hpp:81
double a
Definition Options.hpp:73
int num_threads
Definition Options.hpp:178