Tapkee
|
Namespaces | |
tapkee_internal | |
Classes | |
struct | BatchCallbackTraits |
class | cancelled_exception |
struct | ComputationStrategy |
class | DefaultLoggerImplementation |
struct | dummy_distance_callback |
struct | dummy_features_callback |
struct | dummy_kernel_callback |
struct | eigen_distance_callback |
struct | eigen_features_callback |
struct | eigen_kernel_callback |
class | eigendecomposition_error |
struct | EigenMethod |
struct | initialize |
class | is_dummy |
class | LoggerImplementation |
class | LoggingSingleton |
struct | MatrixProjectionImplementation |
struct | Method |
struct | MethodTraits |
class | missed_parameter_error |
class | multiple_parameter_error |
struct | NeighborsMethod |
class | no_data_error |
class | not_enough_memory_error |
struct | precomputed_distance_callback |
struct | precomputed_kernel_callback |
struct | ProjectingFunction |
struct | ProjectionImplementation |
struct | TapkeeOutput |
class | unsupported_method_error |
class | wrong_parameter_error |
class | wrong_parameter_type_error |
Typedefs | |
typedef double | ScalarType |
typedef int | IndexType |
typedef Eigen::Matrix< tapkee::ScalarType, Eigen::Dynamic, 1 > | DenseVector |
typedef Eigen::Matrix< tapkee::ScalarType, Eigen::Dynamic, Eigen::Dynamic > | DenseMatrix |
typedef tapkee::DenseMatrix | DenseSymmetricMatrix |
typedef Eigen::DiagonalMatrix< tapkee::ScalarType, Eigen::Dynamic > | DenseDiagonalMatrix |
typedef Eigen::SparseMatrix< tapkee::ScalarType > | SparseWeightMatrix |
typedef Eigen::SparseMatrix< tapkee::ScalarType > | SparseMatrix |
typedef Eigen::SelfAdjointEigenSolver< tapkee::DenseMatrix > | DenseSelfAdjointEigenSolver |
typedef Eigen::LDLT< tapkee::DenseMatrix > | DenseSolver |
typedef Eigen::SimplicialLDLT< tapkee::SparseWeightMatrix > | SparseSolver |
typedef stichwort::ParametersSet | ParametersSet |
typedef stichwort::Parameter | Parameter |
Functions | |
IndexType | uniform_random_index () |
IndexType | uniform_random_index_bounded (IndexType upper) |
ScalarType | uniform_random () |
ScalarType | gaussian_random () |
template<class RAI > | |
void | random_shuffle (RAI first, RAI last) |
template<class RandomAccessIterator , class KernelCallback , class DistanceCallback , class FeaturesCallback > | |
TapkeeOutput | embed (RandomAccessIterator begin, RandomAccessIterator end, KernelCallback kernel_callback, DistanceCallback distance_callback, FeaturesCallback features_callback, stichwort::ParametersSet parameters) |
std::string | get_method_name (DimensionReductionMethod m) |
std::string | get_neighbors_method_name (const NeighborsMethod &m) |
std::string | get_eigen_method_name (const EigenMethod &m) |
Variables | |
static const NeighborsMethod | Brute ("Brute-force") |
static const NeighborsMethod | VpTree ("Vantage point tree") |
static const NeighborsMethod | CoverTree ("Cover tree") |
static NeighborsMethod | default_neighbors_method = CoverTree |
static const EigenMethod | Arpack ("Arpack") |
static const EigenMethod | Randomized ("Randomized") |
static const EigenMethod | Dense ("Dense") |
static EigenMethod | default_eigen_method = Arpack |
static const ComputationStrategy | HomogeneousCPUStrategy ("CPU") |
static ComputationStrategy | default_computation_strategy = HomogeneousCPUStrategy |
const stichwort::ParametersForwarder | kwargs |
typedef Eigen::DiagonalMatrix<tapkee::ScalarType,Eigen::Dynamic> DenseDiagonalMatrix |
typedef Eigen::Matrix<tapkee::ScalarType,Eigen::Dynamic,Eigen::Dynamic> DenseMatrix |
typedef Eigen::SelfAdjointEigenSolver<tapkee::DenseMatrix> DenseSelfAdjointEigenSolver |
typedef Eigen::LDLT<tapkee::DenseMatrix> DenseSolver |
typedef Eigen::Matrix<tapkee::ScalarType,Eigen::Dynamic,1> DenseVector |
typedef int IndexType |
typedef stichwort::Parameter Parameter |
Definition at line 65 of file defines.hpp.
Definition at line 64 of file defines.hpp.
typedef double ScalarType |
typedef Eigen::SparseMatrix<tapkee::ScalarType> SparseMatrix |
typedef Eigen::SimplicialLDLT<tapkee::SparseWeightMatrix> SparseSolver |
typedef Eigen::SparseMatrix<tapkee::ScalarType> SparseWeightMatrix |
Dimension reduction methods.
Definition at line 12 of file defines/methods.hpp.
TapkeeOutput tapkee::embed | ( | RandomAccessIterator | begin, |
RandomAccessIterator | end, | ||
KernelCallback | kernel_callback, | ||
DistanceCallback | distance_callback, | ||
FeaturesCallback | features_callback, | ||
stichwort::ParametersSet | parameters | ||
) |
Constructs a dense embedding with specified dimensionality using provided data represented by random access iterators and provided callbacks. Returns ReturnType that is essentially a pair of DenseMatrix (embedding of provided data) and a ProjectingFunction with corresponding ProjectionImplementation used to project data out of the sample.
RandomAccessIterator | random access iterator with no specific capabilities that points to some RandomAccessIterator::value_type (the simplest case is RandomAccessIterator::value_type being int). |
KernelCallback | a callback that defines function of two iterators. This method should return value of Mercer kernel function between vectors/objects iterators pointing to. |
DistanceCallback | a callback that defines ScalarType distance(const RandomAccessIterator::value_type&, const RandomAccessIterator::value_type&) |
FeaturesCallback | a callback that defines function used to access feature vector pointed by iterator. The callback should put the feature vector pointed by the iterator to the provided vector. |
Parameters required by the chosen algorithm are obtained from the parameter map. It gracefully fails during runtime and throws an exception if some of required parameters are not specified or have improper values.
begin | begin iterator of data |
end | end iterator of data |
kernel_callback | the kernel callback implementing Used by the following methods:
|
distance_callback | the distance callback implementing ScalarType distance(const RandomAccessIterator::value_type&, const RandomAccessIterator::value_type&) |
feature_vector_callback | the feature vector callback implementing Used by the following methods:
|
parameters | a set of parameters formed with keywords expression. |
tapkee::wrong_parameter_error | if wrong parameter value is passed |
tapkee::missed_parameter_error | if some required parameter is missed |
tapkee::multiple_parameter_error | if some parameter is provided more than once |
tapkee::unsupported_method_error | if some method or combination of methods is unsupported |
tapkee::not_enough_memory_error | if there is not enough memory to perform the computations |
tapkee::cancelled_exception | if computations were cancelled due to cancel_function returned true |
tapkee::eigendecomposition_error | if eigendecomposition has failed |
ScalarType tapkee::gaussian_random | ( | ) |
Definition at line 39 of file random.hpp.
std::string tapkee::get_eigen_method_name | ( | const EigenMethod & | m | ) |
Returns the name of the provided eigen method
Definition at line 48 of file naming.hpp.
std::string tapkee::get_method_name | ( | DimensionReductionMethod | m | ) |
Returns the name of the provided method
Definition at line 13 of file naming.hpp.
std::string tapkee::get_neighbors_method_name | ( | const NeighborsMethod & | m | ) |
Returns the name of the provided neighbors method
Definition at line 42 of file naming.hpp.
void tapkee::random_shuffle | ( | RAI | first, |
RAI | last | ||
) |
Definition at line 58 of file random.hpp.
ScalarType tapkee::uniform_random | ( | ) |
Definition at line 30 of file random.hpp.
IndexType tapkee::uniform_random_index | ( | ) |
Definition at line 16 of file random.hpp.
Definition at line 25 of file random.hpp.
|
static |
ARPACK-based method (requires the ARPACK library binaries to be available around). Recommended to be used as a default method. Supports both generalized and standard eigenproblems.
|
static |
Brute force method with not least than time complexity. Recommended to be used only in debug purposes.
|
static |
Covertree-based method with approximate time complexity. Recommended to be used as a default method.
|
static |
Definition at line 190 of file defines/methods.hpp.
|
static |
Definition at line 173 of file defines/methods.hpp.
|
static |
Definition at line 147 of file defines/methods.hpp.
|
static |
Eigen library dense method (could be useful for debugging). Computes all eigenvectors thus can be very slow doing large-scale.
|
static |
const stichwort::ParametersForwarder kwargs |
Definition at line 63 of file defines.hpp.
|
static |
Randomized method (implementation taken from the redsvd lib). Supports only standard but not generalized eigenproblems.
|
static |
Vantage point tree -based method.