bool client_lib_t::add_cost( const cost_t& cost ) const { ok_t ok_res; add_cost_t add_cost( cost.cat, cost.value, cost.desc, cost.type ); if ( !execute_command( add_cost, ok_res ) ) { return false; } return true; }
Ptr<ModelBase> EncoderClassifierFactory::construct(Ptr<ExpressionGraph> graph) { Ptr<EncoderClassifier> enccls; if(options_->get<std::string>("type") == "bert") { enccls = New<BertEncoderClassifier>(options_); } else if(options_->get<std::string>("type") == "bert-classifier") { enccls = New<BertEncoderClassifier>(options_); } else { enccls = New<EncoderClassifier>(options_); } for(auto& ef : encoders_) enccls->push_back(ef(options_).construct(graph)); for(auto& cf : classifiers_) enccls->push_back(cf(options_).construct(graph)); return add_cost(enccls, options_); }
Ptr<ModelBase> EncoderDecoderFactory::construct(Ptr<ExpressionGraph> graph) { Ptr<EncoderDecoder> encdec; if(options_->get<std::string>("type") == "amun") encdec = New<Amun>(options_); if(options_->get<std::string>("type") == "nematus") encdec = New<Nematus>(options_); if(!encdec) encdec = New<EncoderDecoder>(options_); for(auto& ef : encoders_) encdec->push_back(ef(options_).construct(graph)); for(auto& df : decoders_) encdec->push_back(df(options_).construct(graph)); return add_cost(encdec, options_); }