6#ifndef DEEPLIMA_SRC_INFERENCE_TORCH_DICT_VECTORIZER_H
7#define DEEPLIMA_SRC_INFERENCE_TORCH_DICT_VECTORIZER_H
15template <
class DH,
class D,
class Matrix>
23 : Matrix(max_time, max_feat)
28 void init(
const DH& dicts, int64_t max_time, int64_t max_feat)
31 Matrix::init(max_time, max_feat);
36 assert(Matrix::get_max_feat() == dicts.size());
38 for (
const auto& ptr : dicts)
40 m_dicts.emplace_back(
dynamic_cast<const D*
>(ptr.get()));
44 inline void set(uint64_t time, uint64_t feat,
typename D::value_t value)
47 key_t k =
m_dicts[feat]->get_idx(value);
48 Matrix::set(time, feat, k);
void set_dicts(const DH &dicts)
DictVectorizer(int64_t max_time, int64_t max_feat)
std::vector< const D * > m_dicts
void set(uint64_t time, uint64_t feat, typename D::value_t value)
void init(const DH &dicts, int64_t max_time, int64_t max_feat)