LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
deeplima::DependencyParser::GraphDpImpl Class Reference

#include <deeplima/dependency_parser.h>

Inheritance diagram for deeplima::DependencyParser::GraphDpImpl:
deeplima::RnnSequenceClassifier< Model, InputVectorizer, Out > deeplima::ThreadPool< RnnSequenceClassifier< Model, InputVectorizer, Out > >

Public Types

typedef std::function< void(std::shared_ptr< StdMatrix< uint32_t > > classes, size_t begin, size_t end, size_t slot_idx) > tagging_callback_t
 

Public Member Functions

 GraphDpImpl ()
 
std::shared_ptr< EmbdUInt64Float > convert (const EmbdStrFloat &src)
 
virtual void load (const std::string &fn, const PathResolver &path_resolver)
 
void init (size_t threads, size_t num_buffers, size_t buffer_size_per_thread, StringIndex &stridx, const std::vector< std::string > &class_names)
 
void precompute_inputs (const typename Vectorizer::dataset_t &buffer)
 
virtual void register_handler (const tagging_callback_t fn)
 
virtual ~GraphDpImpl ()
 
void send_next_results ()
 
void send_all_results ()
 
virtual void handle_token_buffer (size_t slot_no, size_t first_timepoint_idx, const typename Vectorizer::dataset_t &buffer, const std::vector< size_t > &lengths, int timepoints_to_analyze=-1)
 
void no_more_data (size_t slot_no)
 
- Public Member Functions inherited from deeplima::RnnSequenceClassifier< Model, InputVectorizer, Out >
 RnnSequenceClassifier ()
 
virtual ~RnnSequenceClassifier ()
 
int32_t next_slot (uint32_t idx)
 
std::shared_ptr< StdMatrix< Out > > get_output ()
 
virtual void reset ()
 Need to be called to be able to reuse this classifier on several sequences.
 
virtual void init (uint32_t max_feat, uint32_t overlap, uint32_t num_slots, uint32_t slot_len, uint32_t num_threads, bool precomputed_input=false)
 
void load (const std::string &fn)
 
void get_classes_from_fn (const std::string &fn, std::vector< std::string > &classes_names, std::vector< std::vector< std::string > > &classes)
 
uint8_t get_output (uint64_t pos, uint8_t cls)
 
uint64_t get_slot_begin (uint32_t idx) const
 
bool get_slot_started (uint32_t idx) const
 
uint64_t get_slot_end (uint32_t idx) const
 
uint8_t get_lock_count (uint32_t idx) const
 
void increment_lock_count (uint32_t idx, uint8_t v=1)
 
void decrement_lock_count (uint32_t idx)
 
uint64_t get_start_timepoint () const
 
void increment_timepoint (uint64_t &timepoint)
 
uint32_t get_num_slots () const
 
uint32_t get_slot_size () const
 
int32_t get_slot_idx (uint64_t timepoint) const
 
void set_slot_lengths (uint32_t idx, const std::vector< size_t > &lengths)
 
void set_slot_begin (uint32_t idx, uint64_t slot_begin)
 
void set_slot_end (uint32_t idx, uint64_t slot_end)
 
void start_job (uint32_t idx, bool no_more_data=false)
 
void wait_for_slot (uint32_t idx)
 
void pretty_print () const
 
- Public Member Functions inherited from deeplima::ThreadPool< RnnSequenceClassifier< Model, InputVectorizer, Out > >
 ThreadPool (size_t num_threads=0)
 
void init (size_t num_threads)
 
size_t get_num_threads () const
 
virtual ~ThreadPool ()
 
void stop ()
 
size_t running ()
 
void push (void *job)
 

Protected Member Functions

void increment_timepoint (uint64_t &timepoint)
 
void send_results (int32_t slot_idx)
 
void send_results_if_available ()
 
void acquire_slot (size_t slot_no)
 
- Protected Member Functions inherited from deeplima::RnnSequenceClassifier< Model, InputVectorizer, Out >
int32_t prev_slot (uint32_t idx)
 
void clear_slot (uint32_t idx)
 
void start_job_impl (uint32_t idx)
 Push the slot idx in the thread pool for starting the job on it.
 
- Protected Member Functions inherited from deeplima::ThreadPool< RnnSequenceClassifier< Model, InputVectorizer, Out > >
bool wait_for_new_job (void **job)
 This will wait until a job is available and then job parameter will be set to this available which will be removed from the list.
 
void wait_for_any_job_notification (const std::function< bool()> fn)
 
void thread_fn (size_t worker_id)
 

Protected Attributes

Vectorizer m_vectorizer
 
std::shared_ptr< FastTextVectorizer< eigen_wrp::EigenMatrixXf::matrix_t, Eigen::Index > > m_fastText
 
std::vector< std::shared_ptr< FeatureVectorizerBase< Eigen::Index > > > m_featVectorizers
 
tagging_callback_t m_callback
 
uint64_t m_current_timepoint
 
uint32_t m_current_slot_timepoints
 
int32_t m_current_slot_no
 
int32_t m_last_completed_slot
 
size_t m_curr_buff_idx
 
- Protected Attributes inherited from deeplima::RnnSequenceClassifier< Model, InputVectorizer, Out >
friend RnnSequenceClassifierThreadPool
 
uint32_t m_overlap
 
uint32_t m_num_slots
 
uint32_t m_slot_len
 
std::vector< slot_t > m_slots
 
std::vector< std::vector< size_t > > m_lengths
 
std::shared_ptr< StdMatrix< Out > > m_output
 
- Protected Attributes inherited from deeplima::ThreadPool< RnnSequenceClassifier< Model, InputVectorizer, Out > >
std::vector< std::thread > m_workers
 
std::atomic< bool > m_stop
 
std::queue< void * > m_jobs
 
std::mutex m_mutex
 
std::condition_variable m_cv
 
std::mutex m_mutex_notify
 
std::condition_variable m_cv_notify
 

Additional Inherited Members

- Protected Types inherited from deeplima::RnnSequenceClassifier< Model, InputVectorizer, Out >
enum  slot_flags_t : uint8_t { none = 0x00 , left_overlap = 0x01 , right_overlap = 0x02 , max_flags }
 
typedef RnnSequenceClassifier< Model, InputVectorizer, Out > ThisClass
 
typedef ThreadPool< ThisClass > RnnSequenceClassifierThreadPool
 
- Static Protected Member Functions inherited from deeplima::RnnSequenceClassifier< Model, InputVectorizer, Out >
static void run_one_job (ThisClass *this_ptr, size_t worker_id, void *p)
 

Detailed Description

Definition at line 633 of file dependency_parser.h.

Member Typedef Documentation

◆ tagging_callback_t

typedef std::function< void (std::shared_ptr< StdMatrix<uint32_t> > classes, size_t begin, size_t end, size_t slot_idx) > deeplima::DependencyParser::GraphDpImpl::tagging_callback_t

Definition at line 758 of file dependency_parser.h.

Constructor & Destructor Documentation

◆ GraphDpImpl()

deeplima::DependencyParser::GraphDpImpl::GraphDpImpl ( )
inline

Definition at line 637 of file dependency_parser.h.

◆ ~GraphDpImpl()

virtual deeplima::DependencyParser::GraphDpImpl::~GraphDpImpl ( )
inlinevirtual

Definition at line 765 of file dependency_parser.h.

Member Function Documentation

◆ acquire_slot()

void deeplima::DependencyParser::GraphDpImpl::acquire_slot ( size_t  slot_no)
inlineprotected

Definition at line 888 of file dependency_parser.h.

◆ convert()

std::shared_ptr< EmbdUInt64Float > deeplima::DependencyParser::GraphDpImpl::convert ( const EmbdStrFloat &  src)
inline

Definition at line 656 of file dependency_parser.h.

◆ handle_token_buffer()

virtual void deeplima::DependencyParser::GraphDpImpl::handle_token_buffer ( size_t  slot_no,
size_t  first_timepoint_idx,
const typename Vectorizer::dataset_t &  buffer,
const std::vector< size_t > &  lengths,
int  timepoints_to_analyze = -1 
)
inlinevirtual

