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

#include </home/runner/work/lima/lima/deeplima/libs/tasks/graph_dp/model/birnn_and_deep_biaffine_attention.h>

Inheritance diagram for deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl:
deeplima::nets::BiRnnClassifierImpl deeplima::nets::StaticGraphImpl

Public Types

typedef torch::Tensor tensor_t
 
typedef DictsHolder dicts_holder_t
 

Public Member Functions

 BiRnnAndDeepBiaffineAttentionImpl ()
 
 BiRnnAndDeepBiaffineAttentionImpl (DictsHolder &&dicts, const std::vector< nets::embd_descr_t > &embd_descr, const std::vector< nets::rnn_descr_t > &rnn_descr, const std::vector< nets::deep_biaffine_attention_descr_t > &decoder_descr, const std::vector< std::string > &output_names, DictsHolder &&classes, const std::string &embd_fn, bool input_includes_root, int64_t num_labels=0, const std::vector< std::string > &rel_class_names={})
 
virtual void load (torch::serialize::InputArchive &archive)
 
virtual void save (torch::serialize::OutputArchive &archive) const
 
void load (const std::string &fn)
 
size_t init_new_worker (size_t)
 
void train (const train_params_graph_dp_t &params, const std::vector< std::string > &output_names, const IterableDataSet &train_batches, const IterableDataSet &eval_batches, torch::optim::Optimizer &opt, double &best_eval_accuracy, const torch::Device &device=torch::Device(torch::kCPU))
 
void evaluate (const std::vector< std::string > &output_names, std::shared_ptr< BatchIterator > dataset_iterator, nets::epoch_stat_t &stat, 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))
 
const DictsHolder & get_classes () const
 
const std::vector< std::string > & get_output_class_names () const
 
const std::vector< std::string > & get_input_class_names () const
 
const std::vector< std::string > & get_rel_class_names () const
 
const std::string & get_embd_fn (size_t idx) const
 
- 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 Member Functions

void train_epoch (size_t batch_size, size_t seq_len, const std::vector< std::string > &output_names, std::shared_ptr< BatchIterator > train_iterator, torch::optim::Optimizer &opt, nets::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 &trainable_input, const torch::Tensor &nontrainable_input, const torch::Tensor &gold, torch::optim::Optimizer &opt, nets::epoch_stat_t &stat, const torch::Device &device)
 
void evaluate (const std::vector< std::string > &output_names, const torch::Tensor &trainable_input, const torch::Tensor &nontrainable_input, const torch::Tensor &gold, nets::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

static std::string generate_script (const std::vector< nets::embd_descr_t > &embd_descr, const std::vector< nets::rnn_descr_t > &rnn_descr, const std::vector< nets::deep_biaffine_attention_descr_t > &decoder_descr, const std::vector< std::string > &output_names, bool input_includes_root=false, int64_t num_labels=0)
 
- 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)
 

Protected Attributes

size_t m_workers
 
int64_t m_num_labels = 0
 
std::vector< std::string > m_rel_class_names
 
std::vector< std::string > m_input_class_names
 
DictsHolder m_input_classes
 
std::vector< std::string > m_output_class_names
 
DictsHolder m_output_classes
 
std::string m_embd_fn
 
- 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
 

Detailed Description

Definition at line 21 of file birnn_and_deep_biaffine_attention.h.

Member Typedef Documentation

◆ dicts_holder_t

◆ tensor_t

Constructor & Destructor Documentation

◆ BiRnnAndDeepBiaffineAttentionImpl() [1/2]

deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::BiRnnAndDeepBiaffineAttentionImpl ( )
inline

Definition at line 27 of file birnn_and_deep_biaffine_attention.h.

◆ BiRnnAndDeepBiaffineAttentionImpl() [2/2]

deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::BiRnnAndDeepBiaffineAttentionImpl ( DictsHolder &&  dicts,
const std::vector< nets::embd_descr_t > &  embd_descr,
const std::vector< nets::rnn_descr_t > &  rnn_descr,
const std::vector< nets::deep_biaffine_attention_descr_t > &  decoder_descr,
const std::vector< std::string > &  output_names,
DictsHolder &&  classes,
const std::string &  embd_fn,
bool  input_includes_root,
int64_t  num_labels = 0,
const std::vector< std::string > &  rel_class_names = {} 
)
inline

Definition at line 32 of file birnn_and_deep_biaffine_attention.h.

Member Function Documentation

◆ evaluate() [1/2]

void deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::evaluate ( const std::vector< std::string > &  output_names,
const torch::Tensor &  trainable_input,
const torch::Tensor &  nontrainable_input,
const torch::Tensor &  gold,
nets::epoch_stat_t &  stat,
const torch::Device &  device 
)
protected

Definition at line 475 of file birnn_and_deep_biaffine_attention.cpp.

◆ evaluate() [2/2]

void deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::evaluate ( const std::vector< std::string > &  output_names,
std::shared_ptr< BatchIterator >  dataset_iterator,
nets::epoch_stat_t &  stat,
const torch::Device &  device = torch::Device(torch::kCPU) 
)

Definition at line 440 of file birnn_and_deep_biaffine_attention.cpp.

◆ generate_script()

string deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::generate_script ( const std::vector< nets::embd_descr_t > &  embd_descr,
const std::vector< nets::rnn_descr_t > &  rnn_descr,
const std::vector< nets::deep_biaffine_attention_descr_t > &  decoder_descr,
const std::vector< std::string > &  output_names,
bool  input_includes_root = false,
int64_t  num_labels = 0 
)
staticprotected

◆ get_classes()

const DictsHolder & deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::get_classes ( ) const
inline

Definition at line 96 of file birnn_and_deep_biaffine_attention.h.

◆ get_embd_fn()

const std::string & deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::get_embd_fn ( size_t  idx) const
inline

Definition at line 117 of file birnn_and_deep_biaffine_attention.h.

◆ get_input_class_names()

const std::vector< std::string > & deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::get_input_class_names ( ) const
inline

Definition at line 106 of file birnn_and_deep_biaffine_attention.h.

◆ get_output_class_names()

const std::vector< std::string > & deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::get_output_class_names ( ) const
inline

Definition at line 101 of file birnn_and_deep_biaffine_attention.h.

◆ get_rel_class_names()

const std::vector< std::string > & deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::get_rel_class_names ( ) const
inline

Definition at line 112 of file birnn_and_deep_biaffine_attention.h.

◆ init_new_worker()

size_t deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::init_new_worker ( size_t  )
inline

Definition at line 68 of file birnn_and_deep_biaffine_attention.h.

◆ load() [1/2]

void deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::load ( const std::string &  fn)
inline

Definition at line 63 of file birnn_and_deep_biaffine_attention.h.

◆ load() [2/2]

virtual void deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::load ( torch::serialize::InputArchive &  archive)
virtual

◆ predict()

void deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::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) 
)

Definition at line 538 of file birnn_and_deep_biaffine_attention.cpp.

◆ save()

void deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::save ( torch::serialize::OutputArchive &  archive) const
virtual

Reimplemented from deeplima::nets::BiRnnClassifierImpl.

Definition at line 161 of file birnn_and_deep_biaffine_attention.cpp.

◆ train()

void deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::train ( const train_params_graph_dp_t &  params,
const std::vector< std::string > &  output_names,
const IterableDataSet &  train_batches,
const IterableDataSet &  eval_batches,
torch::optim::Optimizer &  opt,
double &  best_eval_accuracy,
const torch::Device &  device = torch::Device(torch::kCPU) 
)

Definition at line 217 of file birnn_and_deep_biaffine_attention.cpp.

◆ train_batch()

void deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::train_batch ( size_t  batch_size,
size_t  seq_len,
const std::vector< std::string > &  output_names,
const torch::Tensor &  trainable_input,
const torch::Tensor &  nontrainable_input,
const torch::Tensor &  gold,
torch::optim::Optimizer &  opt,
nets::epoch_stat_t &  stat,
const torch::Device &  device 
)
protected

Definition at line 370 of file birnn_and_deep_biaffine_attention.cpp.

◆ train_epoch()

void deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::train_epoch ( size_t  batch_size,
size_t  seq_len,
const std::vector< std::string > &  output_names,
std::shared_ptr< BatchIterator >  train_iterator,
torch::optim::Optimizer &  opt,
nets::epoch_stat_t &  stat,
const torch::Device &  device 
)
protected

Definition at line 339 of file birnn_and_deep_biaffine_attention.cpp.

Member Data Documentation

◆ m_embd_fn

std::string deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::m_embd_fn
protected

Definition at line 164 of file birnn_and_deep_biaffine_attention.h.

◆ m_input_class_names

std::vector<std::string> deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::m_input_class_names
protected

Definition at line 160 of file birnn_and_deep_biaffine_attention.h.

◆ m_input_classes

DictsHolder deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::m_input_classes
protected

Definition at line 161 of file birnn_and_deep_biaffine_attention.h.

◆ m_num_labels

int64_t deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::m_num_labels = 0
protected

Definition at line 158 of file birnn_and_deep_biaffine_attention.h.

◆ m_output_class_names

std::vector<std::string> deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::m_output_class_names
protected

Definition at line 162 of file birnn_and_deep_biaffine_attention.h.

◆ m_output_classes

DictsHolder deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::m_output_classes
protected

Definition at line 163 of file birnn_and_deep_biaffine_attention.h.

◆ m_rel_class_names

std::vector<std::string> deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::m_rel_class_names
protected

Definition at line 159 of file birnn_and_deep_biaffine_attention.h.

◆ m_workers

size_t deeplima::graph_dp::train::BiRnnAndDeepBiaffineAttentionImpl::m_workers
protected

Definition at line 157 of file birnn_and_deep_biaffine_attention.h.


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