knn_mg.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2019-2024, NVIDIA CORPORATION.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 #pragma once
7 
8 #include <cumlprims/opg/matrix/data.hpp>
9 #include <cumlprims/opg/matrix/part_descriptor.hpp>
10 #include <raft/core/handle.hpp>
11 
12 #include <vector>
13 
14 namespace ML {
15 namespace KNN {
16 namespace opg {
17 
18 using namespace MLCommon;
19 
39 void knn(raft::handle_t& handle,
40  std::vector<Matrix::Data<int64_t>*>* out_I,
41  std::vector<Matrix::floatData_t*>* out_D,
42  std::vector<Matrix::floatData_t*>& idx_data,
43  Matrix::PartDescriptor& idx_desc,
44  std::vector<Matrix::floatData_t*>& query_data,
45  Matrix::PartDescriptor& query_desc,
46  bool rowMajorIndex,
47  bool rowMajorQuery,
48  int k,
49  size_t batch_size,
50  bool verbose);
51 
76 void knn_classify(raft::handle_t& handle,
77  std::vector<Matrix::Data<int>*>* out,
78  std::vector<std::vector<float*>>* probas,
79  std::vector<Matrix::floatData_t*>& idx_data,
80  Matrix::PartDescriptor& idx_desc,
81  std::vector<Matrix::floatData_t*>& query_data,
82  Matrix::PartDescriptor& query_desc,
83  std::vector<std::vector<int*>>& y,
84  std::vector<int*>& uniq_labels,
85  std::vector<int>& n_unique,
86  bool rowMajorIndex = false,
87  bool rowMajorQuery = false,
88  bool probas_only = false,
89  int k = 10,
90  size_t batch_size = 1 << 15,
91  bool verbose = false);
92 
114 void knn_regress(raft::handle_t& handle,
115  std::vector<Matrix::Data<float>*>* out,
116  std::vector<Matrix::floatData_t*>& idx_data,
117  Matrix::PartDescriptor& idx_desc,
118  std::vector<Matrix::floatData_t*>& query_data,
119  Matrix::PartDescriptor& query_desc,
120  std::vector<std::vector<float*>>& y,
121  bool rowMajorIndex,
122  bool rowMajorQuery,
123  int k,
124  int n_outputs,
125  size_t batch_size,
126  bool verbose);
127 
128 }; // END namespace opg
129 }; // namespace KNN
130 }; // namespace ML
Definition: Timer.h:9
void knn(raft::handle_t &handle, std::vector< Matrix::Data< int64_t > * > *out_I, std::vector< Matrix::floatData_t * > *out_D, std::vector< Matrix::floatData_t * > &idx_data, Matrix::PartDescriptor &idx_desc, std::vector< Matrix::floatData_t * > &query_data, Matrix::PartDescriptor &query_desc, bool rowMajorIndex, bool rowMajorQuery, int k, size_t batch_size, bool verbose)
void knn_classify(raft::handle_t &handle, std::vector< Matrix::Data< int > * > *out, std::vector< std::vector< float * >> *probas, std::vector< Matrix::floatData_t * > &idx_data, Matrix::PartDescriptor &idx_desc, std::vector< Matrix::floatData_t * > &query_data, Matrix::PartDescriptor &query_desc, std::vector< std::vector< int * >> &y, std::vector< int * > &uniq_labels, std::vector< int > &n_unique, bool rowMajorIndex=false, bool rowMajorQuery=false, bool probas_only=false, int k=10, size_t batch_size=1<< 15, bool verbose=false)
void knn_regress(raft::handle_t &handle, std::vector< Matrix::Data< float > * > *out, std::vector< Matrix::floatData_t * > &idx_data, Matrix::PartDescriptor &idx_desc, std::vector< Matrix::floatData_t * > &query_data, Matrix::PartDescriptor &query_desc, std::vector< std::vector< float * >> &y, bool rowMajorIndex, bool rowMajorQuery, int k, int n_outputs, size_t batch_size, bool verbose)
Definition: dbscan.hpp:18