Created
September 6, 2012 00:36
-
-
Save syou6162/3648815 to your computer and use it in GitHub Desktop.
cliの使い方のメモ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(require '[clojure.tools.cli :as cli]) | |
(defn- get-cli-opts [args] | |
(cli/cli args | |
["--file" "File name of training" :default "./filtered_docs/all.json"] | |
["--alpha" "Hyperparameter for domain dependent/independant prior" | |
:default 1.0 :parse-fn #(Double. %)] | |
["--beta" "Hyperparameter for word prior" | |
:default 0.01 :parse-fn #(Double. %)] | |
["--gamma" "Hyperparameter for sentiment prior" | |
:default 1.0 :parse-fn #(Double. %)] | |
["--eta" "Hyperparameter for document polarity prior" | |
:default 1.5 :parse-fn #(Double. %)] | |
["--sources" "Source domains" | |
:default #{4, 6, 9} :parse-fn split-domains] | |
["--targets" "Target domains" | |
:default #{5} :parse-fn split-domains] | |
["--D" "Number of documents" :default 1000000 :parse-fn #(Integer. %)] | |
["--model" "Model to use" :default "proposed"] | |
["--max-iter" "Number of maximum iterations" :default 1000 :parse-fn #(Integer. %)] | |
["--task-id" "task id for gxp" :default 0] | |
["--result-dir" "Directory to the output learned result" :default "./results"])) | |
(defn -main [& args] | |
(let [[options args banner] (get-cli-opts args)] | |
(with-redefs [inference (->> (str "PivotGenerativeModel." (:model options) ".sampler/inference") | |
(symbol) | |
(resolve))] | |
(with-open [w (java.io.FileWriter. | |
(str (:result-dir options) "/" (:task-id options) ".json"))] | |
(.write w | |
(json/json-str | |
(run-experiment | |
(get-common-doc (:file options) (:D options)) | |
(:sources options) | |
(:targets options) | |
(select-keys options [:alpha :beta :gamma :eta :max-iter]))))))) | |
nil) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment