params.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2018-2026, NVIDIA CORPORATION.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 #pragma once
7 
8 #include <raft/linalg/pca_types.hpp>
9 
10 #include <cstdint>
11 
12 namespace ML {
13 
16 
17 class params {
18  public:
19  std::size_t n_rows;
20  std::size_t n_cols;
21  int gpu_id = 0;
22 };
23 
24 class paramsSolver : public params {
25  public:
26  // math_t tol = 0.0;
27  float tol = 0.0;
28  std::uint32_t n_iterations = 15;
29  int verbose = 0;
30 };
31 
32 template <typename enum_solver = solver>
34  public:
35  std::size_t n_components = 1;
36  enum_solver algorithm = enum_solver::COV_EIG_DQ;
37 };
38 
55 template <typename enum_solver = solver>
56 class paramsPCATemplate : public paramsTSVDTemplate<enum_solver> {
57  public:
58  bool copy = true; // TODO unused, see #2830 and #2833
59  bool whiten = false;
60 };
61 
64 
67 
68 template <typename enum_solver>
70 {
72  prms.tol = ml_prms.tol;
73  prms.n_iterations = ml_prms.n_iterations;
74  prms.algorithm = ml_prms.algorithm;
75  return prms;
76 }
77 
78 template <typename enum_solver>
80 {
82  prms.tol = ml_prms.tol;
83  prms.n_iterations = ml_prms.n_iterations;
84  prms.algorithm = ml_prms.algorithm;
85  prms.copy = ml_prms.copy;
86  prms.whiten = ml_prms.whiten;
87  return prms;
88 }
89 
90 }; // end namespace ML
structure for pca parameters. Ref: http://scikit-learn.org/stable/modules/generated/sklearn....
Definition: params.hpp:56
bool copy
Definition: params.hpp:58
bool whiten
Definition: params.hpp:59
Definition: params.hpp:24
float tol
Definition: params.hpp:27
int verbose
Definition: params.hpp:29
std::uint32_t n_iterations
Definition: params.hpp:28
Definition: params.hpp:33
enum_solver algorithm
Definition: params.hpp:36
std::size_t n_components
Definition: params.hpp:35
Definition: params.hpp:17
int gpu_id
Definition: params.hpp:21
std::size_t n_rows
Definition: params.hpp:19
std::size_t n_cols
Definition: params.hpp:20
Definition: dbscan.hpp:18
paramsPCATemplate paramsPCA
Definition: params.hpp:63
raft::linalg::solver solver
Definition: params.hpp:14
raft::linalg::paramsTSVD to_raft_params(const paramsTSVDTemplate< enum_solver > &ml_prms)
Definition: params.hpp:69
paramsPCATemplate< mg_solver > paramsPCAMG
Definition: params.hpp:65
paramsTSVDTemplate paramsTSVD
Definition: params.hpp:62
paramsTSVDTemplate< mg_solver > paramsTSVDMG
Definition: params.hpp:66
raft::linalg::solver mg_solver
Definition: params.hpp:15