LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
deeplima::lemmatization::train::Seq2SeqLemmatizerImpl Class Reference

#include </home/runner/work/lima/lima/deeplima/libs/tasks/lemmatization/model/seq2seq_for_lemmatization.h>

Inheritance diagram for deeplima::lemmatization::train::Seq2SeqLemmatizerImpl:
deeplima::nets::BiRnnSeq2SeqImpl deeplima::nets::BiRnnClassifierImpl deeplima::nets::StaticGraphImpl

Public Types

typedef torch::Tensor tensor_t
 
- Public Types inherited from deeplima::nets::BiRnnSeq2SeqImpl
typedef torch::Tensor tensor_t
 

Public Member Functions

 Seq2SeqLemmatizerImpl ()
 
 Seq2SeqLemmatizerImpl (DictsHolder &&dicts, const morph_model::morph_model_t &lang_morph_model, const std::vector< nets::embd_descr_t > &encoder_embd_descr, const std::vector< nets::rnn_descr_t > &encoder_rnn_descr, const std::vector< nets::embd_descr_t > &decoder_embd_descr, const std::vector< nets::rnn_descr_t > &decoder_rnn_descr, const std::vector< nets::embd_descr_t > &cat_embd_descr, const std::string &fixed_upos)
 
void train (const train_params_lemmatization_t &params, const std::vector< TorchMatrix< int64_t > > &train_input, const std::vector< std::vector< TorchMatrix< int64_t > > > &train_input_cat, const std::vector< TorchMatrix< int64_t > > &train_gold, const std::vector< TorchMatrix< int64_t > > &eval_input, const std::vector< std::vector< TorchMatrix< int64_t > > > &eval_input_cat, const std::vector< TorchMatrix< int64_t > > &eval_gold, torch::optim::Optimizer &opt, const torch::Device &device=torch::Device(torch::kCPU))
 
void evaluate (const std::vector< TorchMatrix< int64_t > > &input, const std::vector< TorchMatrix< int64_t > > &gold, nets::epoch_stat_t &stat, const torch::Device &device=torch::Device(torch::kCPU))
 
nets::epoch_stat_t train_on_subset (const train_params_lemmatization_t &params, const TorchMatrix< int64_t > &train_input, const std::vector< TorchMatrix< int64_t > > &train_input_cat, const TorchMatrix< int64_t > &train_gold, torch::optim::Optimizer &opt, const torch::Device &device=torch::Device(torch::kCPU))
 
virtual void load (torch::serialize::InputArchive &archive)
 
virtual void save (torch::serialize::OutputArchive &archive) const
 
void load (const std::string &fn)
 
const morph_model::morph_model_t & get_morph_model () const
 
const std::string & get_fixed_upos () const
 
- Public Member Functions inherited from deeplima::nets::BiRnnSeq2SeqImpl
 BiRnnSeq2SeqImpl ()
 
 BiRnnSeq2SeqImpl (DictsHolder &&dicts, const std::vector< embd_descr_t > &encoder_embd_descr, const std::vector< rnn_descr_t > &encoder_rnn_descr, const std::vector< embd_descr_t > &decoder_embd_descr, const std::vector< rnn_descr_t > &decoder_rnn_descr, const std::vector< embd_descr_t > &cat_embd_descr)
 
void evaluate (const std::vector< std::string > &output_names, const TorchMatrix< int64_t > &input, const TorchMatrix< int64_t > &gold, epoch_stat_t &stat, const torch::Device &device=torch::Device(torch::kCPU))
 
- Public Member Functions inherited from deeplima::nets::BiRnnClassifierImpl
 BiRnnClassifierImpl ()
 
 BiRnnClassifierImpl (DictsHolder &&dicts, const std::vector< embd_descr_t > &embd_descr, const std::vector< rnn_descr_t > &rnn_descr, const std::vector< std::string > &output_names, const std::vector< uint32_t > &classes, float input_dropout_prob)
 
 BiRnnClassifierImpl (DictsHolder &&dicts, const std::vector< embd_descr_t > &embd_descr, const std::string &script)
 
const std::vector< embd_descr_t > & get_embd_descr () const
 
void train (size_t epochs, size_t batch_size, size_t seq_len, const std::vector< std::string > &output_names, const TorchMatrix< int64_t > &train_input, const TorchMatrix< int64_t > &train_gold, const TorchMatrix< int64_t > &eval_input, const TorchMatrix< int64_t > &eval_gold, torch::optim::Optimizer &opt, const std::string &model_name="", const torch::Device &device=torch::Device(torch::kCPU))
 
