LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE > Class Template Reference

#include <deeplima/eigen_wrp/word_seq_embd_vectorizer.h>

Inheritance diagram for deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >:
deeplima::vectorizers::WordSeqEmbdVectorizer< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx > deeplima::vectorizers::WordSeqEmbdVectorizerWithPrecomputing< Model, TokenVector, TokenStrFeatExtractor< Token >, TokenUIntClsFeatExtractor< Token >, eigen_wrp::EigenMatrixXf::matrix_t, Eigen::Index > deeplima::vectorizers::WordSeqEmbdVectorizerWithPrecomputing< Model, DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE > deeplima::graph_dp::eigen_impl::FeaturesVectorizerWithPrecomputing< Model, TokenVector, Token > deeplima::graph_dp::impl::FeaturesVectorizerWithPrecomputing< Model, TokenVector, Token >

Classes

struct  timepoint_features_hash
 
class  timepoint_features_t
 

Public Types

typedef Parent::feature_descr_t feature_descr_t
 
- Public Types inherited from deeplima::vectorizers::WordSeqEmbdVectorizer< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx >
enum  feature_type_t : unsigned char { int_feature = 0 , str_feature = 1 , float_feature = 2 , max_feature }
 
typedef DataSet dataset_t
 
typedef DataSet::token_t token_t
 
typedef UIntFeatExtractor uint_feat_extractor_t
 

Public Member Functions

 WordSeqEmbdVectorizerWithCache (size_t bucket_size=BUCKET_SIZE)
 
 WordSeqEmbdVectorizerWithCache (const std::vector< feature_descr_t > &features, size_t bucket_size=BUCKET_SIZE)
 
bool is_precomputing () const
 
void precompute (const DataSet &dataset)
 
virtual void init_features (const std::vector< feature_descr_t > &features)
 
void create_key (timepoint_features_t &timepoint_features, const typename DataSet::token_t &token)
 
void vectorize_timepoint (MatrixFloat &target, uint64_t timepoint, const typename DataSet::token_t &token)
 
- Public Member Functions inherited from deeplima::vectorizers::WordSeqEmbdVectorizer< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx >
void set_model (void *)
 
 WordSeqEmbdVectorizer ()
 
 WordSeqEmbdVectorizer (const std::vector< feature_descr_t > &features)
 
 WordSeqEmbdVectorizer (const std::vector< feature_descr_t > &features, const StrFeatExtractor &str_feat_extractor)
 
bool is_precomputing () const
 
void precompute (const DataSet &)
 
UIntFeatExtractor & get_uint_feat_extractor ()
 
void init_features (const std::vector< feature_descr_t > &features)
 
int dim () const
 
void vectorize_timepoint (MatrixFloat &target, uint64_t timepoint, const typename DataSet::token_t &token) const
 

Protected Types

typedef WordSeqEmbdVectorizer< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx > Parent
 
- Protected Types inherited from deeplima::vectorizers::WordSeqEmbdVectorizer< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx >
typedef FeatureVectorizerToMatrix< MatrixFloat, uint64_t, Idx > uint_vectorizer_t
 
typedef FeatureVectorizerToMatrix< MatrixFloat, const std::string &, Idx > str_vectorizer_t
 

Protected Member Functions

Idx get_vector (const timepoint_features_t &key, eigen_wrp::EigenMatrixXf::matrix_t **matrix)
 
void init_curr_bucket (size_t dim)
 
void compute_vector (const timepoint_features_t &key, eigen_wrp::EigenMatrixXf::matrix_t &matrix, Idx idx)
 
virtual void init_cache (size_t dim)
 

Protected Attributes

std::unordered_map< timepoint_features_t, Idx, timepoint_features_hash > m_precomputed_index
 
std::vector< eigen_wrp::EigenMatrixXf::matrix_t > m_precomputed_vectors
 
Idx m_bucket_size
 
Idx m_next_free_idx
 
Idx m_curr_bucket_id
 
eigen_wrp::EigenMatrixXf::matrix_t m_temp_vectors
 
- Protected Attributes inherited from deeplima::vectorizers::WordSeqEmbdVectorizer< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx >
std::vector< feature_descr_t > m_features
 
int m_features_size
 
std::vector< uint32_t > m_features_pos
 
const StrFeatExtractor m_str_feat_extractor
 
UIntFeatExtractor m_uint_feat_extractor
 
std::vector< std::pair< std::shared_ptr< uint_vectorizer_t >, size_t > > m_uint_vectorizers
 
std::vector< std::pair< std::shared_ptr< str_vectorizer_t >, size_t > > m_str_vectorizers
 

