A utility struct to contain all the possible FastMKS models, for use by the mlpack_fastmks program. More...
Public Types | |
enum | KernelTypes { LINEAR_KERNEL , POLYNOMIAL_KERNEL , COSINE_DISTANCE , GAUSSIAN_KERNEL , EPANECHNIKOV_KERNEL , TRIANGULAR_KERNEL , HYPTAN_KERNEL } |
A list of all the kernels we support. More... | |
Public Member Functions | |
FastMKSModel (const int kernelType=LINEAR_KERNEL) | |
Create the FastMKSModel with the given kernel type. More... | |
FastMKSModel (const FastMKSModel &other) | |
Copy constructor. More... | |
FastMKSModel (FastMKSModel &&other) | |
Move constructor. More... | |
~FastMKSModel () | |
Clean memory. More... | |
template < typename TKernelType > | |
void | BuildModel (util::Timers &timers, arma::mat &&referenceData, TKernelType &kernel, const bool singleMode, const bool naive, const double base) |
Build the model on the given reference set. More... | |
int | KernelType () const |
Get the kernel type. More... | |
int & | KernelType () |
Modify the kernel type. More... | |
bool | Naive () const |
Get whether or not naive search is used. More... | |
bool & | Naive () |
Set whether or not naive search is used. More... | |
FastMKSModel & | operator= (const FastMKSModel &other) |
Copy assignment operator. More... | |
FastMKSModel & | operator= (FastMKSModel &&other) |
Move assignment operator. More... | |
void | Search (util::Timers &timers, const arma::mat &querySet, const size_t k, arma::Mat< size_t > &indices, arma::mat &kernels, const double base) |
Search with a different query set. More... | |
void | Search (util::Timers &timers, const size_t k, arma::Mat< size_t > &indices, arma::mat &kernels) |
Search with the reference set as the query set. More... | |
template < typename Archive > | |
void | serialize (Archive &ar, const uint32_t) |
Serialize the model. More... | |
bool | SingleMode () const |
Get whether or not single-tree search is used. More... | |
bool & | SingleMode () |
Set whether or not single-tree search is used. More... | |
A utility struct to contain all the possible FastMKS models, for use by the mlpack_fastmks program.
Definition at line 34 of file fastmks_model.hpp.
enum KernelTypes |
A list of all the kernels we support.
Enumerator | |
---|---|
LINEAR_KERNEL | |
POLYNOMIAL_KERNEL | |
COSINE_DISTANCE | |
GAUSSIAN_KERNEL | |
EPANECHNIKOV_KERNEL | |
TRIANGULAR_KERNEL | |
HYPTAN_KERNEL |
Definition at line 38 of file fastmks_model.hpp.
FastMKSModel | ( | const int | kernelType = LINEAR_KERNEL | ) |
Create the FastMKSModel with the given kernel type.
FastMKSModel | ( | const FastMKSModel & | other | ) |
Copy constructor.
FastMKSModel | ( | FastMKSModel && | other | ) |
Move constructor.
~FastMKSModel | ( | ) |
Clean memory.
void BuildModel | ( | util::Timers & | timers, |
arma::mat && | referenceData, | ||
TKernelType & | kernel, | ||
const bool | singleMode, | ||
const bool | naive, | ||
const double | base | ||
) |
Build the model on the given reference set.
Make sure kernelType is equal to the correct entry in KernelTypes for the given KernelType class!
|
inline |
Get the kernel type.
Definition at line 94 of file fastmks_model.hpp.
|
inline |
Modify the kernel type.
Definition at line 96 of file fastmks_model.hpp.
References FastMKSModel::Search(), and FastMKSModel::serialize().
bool Naive | ( | ) | const |
Get whether or not naive search is used.
bool& Naive | ( | ) |
Set whether or not naive search is used.
FastMKSModel& operator= | ( | const FastMKSModel & | other | ) |
Copy assignment operator.
FastMKSModel& operator= | ( | FastMKSModel && | other | ) |
Move assignment operator.
void Search | ( | util::Timers & | timers, |
const arma::mat & | querySet, | ||
const size_t | k, | ||
arma::Mat< size_t > & | indices, | ||
arma::mat & | kernels, | ||
const double | base | ||
) |
Search with a different query set.
querySet | Set to search with. |
k | Number of max-kernel candidates to search for. |
indices | A matrix in which to store the indices of max-kernel candidates. |
kernels | A matrix in which to store the max-kernel candidate kernel values. |
base | Base to use for cover tree building (if in dual-tree search mode). |
Referenced by FastMKSModel::KernelType().
void Search | ( | util::Timers & | timers, |
const size_t | k, | ||
arma::Mat< size_t > & | indices, | ||
arma::mat & | kernels | ||
) |
Search with the reference set as the query set.
k | Number of max-kernel candidates to search for. |
indices | A matrix in which to store the indices of max-kernel candidates. |
kernels | A matrix in which to store the max-kernel candidate kernel values. |
void serialize | ( | Archive & | ar, |
const uint32_t | |||
) |
Serialize the model.
Referenced by FastMKSModel::KernelType().
bool SingleMode | ( | ) | const |
Get whether or not single-tree search is used.
bool& SingleMode | ( | ) |
Set whether or not single-tree search is used.