void evaluate (const std::vector< std::string > &output_name, const TorchMatrix< int64_t > &input, const TorchMatrix< int64_t > &gold, epoch_stat_t &stat, const torch::Device &device=torch::Device(torch::kCPU))
 
torch::Tensor predict (const std::string &output_name, const torch::Tensor &input, const torch::Device &device=torch::Device(torch::kCPU))
 
torch::Tensor predict (const std::vector< std::string > &output_names, const torch::Tensor &input, const torch::Device &device=torch::Device(torch::kCPU))
 
void predict (size_t worker_id, const torch::Tensor &inputs, int64_t input_begin, int64_t input_end, int64_t output_begin, int64_t output_end, std::shared_ptr< StdMatrix< uint8_t > > &output, const std::vector< std::string > &outputs_names, const torch::Device &device=torch::Device(torch::kCPU))
 
- Public Member Functions inherited from deeplima::nets::StaticGraphImpl
 StaticGraphImpl (const DictsHolder &dicts, const std::string &script)
 
 StaticGraphImpl (DictsHolder &&dicts, const std::string &script)
 
 StaticGraphImpl ()
 
virtual void set_tags (const std::map< std::string, std::string > &tags)
 
virtual const std::map< std::string, std::string > & get_tags () const
 
virtual bool has_tag (const std::string &key) const
 
virtual void to (torch::Device device, bool non_blocking=false) override
 
std::map< std::string, torch::Tensor > forward (const std::map< std::string, torch::Tensor > &inputs, const std::string &output_name)
 
std::map< std::string, torch::Tensor > forward (const std::map< std::string, torch::Tensor > &inputs, const std::vector< std::string > &output_names)
 
template<class InputIt >
std::map< std::string, torch::Tensor > forward (const std::map< std::string, torch::Tensor > &inputs, InputIt outputs_begin, InputIt outputs_end)
 
virtual void pretty_dump (std::ostream &stream) const
 
const DictsHolder & get_dicts () const
 
const std::string & get_script () const
 
const std::vector< torch::nn::LSTM > & get_layers_lstm () const
 
const std::vector< torch::nn::Linear > & get_layers_linear () const
 
const std::vector< torch::nn::Embedding > & get_layers_embedding () const
 
const std::vector< torch::nn::Dropout > & get_layers_dropout () const
 
const std::vector< deeplima::nets::torch_modules::DeepBiaffineAttentionDecoder > & get_layers_deep_biaffine_attn_decoder () const
 
const std::vector< deeplima::nets::torch_modules::DeepBiaffineAttentionLabelDecoder > & get_layers_deep_biaffine_attn_label_decoder () const
 
torch::nn::Embedding get_module_by_name (const std::string &name) const
 
const std::string get_module_name (size_t idx, const std::string &type) const
 

Protected Attributes

morph_model::morph_model_t m_morph_model
 
std::string m_fixed_upos
 
- Protected Attributes inherited from deeplima::nets::BiRnnSeq2SeqImpl
std::vector< embd_descr_t > m_cat_embd_descr
 
- Protected Attributes inherited from deeplima::nets::BiRnnClassifierImpl
std::vector< embd_descr_t > m_embd_descr
 
- Protected Attributes inherited from deeplima::nets::StaticGraphImpl
std::map< std::string, std::vector< size_t > > m_exec_plans
 
DictsHolder m_dicts
 
std::string m_script
 
std::map< std::string, std::string > m_tags
 
std::vector< torch::nn::Embedding > m_embedding
 
std::vector< torch::nn::LSTM > m_lstm
 
std::vector< torch::nn::Linear > m_linear
 
std::vector< torch::nn::Dropout > m_dropout
 
std::vector< deeplima::nets::torch_modules::DeepBiaffineAttentionDecoder > m_deep_biaffine_attention_decoder
 
std::vector< deeplima::nets::torch_modules::DeepBiaffineAttentionLabelDecoder > m_deep_biaffine_attention_label_decoder
 
std::map< std::string, module_ref_t > m_modules
 
std::set< std::string > m_args
 
std::map< std::string, size_t > m_tensor_name_to_idx
 
std::vector< op_t > m_ops
 
std::map< size_t, size_t > m_outidx_to_opidx
 

Additional Inherited Members