Detailed Description

template<class DataSet, class StrFeatExtractor, class UIntFeatExtractor, class MatrixFloat, class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
class deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >

Definition at line 202 of file word_seq_embd_vectorizer.h.

Member Typedef Documentation

◆ feature_descr_t

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
typedef Parent::feature_descr_t deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::feature_descr_t

Definition at line 367 of file word_seq_embd_vectorizer.h.

◆ Parent

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
typedef WordSeqEmbdVectorizer<DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx> deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::Parent
protected

Definition at line 206 of file word_seq_embd_vectorizer.h.

Constructor & Destructor Documentation

◆ WordSeqEmbdVectorizerWithCache() [1/2]

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::WordSeqEmbdVectorizerWithCache ( size_t  bucket_size = BUCKET_SIZE)
inline

Definition at line 369 of file word_seq_embd_vectorizer.h.

◆ WordSeqEmbdVectorizerWithCache() [2/2]

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::WordSeqEmbdVectorizerWithCache ( const std::vector< feature_descr_t > &  features,
size_t  bucket_size = BUCKET_SIZE 
)
inline

Definition at line 378 of file word_seq_embd_vectorizer.h.

Member Function Documentation

◆ compute_vector()

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
void deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::compute_vector ( const timepoint_features_t &  key,
eigen_wrp::EigenMatrixXf::matrix_t &  matrix,
Idx  idx 
)
inlineprotected

Definition at line 333 of file word_seq_embd_vectorizer.h.

◆ create_key()

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
void deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::create_key ( timepoint_features_t &  timepoint_features,
const typename DataSet::token_t &  token 
)
inline

Definition at line 403 of file word_seq_embd_vectorizer.h.

◆ get_vector()

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
Idx deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::get_vector ( const timepoint_features_t &  key,
eigen_wrp::EigenMatrixXf::matrix_t **  matrix 
)
inlineprotected

Definition at line 282 of file word_seq_embd_vectorizer.h.

◆ init_cache()

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
virtual void deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::init_cache ( size_t  dim)
inlineprotectedvirtual

◆ init_curr_bucket()

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
void deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::init_curr_bucket ( size_t  dim)
inlineprotected

Definition at line 326 of file word_seq_embd_vectorizer.h.

◆ init_features()

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
virtual void deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::init_features ( const std::vector< feature_descr_t > &  features)
inlinevirtual

Definition at line 398 of file word_seq_embd_vectorizer.h.

◆ is_precomputing()

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
bool deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::is_precomputing ( ) const
inline

Definition at line 388 of file word_seq_embd_vectorizer.h.

◆ precompute()

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
void deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::precompute ( const DataSet &  dataset)
inline

Definition at line 394 of file word_seq_embd_vectorizer.h.

◆ vectorize_timepoint()

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
void deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::vectorize_timepoint ( MatrixFloat &  target,
uint64_t  timepoint,
const typename DataSet::token_t &  token 
)
inline

Definition at line 422 of file word_seq_embd_vectorizer.h.

Member Data Documentation

◆ m_bucket_size

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
Idx deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::m_bucket_size
protected

Definition at line 277 of file word_seq_embd_vectorizer.h.

◆ m_curr_bucket_id

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
Idx deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::m_curr_bucket_id
protected

Definition at line 279 of file word_seq_embd_vectorizer.h.

◆ m_next_free_idx

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
Idx deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::m_next_free_idx
protected

Definition at line 278 of file word_seq_embd_vectorizer.h.

◆ m_precomputed_index

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
std::unordered_map<timepoint_features_t, Idx, timepoint_features_hash> deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::m_precomputed_index
protected

Definition at line 275 of file word_seq_embd_vectorizer.h.

◆ m_precomputed_vectors

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
std::vector<eigen_wrp::EigenMatrixXf::matrix_t> deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::m_precomputed_vectors
protected

Definition at line 276 of file word_seq_embd_vectorizer.h.

◆ m_temp_vectors

template<class DataSet , class StrFeatExtractor , class UIntFeatExtractor , class MatrixFloat , class Idx = uint64_t, size_t NUM_BUCKETS = 32, size_t BUCKET_SIZE = 1024*64>
eigen_wrp::EigenMatrixXf::matrix_t deeplima::vectorizers::WordSeqEmbdVectorizerWithCache< DataSet, StrFeatExtractor, UIntFeatExtractor, MatrixFloat, Idx, NUM_BUCKETS, BUCKET_SIZE >::m_temp_vectors
protected

Definition at line 280 of file word_seq_embd_vectorizer.h.


The documentation for this class was generated from the following file: