params.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2018-2022, NVIDIA CORPORATION.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 #pragma once
7 
8 #include <cstdint>
9 
10 namespace ML {
11 
18 enum class solver : int {
19  COV_EIG_DQ,
21 };
22 
23 class params {
24  public:
25  std::size_t n_rows;
26  std::size_t n_cols;
27  int gpu_id = 0;
28 };
29 
30 class paramsSolver : public params {
31  public:
32  // math_t tol = 0.0;
33  float tol = 0.0;
34  std::uint32_t n_iterations = 15;
35  int verbose = 0;
36 };
37 
38 template <typename enum_solver = solver>
40  public:
41  std::size_t n_components = 1;
42  enum_solver algorithm = enum_solver::COV_EIG_DQ;
43 };
44 
63 template <typename enum_solver = solver>
64 class paramsPCATemplate : public paramsTSVDTemplate<enum_solver> {
65  public:
66  bool copy = true; // TODO unused, see #2830 and #2833
67  bool whiten = false;
68 };
69 
72 
74 
77 
78 }; // end namespace ML
structure for pca parameters. Ref: http://scikit-learn.org/stable/modules/generated/sklearn....
Definition: params.hpp:64
bool copy
Definition: params.hpp:66
bool whiten
Definition: params.hpp:67
Definition: params.hpp:30
float tol
Definition: params.hpp:33
int verbose
Definition: params.hpp:35
std::uint32_t n_iterations
Definition: params.hpp:34
Definition: params.hpp:39
enum_solver algorithm
Definition: params.hpp:42
std::size_t n_components
Definition: params.hpp:41
Definition: params.hpp:23
int gpu_id
Definition: params.hpp:27
std::size_t n_rows
Definition: params.hpp:25
std::size_t n_cols
Definition: params.hpp:26
Definition: dbscan.hpp:18
paramsPCATemplate paramsPCA
Definition: params.hpp:71
solver
Definition: params.hpp:18
mg_solver
Definition: params.hpp:73
paramsPCATemplate< mg_solver > paramsPCAMG
Definition: params.hpp:75
paramsTSVDTemplate paramsTSVD
Definition: params.hpp:70
paramsTSVDTemplate< mg_solver > paramsTSVDMG
Definition: params.hpp:76