- Protected Member Functions inherited from deeplima::nets::BiRnnSeq2SeqImpl
std::string generate_script (const std::vector< embd_descr_t > &encoder_embd_descr, const std::vector< rnn_descr_t > &encoder_rnn_descr, const std::vector< embd_descr_t > &decoder_embd_descr, const std::vector< rnn_descr_t > &decoder_rnn_descr, const std::vector< embd_descr_t > &cat_embd_descr, size_t n_output_classes)
 
void train_batch (const std::vector< std::string > &output_names, const torch::Tensor &input, const std::vector< torch::Tensor > &input_cat, const torch::Tensor &target, torch::optim::Optimizer &opt, epoch_stat_t &stat, const torch::Device &device)
 
- Protected Member Functions inherited from deeplima::nets::BiRnnClassifierImpl
void split_input (const torch::Tensor &src, std::map< std::string, torch::Tensor > &dst, const torch::Device &device)
 
void evaluate (const std::vector< std::string > &output_names, const std::map< std::string, torch::Tensor > &input, const torch::Tensor &target, epoch_stat_t &stat, const torch::Device &device)
 
void train_epoch (size_t batch_size, size_t seq_len, const std::vector< std::string > &output_names, const torch::Tensor &input_batches, const torch::Tensor &gold_batches, torch::optim::Optimizer &opt, epoch_stat_t &stat, const torch::Device &device)
 
void train_batch (size_t batch_size, size_t seq_len, const std::vector< std::string > &output_names, const torch::Tensor &input, const torch::Tensor &gold, torch::optim::Optimizer &opt, epoch_stat_t &stat, const torch::Device &device)
 
void train_batch (size_t batch_size, size_t seq_len, const std::vector< std::string > &output_names, const std::map< std::string, torch::Tensor > &input, const torch::Tensor &target, torch::optim::Optimizer &opt, epoch_stat_t &stat, const torch::Device &device)
 
- Protected Member Functions inherited from deeplima::nets::StaticGraphImpl
virtual void parse_script (const std::string &script)
 
virtual step_descr_t parse_script_line (const std::string &line)
 
virtual std::map< std::string, std::string > parse_options (std::istringstream &ss)
 
virtual std::vector< std::string > parse_list (std::string &str, char sep)
 
virtual std::vector< int64_t > parse_iargs (const std::string &str)
 
template<class InputIt >
void prepare_exec_plan (const std::map< std::string, torch::Tensor > &inputs, InputIt outputs_begin, InputIt outputs_end)
 
template<class InputIt >
std::string get_exec_plan_key (const std::map< std::string, torch::Tensor > &inputs, InputIt outputs_begin, InputIt outputs_end)
 
template<class T >
T get_option (const std::map< std::string, std::string > &opts, const std::string &name)
 
bool get_bool_option (const std::map< std::string, std::string > &opts, const std::string &name)
 
virtual void create_arg (const std::vector< std::string > &names, const std::map< std::string, std::string > &opts)
 
virtual void create_submodule_Embedding (const std::string &name, const std::map< std::string, std::string > &opts)
 
virtual void create_submodule_LSTM (const std::string &name, const std::map< std::string, std::string > &opts)
 
virtual void create_submodule_Linear (const std::string &name, const std::map< std::string, std::string > &opts)
 
virtual void create_submodule_Dropout (const std::string &name, const std::map< std::string, std::string > &opts)
 
virtual void create_submodule_DeepBiaffineAttentionDecoder (const std::string &name, const std::map< std::string, std::string > &opts)
 
virtual void create_submodule_DeepBiaffineAttentionLabelDecoder (const std::string &name, const std::map< std::string, std::string > &opts)
 
virtual void init_rnns ()
 
- Static Protected Member Functions inherited from deeplima::nets::BiRnnSeq2SeqImpl
template<class T >
static std::vector< T > concatenate (const std::vector< T > &a, const std::vector< T > &b, const std::vector< T > &c={})
 
- Static Protected Member Functions inherited from deeplima::nets::BiRnnClassifierImpl
static std::string generate_script (const std::vector< embd_descr_t > &embd_descr, const std::vector< rnn_descr_t > &rnn_descr, const std::vector< std::string > &output_names, const std::vector< uint32_t > &classes, float input_dropout_prob)
 

Detailed Description

Definition at line 22 of file seq2seq_for_lemmatization.h.

Member Typedef Documentation

◆ tensor_t

Constructor & Destructor Documentation

◆ Seq2SeqLemmatizerImpl() [1/2]

deeplima::lemmatization::train::Seq2SeqLemmatizerImpl::Seq2SeqLemmatizerImpl ( )
inline

