6 #ifndef ML_DATA_ROW_SLICING_UTILITIES_H_ 7 #define ML_DATA_ROW_SLICING_UTILITIES_H_ 10 #include <toolkits/ml_data_2/metadata.hpp> 11 #include <core/data/flexible_type/flexible_type.hpp> 13 #include <Eigen/SparseCore> 14 #include <model_server/lib/variant.hpp> 15 #include <model_server/lib/variant_deep_serialize.hpp> 17 namespace turi {
namespace v2 {
19 typedef Eigen::Matrix<double, Eigen::Dynamic,1> dense_vector;
20 typedef Eigen::SparseVector<double> sparse_vector;
116 row_slicer(
const std::shared_ptr<ml_metadata>& metadata,
117 const std::vector<size_t>& columns_to_pick);
123 void slice(sparse_vector& dest,
124 const std::vector<ml_data_entry>& x_t,
const std::vector<flexible_type>& x_u)
const;
130 void slice(dense_vector& dest,
131 const std::vector<ml_data_entry>& x_t,
const std::vector<flexible_type>& x_u)
const;
137 void slice(std::vector<flexible_type>& dest,
138 const std::vector<ml_data_entry>& x_t,
const std::vector<flexible_type>& x_u)
const;
157 bool pick_from_flexible_type =
false;
159 std::vector<size_t> flex_type_columns_to_pick;
161 std::vector<int> column_pick_mask;
163 std::vector<size_t> index_offsets;
164 std::vector<size_t> index_sizes;
166 size_t _num_dimensions = 0;
void slice(sparse_vector &dest, const std::vector< ml_data_entry > &x_t, const std::vector< flexible_type > &x_u) const
The serialization input archive object which, provided with a reference to an istream, will read from the istream, providing deserialization capabilities.
void save(turi::oarchive &oarc) const
The serialization output archive object which, provided with a reference to an ostream, will write to the ostream, providing serialization capabilities.
void load(turi::iarchive &iarc)