6 #ifndef TURI_BRUTE_FORCE_NEIGHBORS_H_ 7 #define TURI_BRUTE_FORCE_NEIGHBORS_H_ 10 #include <core/parallel/atomic.hpp> 15 #include <toolkits/nearest_neighbors/nearest_neighbors.hpp> 18 namespace nearest_neighbors {
22 class EXPORT brute_force_neighbors:
public nearest_neighbors_model {
31 static constexpr
size_t BRUTE_FORCE_NEIGHBORS_VERSION = 2;
36 ~brute_force_neighbors();
45 void init_options(
const std::map<std::string,flexible_type>& _opts)
override;
55 void train(
const sframe& X,
const std::vector<flexible_type>& ref_labels,
56 const std::vector<dist_component_type>& composite_distance_params,
57 const std::map<std::string, flexible_type>& opts)
override;
74 sframe query(
const v2::ml_data& mld_queries,
75 const std::vector<flexible_type>& query_labels,
76 const size_t k,
const double radius,
77 const bool include_self_edges)
const override;
90 sframe similarity_graph(
const size_t k,
const double radius,
91 const bool include_self_edges)
const override;
103 void blockwise_query(
const v2::ml_data& mld_queries,
104 std::vector<neighbor_candidates>& neighbors,
105 const std::string& dist_name)
const;
127 void pairwise_query(
const v2::ml_data& mld_queries,
128 std::vector<neighbor_candidates>& neighbors)
const;
137 void blockwise_similarity_graph(std::vector<neighbor_candidates>& neighbors,
138 const std::string& dist_name)
const;
141 inline size_t get_version()
const override {
142 return BRUTE_FORCE_NEIGHBORS_VERSION;
#define BEGIN_CLASS_MEMBER_REGISTRATION(python_facing_classname)
#define REGISTER_CLASS_MEMBER_FUNCTION(function,...)
The serialization input archive object which, provided with a reference to an istream, will read from the istream, providing deserialization capabilities.
#define END_CLASS_MEMBER_REGISTRATION
The serialization output archive object which, provided with a reference to an ostream, will write to the ostream, providing serialization capabilities.