ソースを参照

Make args dump function const / removed code in fasttext.cc

Summary: Make args dump function const / removed code in fasttext.cc

Reviewed By: EdouardGrave

Differential Revision: D6619928

fbshipit-source-id: 99152caa6f5799248bfcc6ae39a6ede29963765a
Changhan Wang 8 年 前
コミット
bb2ea082d3
5 ファイル変更20 行追加41 行削除
  1. 4 4
      src/args.cc
  2. 4 4
      src/args.h
  3. 0 24
      src/fasttext.cc
  4. 0 5
      src/fasttext.h
  5. 12 4
      src/main.cc

+ 4 - 4
src/args.cc

@@ -45,7 +45,7 @@ Args::Args() {
   dsub = 2;
 }
 
-std::string Args::lossToString(loss_name ln) {
+std::string Args::lossToString(loss_name ln) const {
   switch (ln) {
     case loss_name::hs:
       return "hs";
@@ -57,7 +57,7 @@ std::string Args::lossToString(loss_name ln) {
   return "Unknown loss!"; // should never happen
 }
 
-std::string Args::boolToString(bool b) {
+std::string Args::boolToString(bool b) const {
   if (b) {
     return "true";
   } else {
@@ -65,7 +65,7 @@ std::string Args::boolToString(bool b) {
   }
 }
 
-std::string Args::modelToString(model_name mn) {
+std::string Args::modelToString(model_name mn) const {
   switch (mn) {
     case model_name::cbow:
       return "cbow";
@@ -274,7 +274,7 @@ void Args::load(std::istream& in) {
   in.read((char*) &(t), sizeof(double));
 }
 
-void Args::dump(std::ostream& out) {
+void Args::dump(std::ostream& out) const {
   out << "dim" << " " << dim << std::endl;
   out << "ws" << " " << ws << std::endl;
   out << "epoch" << " " << epoch << std::endl;

+ 4 - 4
src/args.h

@@ -21,9 +21,9 @@ enum class loss_name : int { hs = 1, ns, softmax };
 
 class Args {
   protected:
-    std::string lossToString(loss_name);
-    std::string boolToString(bool);
-    std::string modelToString(model_name);
+    std::string lossToString(loss_name) const;
+    std::string boolToString(bool) const;
+    std::string modelToString(model_name) const;
 
   public:
     Args();
@@ -64,6 +64,6 @@ class Args {
     void printQuantizationHelp();
     void save(std::ostream&);
     void load(std::istream&);
-    void dump(std::ostream&);
+    void dump(std::ostream&) const;
 };
 }

+ 0 - 24
src/fasttext.cc

@@ -710,28 +710,4 @@ bool FastText::isQuant() const {
   return quant_;
 }
 
-void FastText::dumpArgs() const {
-  args_->dump(std::cout);
-}
-
-void FastText::dumpDict() const {
-  dict_->dump(std::cout);
-}
-
-void FastText::dumpInput() const {
-  if (quant_) {
-    std::cerr << "Not supported for quantized models." << std::endl;
-  } else {
-    input_->dump(std::cout);
-  }
-}
-
-void FastText::dumpOutput() const {
-  if (quant_) {
-    std::cerr << "Not supported for quantized models." << std::endl;
-  } else {
-    output_->dump(std::cout);
-  }
-}
-
 }

+ 0 - 5
src/fasttext.h

@@ -111,10 +111,5 @@ class FastText {
   void loadVectors(std::string);
   int getDimension() const;
   bool isQuant() const;
-
-  void dumpArgs() const;
-  void dumpDict() const;
-  void dumpInput() const;
-  void dumpOutput() const;
 };
 }

+ 12 - 4
src/main.cc

@@ -283,13 +283,21 @@ void dump(const std::vector<std::string>& args) {
   FastText fasttext;
   fasttext.loadModel(modelPath);
   if (option == "args") {
-    fasttext.dumpArgs();
+    fasttext.getArgs().dump(std::cout);
   } else if (option == "dict") {
-    fasttext.dumpDict();
+    fasttext.getDictionary()->dump(std::cout);
   } else if (option == "input") {
-    fasttext.dumpInput();
+    if (fasttext.isQuant()) {
+      std::cerr << "Not supported for quantized models." << std::endl;
+    } else {
+      fasttext.getInputMatrix()->dump(std::cout);
+    }
   } else if (option == "output") {
-    fasttext.dumpOutput();
+    if (fasttext.isQuant()) {
+      std::cerr << "Not supported for quantized models." << std::endl;
+    } else {
+      fasttext.getOutputMatrix()->dump(std::cout);
+    }
   } else {
     printDumpUsage();
     exit(EXIT_FAILURE);