vendor/fastText/src/args.h in fasttext-0.1.2 vs vendor/fastText/src/args.h in fasttext-0.1.3

- old
+ new

@@ -9,22 +9,32 @@ #pragma once #include <istream> #include <ostream> #include <string> +#include <unordered_set> #include <vector> namespace fasttext { enum class model_name : int { cbow = 1, sg, sup }; enum class loss_name : int { hs = 1, ns, softmax, ova }; +enum class metric_name : int { + f1score = 1, + f1scoreLabel, + precisionAtRecall, + precisionAtRecallLabel, + recallAtPrecision, + recallAtPrecisionLabel +}; class Args { protected: - std::string lossToString(loss_name) const; std::string boolToString(bool) const; std::string modelToString(model_name) const; + std::string metricToString(metric_name) const; + std::unordered_set<std::string> manualArgs_; public: Args(); std::string input; std::string output; @@ -46,23 +56,41 @@ double t; std::string label; int verbose; std::string pretrainedVectors; bool saveOutput; + int seed; bool qout; bool retrain; bool qnorm; size_t cutoff; size_t dsub; + std::string autotuneValidationFile; + std::string autotuneMetric; + int autotunePredictions; + int autotuneDuration; + std::string autotuneModelSize; + void parseArgs(const std::vector<std::string>& args); void printHelp(); void printBasicHelp(); void printDictionaryHelp(); void printTrainingHelp(); + void printAutotuneHelp(); void printQuantizationHelp(); void save(std::ostream&); void load(std::istream&); void dump(std::ostream&) const; + bool hasAutotune() const; + bool isManual(const std::string& argName) const; + void setManual(const std::string& argName); + std::string lossToString(loss_name) const; + metric_name getAutotuneMetric() const; + std::string getAutotuneMetricLabel() const; + double getAutotuneMetricValue() const; + int64_t getAutotuneModelSize() const; + + static constexpr double kUnlimitedModelSize = -1.0; }; } // namespace fasttext