Definition at line 920 of file dependency_parser.h.

◆ increment_timepoint()

void deeplima::DependencyParser::GraphDpImpl::increment_timepoint ( uint64_t &  timepoint)
inlineprotected

Definition at line 772 of file dependency_parser.h.

◆ init()

void deeplima::DependencyParser::GraphDpImpl::init ( size_t  threads,
size_t  num_buffers,
size_t  buffer_size_per_thread,
StringIndex &  stridx,
const std::vector< std::string > &  class_names 
)
inline

Definition at line 680 of file dependency_parser.h.

◆ load()

virtual void deeplima::DependencyParser::GraphDpImpl::load ( const std::string &  fn,
const PathResolver &  path_resolver 
)
inlinevirtual

Definition at line 666 of file dependency_parser.h.

◆ no_more_data()

void deeplima::DependencyParser::GraphDpImpl::no_more_data ( size_t  slot_no)
inline

Definition at line 979 of file dependency_parser.h.

◆ precompute_inputs()

void deeplima::DependencyParser::GraphDpImpl::precompute_inputs ( const typename Vectorizer::dataset_t &  buffer)
inline

Definition at line 752 of file dependency_parser.h.

◆ register_handler()

virtual void deeplima::DependencyParser::GraphDpImpl::register_handler ( const tagging_callback_t  fn)
inlinevirtual

Definition at line 760 of file dependency_parser.h.

◆ send_all_results()

void deeplima::DependencyParser::GraphDpImpl::send_all_results ( )
inline

Definition at line 828 of file dependency_parser.h.

◆ send_next_results()

void deeplima::DependencyParser::GraphDpImpl::send_next_results ( )
inline

Definition at line 795 of file dependency_parser.h.

◆ send_results()

void deeplima::DependencyParser::GraphDpImpl::send_results ( int32_t  slot_idx)
inlineprotected

Definition at line 779 of file dependency_parser.h.

◆ send_results_if_available()

void deeplima::DependencyParser::GraphDpImpl::send_results_if_available ( )
inlineprotected

Definition at line 867 of file dependency_parser.h.

Member Data Documentation

◆ m_callback

tagging_callback_t deeplima::DependencyParser::GraphDpImpl::m_callback
protected

Definition at line 996 of file dependency_parser.h.

◆ m_curr_buff_idx

size_t deeplima::DependencyParser::GraphDpImpl::m_curr_buff_idx
protected

Definition at line 1004 of file dependency_parser.h.

◆ m_current_slot_no

int32_t deeplima::DependencyParser::GraphDpImpl::m_current_slot_no
protected

Definition at line 1001 of file dependency_parser.h.

◆ m_current_slot_timepoints

uint32_t deeplima::DependencyParser::GraphDpImpl::m_current_slot_timepoints
protected

Definition at line 999 of file dependency_parser.h.

◆ m_current_timepoint

uint64_t deeplima::DependencyParser::GraphDpImpl::m_current_timepoint
protected

Definition at line 998 of file dependency_parser.h.

◆ m_fastText

std::shared_ptr<FastTextVectorizer<eigen_wrp::EigenMatrixXf::matrix_t, Eigen::Index> > deeplima::DependencyParser::GraphDpImpl::m_fastText
protected

Definition at line 993 of file dependency_parser.h.

◆ m_featVectorizers

std::vector<std::shared_ptr<FeatureVectorizerBase<Eigen::Index> > > deeplima::DependencyParser::GraphDpImpl::m_featVectorizers
protected

Definition at line 994 of file dependency_parser.h.

◆ m_last_completed_slot

int32_t deeplima::DependencyParser::GraphDpImpl::m_last_completed_slot
protected

Definition at line 1002 of file dependency_parser.h.

◆ m_vectorizer

Vectorizer deeplima::DependencyParser::GraphDpImpl::m_vectorizer
protected

Definition at line 992 of file dependency_parser.h.


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