| 99 | resize(bottom_graph_->max_capacity_); |
| 100 | } |
| 101 | void |
| 102 | HGraph::Train(const DatasetPtr& base) { |
| 103 | int64_t total_elements = base->GetNumElements(); |
| 104 | int64_t dim = base->GetDim(); |
| 105 | DatasetPtr train_data = |
| 106 | vsag::sample_train_data(base, total_elements, dim, train_sample_count_, allocator_); |
| 107 | |
| 108 | const auto* data_ptr = get_data(train_data); |
| 109 | this->basic_flatten_codes_->Train(data_ptr, train_data->GetNumElements()); |
| 110 | if (use_reorder_) { |
| 111 | this->high_precise_codes_->Train(data_ptr, train_data->GetNumElements()); |
| 112 | } |
| 113 | if (create_new_raw_vector_) { |
| 114 | // nothing to do since raw_vector_ is fp32 |
| 115 | this->raw_vector_->Train(data_ptr, train_data->GetNumElements()); |
| 116 | } |
| 117 | } |
| 118 | |
| 119 | std::vector<int64_t> |
| 120 | HGraph::Build(const DatasetPtr& data) { |
no test coverage detected