Definition at line 27 of file seq2seq_for_lemmatization.h.

◆ Seq2SeqLemmatizerImpl() [2/2]

deeplima::lemmatization::train::Seq2SeqLemmatizerImpl::Seq2SeqLemmatizerImpl ( DictsHolder &&  dicts,
const morph_model::morph_model_t &  lang_morph_model,
const std::vector< nets::embd_descr_t > &  encoder_embd_descr,
const std::vector< nets::rnn_descr_t > &  encoder_rnn_descr,
const std::vector< nets::embd_descr_t > &  decoder_embd_descr,
const std::vector< nets::rnn_descr_t > &  decoder_rnn_descr,
const std::vector< nets::embd_descr_t > &  cat_embd_descr,
const std::string &  fixed_upos 
)
inline

Definition at line 31 of file seq2seq_for_lemmatization.h.

Member Function Documentation

◆ evaluate()

void deeplima::lemmatization::train::Seq2SeqLemmatizerImpl::evaluate ( const std::vector< TorchMatrix< int64_t > > &  input,
const std::vector< TorchMatrix< int64_t > > &  gold,
nets::epoch_stat_t &  stat,
const torch::Device &  device = torch::Device(torch::kCPU) 
)

Definition at line 124 of file seq2seq_for_lemmatization.cpp.

◆ get_fixed_upos()

const std::string & deeplima::lemmatization::train::Seq2SeqLemmatizerImpl::get_fixed_upos ( ) const
inline

Definition at line 84 of file seq2seq_for_lemmatization.h.

◆ get_morph_model()

const morph_model::morph_model_t & deeplima::lemmatization::train::Seq2SeqLemmatizerImpl::get_morph_model ( ) const
inline

Definition at line 79 of file seq2seq_for_lemmatization.h.

◆ load() [1/2]

void deeplima::lemmatization::train::Seq2SeqLemmatizerImpl::load ( const std::string &  fn)
inline

Definition at line 74 of file seq2seq_for_lemmatization.h.

◆ load() [2/2]

void deeplima::lemmatization::train::Seq2SeqLemmatizerImpl::load ( torch::serialize::InputArchive &  archive)
virtual

Reimplemented from deeplima::nets::BiRnnSeq2SeqImpl.

Definition at line 139 of file seq2seq_for_lemmatization.cpp.

◆ save()

void deeplima::lemmatization::train::Seq2SeqLemmatizerImpl::save ( torch::serialize::OutputArchive &  archive) const
virtual

Reimplemented from deeplima::nets::BiRnnSeq2SeqImpl.

Definition at line 151 of file seq2seq_for_lemmatization.cpp.

◆ train()

void deeplima::lemmatization::train::Seq2SeqLemmatizerImpl::train ( const train_params_lemmatization_t &  params,
const std::vector< TorchMatrix< int64_t > > &  train_input,
const std::vector< std::vector< TorchMatrix< int64_t > > > &  train_input_cat,
const std::vector< TorchMatrix< int64_t > > &  train_gold,
const std::vector< TorchMatrix< int64_t > > &  eval_input,
const std::vector< std::vector< TorchMatrix< int64_t > > > &  eval_input_cat,
const std::vector< TorchMatrix< int64_t > > &  eval_gold,
torch::optim::Optimizer &  opt,
const torch::Device &  device = torch::Device(torch::kCPU) 
)

Definition at line 25 of file seq2seq_for_lemmatization.cpp.

◆ train_on_subset()

nets::epoch_stat_t deeplima::lemmatization::train::Seq2SeqLemmatizerImpl::train_on_subset ( const train_params_lemmatization_t &  params,
const TorchMatrix< int64_t > &  train_input,
const std::vector< TorchMatrix< int64_t > > &  train_input_cat,
const TorchMatrix< int64_t > &  train_gold,
torch::optim::Optimizer &  opt,
const torch::Device &  device = torch::Device(torch::kCPU) 
)

Definition at line 85 of file seq2seq_for_lemmatization.cpp.

Member Data Documentation

◆ m_fixed_upos

std::string deeplima::lemmatization::train::Seq2SeqLemmatizerImpl::m_fixed_upos
protected

Definition at line 92 of file seq2seq_for_lemmatization.h.

◆ m_morph_model

morph_model::morph_model_t deeplima::lemmatization::train::Seq2SeqLemmatizerImpl::m_morph_model
protected

Definition at line 91 of file seq2seq_for_lemmatization.h.


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