Class SacreBleuValidator

Inheritance Relationships

Base Type

Class Documentation

class SacreBleuValidator : public marian::Validator<data::Corpus, models::IModel>

Public Functions

SacreBleuValidator(std::vector<Ptr<Vocab>> vocabs, Ptr<Options> options, const std::string &metric)
virtual ~SacreBleuValidator()
float validate(const std::vector<Ptr<ExpressionGraph>> &graphs, Ptr<const TrainingState> state)
std::string type()

Protected Functions

std::vector<std::string> decode(const Words &words, bool addEOS = false)
template<typename T>
void updateStats(std::vector<float> &stats, const std::vector<T> &cand, const std::vector<T> &ref)
void updateStats(std::vector<float> &stats, const Words &cand, const Ptr<data::Batch> batch, size_t no)
float calcBLEU(const std::vector<float> &stats)
float calcChrF(const std::vector<float> &stats)
virtual float validateBG(const std::vector<Ptr<ExpressionGraph>>&)

Protected Static Functions

static std::string tokenize(const std::string &text)
static std::string tokenizeContinuousScript(const std::string &sUTF8)
static std::vector<std::string> splitIntoUnicodeChars(const std::string &sUTF8, bool removeWhiteSpace = true)