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