This is an automated email from the ASF dual-hosted git repository. cmeier pushed a commit to branch revert-14800-arthur/clojure-ndarray-api-random-merged in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git
commit 95d624d5d7badd7d3450c6cfc1f8398eb83c723f Author: Carin Meier <[email protected]> AuthorDate: Fri Apr 26 13:32:09 2019 -0400 Revert "[clojure][generator] ndarray/symbol api random merged (#14800)" This reverts commit 5dd9fa27d8bdd2a8677b7c275a494d17082c0e1c. --- contrib/clojure-package/src/dev/generator.clj | 298 +++++++-------------- .../src/org/apache/clojure_mxnet/ndarray_api.clj | 8 +- .../apache/clojure_mxnet/ndarray_random_api.clj | 28 -- .../org/apache/clojure_mxnet/symbol_random_api.clj | 32 --- .../clojure-package/test/dev/generator_test.clj | 47 +--- .../test/good-test-ndarray-random-api.clj | 95 ------- .../test/good-test-symbol-random-api.clj | 118 -------- .../test/test-ndarray-random-api.clj | 95 ------- .../test/test-symbol-random-api.clj | 118 -------- 9 files changed, 108 insertions(+), 731 deletions(-) diff --git a/contrib/clojure-package/src/dev/generator.clj b/contrib/clojure-package/src/dev/generator.clj index d1f59dc..864c67f 100644 --- a/contrib/clojure-package/src/dev/generator.clj +++ b/contrib/clojure-package/src/dev/generator.clj @@ -29,7 +29,6 @@ (defn clojure-case - "Transforms a scala string (function name) to clojure case" [string] (-> string (clojure.string/replace #"(\s+)([A-Z][a-z]+)" "$1-$2") @@ -58,9 +57,10 @@ count pos?)) + (defn increment-param-name [pname] (if-let [num-str (re-find #"-\d" pname)] - (str + (str (first (clojure.string/split pname #"-")) "-" (inc (Integer/parseInt (last (clojure.string/split num-str #"-"))))) @@ -130,33 +130,15 @@ (.write w fstr)) (.write w "\n")))) -(defn remove-prefix - [prefix s] - (let [regex (re-pattern (str prefix "(.*)")) - replacement "$1"] - (clojure.string/replace s regex replacement))) - -(defn in-namespace-random? [op-name] - (or (clojure.string/includes? op-name "random_") - (clojure.string/includes? op-name "sample_"))) - -(defn op-name->namespace-type [op-name] - (cond - (#{"uniform" "normal"} op-name) :deprecated - (clojure.string/includes? op-name "random_") :random - (clojure.string/includes? op-name "sample_") :random - :else :core)) - ;;;;;;; Common operations (def libinfo (Base/_LIB)) - (def op-names (let [l ($ ListBuffer/empty)] - (.mxListAllOpNames libinfo l) - (->> l - (util/buffer->vec) - (remove #(or (= "Custom" %) (re-matches #"^_.*" %)))))) + (do (.mxListAllOpNames libinfo l) + (remove #(or (= "Custom" %) + (re-matches #"^_.*" %)) + (util/buffer->vec l))))) (defn- parse-arg-type [s] (let [[_ var-arg-type _ set-arg-type arg-spec _ type-req _ default-val] (re-find #"(([\w-\[\]\s]+)|\{([^}]+)\})\s*(\([^)]+\))?(,\s*(optional|required)(,\s*default=(.*))?)?" s)] @@ -306,6 +288,8 @@ `(~'defn ~function-name ~@(remove nil? (gen-symbol-function-arity op-name op-values function-name)))))) + + (def symbol-gen-ns "(ns org.apache.clojure-mxnet.symbol (:refer-clojure :exclude [* - + > >= < <= / cast concat identity flatten load max min repeat reverse set sort take to-array empty sin @@ -316,9 +300,7 @@ (defn generate-symbol-file [] (println "Generating symbol file") - (write-to-file all-symbol-functions - symbol-gen-ns - "src/org/apache/clojure_mxnet/gen/symbol.clj")) + (write-to-file all-symbol-functions symbol-gen-ns "src/org/apache/clojure_mxnet/gen/symbol.clj")) ;;;;;;; NDArray @@ -340,17 +322,21 @@ count pos?)) + (def ndarray-public-to-hand-gen (filter is-ndarray-hand-gen? ndarray-public-no-default)) (def ndarray-public-to-gen (get-public-to-gen-methods ndarray-public-to-hand-gen ndarray-public-no-default)) + (count ndarray-public-to-hand-gen) ;=> 15 (count ndarray-public-to-gen) ;=> 486 (->> ndarray-public-to-hand-gen (map :name) (into #{})) + + (defn gen-ndarray-function-arity [op-name op-values] (for [[param-count info] op-values] (let [targets (->> (mapv :parameter-types info) @@ -394,8 +380,7 @@ (def all-ndarray-functions (gen-ndarray-functions ndarray-public-to-gen)) -(def ndarray-gen-ns - "(ns org.apache.clojure-mxnet.ndarray +(def ndarray-gen-ns "(ns org.apache.clojure-mxnet.ndarray (:refer-clojure :exclude [* - + > >= < <= / cast concat flatten identity load max min repeat reverse set sort take to-array empty shuffle ref]) @@ -410,17 +395,6 @@ ;;;;;;; SymbolAPI -(defn fn-name->random-fn-name - [fn-name] - (cond - (clojure.string/starts-with? fn-name "-random-") - (remove-prefix "-random-" fn-name) - - (clojure.string/starts-with? fn-name "-sample-") - (str (remove-prefix "-sample-" fn-name) "-like") - - :else fn-name)) - (defn symbol-api-coerce-param [{:keys [name sym type optional?]}] (let [coerced-param (case type @@ -461,80 +435,47 @@ (~(symbol (str "SymbolAPI/" op-name)) ~@coerced-params))))) -(defn symbol-api-gen-ns - [random-namespace?] - (str - "(ns\n" - " ^{:doc \"Experimental\"}\n" - (if random-namespace? - " org.apache.clojure-mxnet.symbol-random-api\n" - " org.apache.clojure-mxnet.symbol-api\n") - " (:refer-clojure :exclude [* - + > >= < <= / cast concat identity flatten load max\n" - " min repeat reverse set sort take to-array empty sin\n" - " get apply shuffle ref])\n" - " (:require [org.apache.clojure-mxnet.util :as util]\n" - " [org.apache.clojure-mxnet.shape :as mx-shape])\n" - " (:import (org.apache.mxnet SymbolAPI)))")) - -(defn make-gen-symbol-api-function - [{:keys [fn-name->fn-name] :or {fn-name->fn-name identity}}] - (fn [op-name] - (let [{:keys [fn-name fn-description args]} - (-> op-name (gen-op-info) (update :fn-name fn-name->fn-name)) - params (mapv (fn [{:keys [name type optional?] :as opts}] - (assoc opts - :sym (symbol name) - :optional? (or optional? - (= "NDArray-or-Symbol" type)))) - (conj args - {:name "name" - :type "String" - :optional? true - :description "Name of the symbol"} - {:name "attr" - :type "Map[String, String]" - :optional? true - :description "Attributes of the symbol"})) - doc (clojure.string/join - "\n\n " - (-> (gen-symbol-api-doc fn-description params) - (clojure.string/split #"\n"))) - default-call (gen-symbol-api-default-arity op-name params)] - `(~'defn ~(symbol fn-name) - ~doc - ~@default-call)))) - -(def gen-symbol-api-function - (make-gen-symbol-api-function {})) - -(def gen-symbol-random-api-function - (make-gen-symbol-api-function {:fn-name->fn-name fn-name->random-fn-name})) - -(defn all-symbol-api-functions [op-names] - (->> op-names - (filter #(= :core (op-name->namespace-type %))) - (mapv gen-symbol-api-function))) - -(count (all-symbol-api-functions op-names)) ;215 - -(defn all-symbol-random-api-functions [op-names] - (->> op-names - (filter #(= :random (op-name->namespace-type %))) - (mapv gen-symbol-random-api-function))) - -(count (all-symbol-random-api-functions op-names)) ;16 +(defn gen-symbol-api-function [op-name] + (let [{:keys [fn-name fn-description args]} (gen-op-info op-name) + params (mapv (fn [{:keys [name type optional?] :as opts}] + (assoc opts + :sym (symbol name) + :optional? (or optional? + (= "NDArray-or-Symbol" type)))) + (conj args + {:name "name" + :type "String" + :optional? true + :description "Name of the symbol"} + {:name "attr" + :type "Map[String, String]" + :optional? true + :description "Attributes of the symbol"})) + doc (clojure.string/join + "\n\n " + (-> (gen-symbol-api-doc fn-description params) + (clojure.string/split #"\n"))) + default-call (gen-symbol-api-default-arity op-name params)] + `(~'defn ~(symbol fn-name) + ~doc + ~@default-call))) + +(def all-symbol-api-functions + (mapv gen-symbol-api-function op-names)) + +(def symbol-api-gen-ns "(ns + ^{:doc \"Experimental\"} + org.apache.clojure-mxnet.symbol-api + (:refer-clojure :exclude [* - + > >= < <= / cast concat identity flatten load max + min repeat reverse set sort take to-array empty sin + get apply shuffle ref]) + (:require [org.apache.clojure-mxnet.util :as util] + [org.apache.clojure-mxnet.shape :as mx-shape]) + (:import (org.apache.mxnet SymbolAPI)))") -(defn generate-symbol-api-file [op-names] +(defn generate-symbol-api-file [] (println "Generating symbol-api file") - (write-to-file (all-symbol-api-functions op-names) - (symbol-api-gen-ns false) - "src/org/apache/clojure_mxnet/gen/symbol_api.clj")) - -(defn generate-symbol-random-api-file [op-names] - (println "Generating symbol-random-api file") - (write-to-file (all-symbol-random-api-functions op-names) - (symbol-api-gen-ns true) - "src/org/apache/clojure_mxnet/gen/symbol_random_api.clj")) + (write-to-file all-symbol-api-functions symbol-api-gen-ns "src/org/apache/clojure_mxnet/gen/symbol_api.clj")) ;;;;;;; NDArrayAPI @@ -578,94 +519,57 @@ `(~(mapv :sym req-params) (~(symbol fn-name) ~req-args)))) -(defn make-gen-ndarray-api-function - [{:keys [fn-name->fn-name] :or {fn-name->fn-name identity}}] - (fn [op-name] - (let [{:keys [fn-name fn-description args]} - (-> op-name (gen-op-info) (update :fn-name fn-name->fn-name)) - params (mapv (fn [{:keys [name] :as opts}] - (assoc opts :sym (symbol name))) - (conj args {:name "out" - :type "NDArray-or-Symbol" - :optional? true - :description "Output array."})) - doc (clojure.string/join - "\n\n " - (-> (gen-ndarray-api-doc fn-description params) - (clojure.string/split #"\n"))) - opt-params (filter :optional? params) - req-params (remove :optional? params) - req-call (gen-ndarray-api-required-arity fn-name req-params) - default-call (gen-ndarray-api-default-arity op-name params)] - (if (= 1 (count req-params)) - `(~'defn ~(symbol fn-name) - ~doc - ~@default-call) - `(~'defn ~(symbol fn-name) - ~doc - ~req-call - ~default-call))))) - -(def gen-ndarray-api-function - (make-gen-ndarray-api-function {})) - -(def gen-ndarray-random-api-function - (make-gen-ndarray-api-function {:fn-name->fn-name fn-name->random-fn-name})) - -(defn all-ndarray-api-functions [op-names] - (->> op-names - (filter #(= :core (op-name->namespace-type %))) - (mapv gen-ndarray-api-function))) - -(count (all-ndarray-api-functions op-names)) ; 213 - -(defn all-ndarray-random-api-functions [op-names] - (->> op-names - (filter #(= :random (op-name->namespace-type %))) - (mapv gen-ndarray-random-api-function))) - -(count (all-ndarray-random-api-functions op-names)) ;16 - -(defn ndarray-api-gen-ns [random-namespace?] - (str - "(ns\n" - " ^{:doc \"Experimental\"}\n" - (if random-namespace? - " org.apache.clojure-mxnet.ndarray-random-api\n" - " org.apache.clojure-mxnet.ndarray-api\n") - " (:refer-clojure :exclude [* - + > >= < <= / cast concat flatten identity load max\n" - " min repeat reverse set sort take to-array empty shuffle\n" - " ref])\n" - " (:require [org.apache.clojure-mxnet.shape :as mx-shape]\n" - " [org.apache.clojure-mxnet.util :as util])\n" - " (:import (org.apache.mxnet NDArrayAPI)))")) - -(defn generate-ndarray-api-file [op-names] - (println "Generating ndarray-api file") - (write-to-file (all-ndarray-api-functions op-names) - (ndarray-api-gen-ns false) - "src/org/apache/clojure_mxnet/gen/ndarray_api.clj")) +(defn gen-ndarray-api-function [op-name] + (let [{:keys [fn-name fn-description args]} (gen-op-info op-name) + params (mapv (fn [{:keys [name] :as opts}] + (assoc opts :sym (symbol name))) + (conj args {:name "out" + :type "NDArray-or-Symbol" + :optional? true + :description "Output array."})) + doc (clojure.string/join + "\n\n " + (-> (gen-ndarray-api-doc fn-description params) + (clojure.string/split #"\n"))) + opt-params (filter :optional? params) + req-params (remove :optional? params) + req-call (gen-ndarray-api-required-arity fn-name req-params) + default-call (gen-ndarray-api-default-arity op-name params)] + (if (= 1 (count req-params)) + `(~'defn ~(symbol fn-name) + ~doc + ~@default-call) + `(~'defn ~(symbol fn-name) + ~doc + ~req-call + ~default-call)))) + +(def all-ndarray-api-functions + (mapv gen-ndarray-api-function op-names)) + +(def ndarray-api-gen-ns "(ns + ^{:doc \"Experimental\"} + org.apache.clojure-mxnet.ndarray-api + (:refer-clojure :exclude [* - + > >= < <= / cast concat flatten identity load max + min repeat reverse set sort take to-array empty shuffle + ref]) + (:require [org.apache.clojure-mxnet.shape :as mx-shape] + [org.apache.clojure-mxnet.util :as util]) + (:import (org.apache.mxnet NDArrayAPI)))") -(defn generate-ndarray-random-api-file [op-names] - (println "Generating ndarray-random-api file") - (write-to-file (all-ndarray-random-api-functions op-names) - (ndarray-api-gen-ns true) - "src/org/apache/clojure_mxnet/gen/ndarray_random_api.clj")) +(defn generate-ndarray-api-file [] + (println "Generating ndarray-api file") + (write-to-file all-ndarray-api-functions + ndarray-api-gen-ns + "src/org/apache/clojure_mxnet/gen/ndarray_api.clj")) ;;; autogen the files (do (generate-ndarray-file) - - ;; NDArrayAPI - (generate-ndarray-api-file op-names) - (generate-ndarray-random-api-file op-names) - + (generate-ndarray-api-file) (generate-symbol-file) - - ;; SymbolAPI - (generate-symbol-api-file op-names) - (generate-symbol-random-api-file op-names)) + (generate-symbol-api-file)) (comment @@ -676,14 +580,8 @@ (gen-symbol-api-function "Activation") - (gen-ndarray-random-api-function "random_randint") - - (gen-ndarray-random-api-function "sample_normal") - - (gen-symbol-random-api-function "random_poisson") - ;; This generates a file with the bulk of the nd-array functions (generate-ndarray-file) ;; This generates a file with the bulk of the symbol functions - (generate-symbol-file)) + (generate-symbol-file) ) diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray_api.clj b/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray_api.clj index e222775..70359a6 100644 --- a/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray_api.clj +++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray_api.clj @@ -16,10 +16,10 @@ (ns org.apache.clojure-mxnet.ndarray-api "Experimental NDArray API" - (:refer-clojure - :exclude [* - + > >= < <= / cast concat flatten identity load max - min repeat reverse set sort take to-array empty shuffle - ref]) + (:refer-clojure :exclude [* - + > >= < <= / cast concat flatten identity load max + min repeat reverse set sort take to-array empty shuffle + ref]) + (:require [org.apache.clojure-mxnet.base :as base] [org.apache.clojure-mxnet.context :as mx-context] [org.apache.clojure-mxnet.shape :as mx-shape] diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray_random_api.clj b/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray_random_api.clj deleted file mode 100644 index 1f45b6d..0000000 --- a/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray_random_api.clj +++ /dev/null @@ -1,28 +0,0 @@ -;; Licensed to the Apache Software Foundation (ASF) under one or more -;; contributor license agreements. See the NOTICE file distributed with -;; this work for additional information regarding copyright ownership. -;; The ASF licenses this file to You under the Apache License, Version 2.0 -;; (the "License"); you may not use this file except in compliance with -;; the License. You may obtain a copy of the License at -;; -;; http://www.apache.org/licenses/LICENSE-2.0 -;; -;; Unless required by applicable law or agreed to in writing, software -;; distributed under the License is distributed on an "AS IS" BASIS, -;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -;; See the License for the specific language governing permissions and -;; limitations under the License. -;; - -(ns org.apache.clojure-mxnet.ndarray-random-api - "Experimental NDArray Random API" - (:require [org.apache.clojure-mxnet.base :as base] - [org.apache.clojure-mxnet.context :as mx-context] - [org.apache.clojure-mxnet.shape :as mx-shape] - [org.apache.clojure-mxnet.util :as util] - [clojure.reflect :as r] - [t6.from-scala.core :refer [$] :as $]) - (:import (org.apache.mxnet NDArrayAPI))) - -;; loads the generated functions into the namespace -(do (clojure.core/load "gen/ndarray_random_api")) diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/symbol_random_api.clj b/contrib/clojure-package/src/org/apache/clojure_mxnet/symbol_random_api.clj deleted file mode 100644 index 76f6fde..0000000 --- a/contrib/clojure-package/src/org/apache/clojure_mxnet/symbol_random_api.clj +++ /dev/null @@ -1,32 +0,0 @@ -;; Licensed to the Apache Software Foundation (ASF) under one or more -;; contributor license agreements. See the NOTICE file distributed with -;; this work for additional information regarding copyright ownership. -;; The ASF licenses this file to You under the Apache License, Version 2.0 -;; (the "License"); you may not use this file except in compliance with -;; the License. You may obtain a copy of the License at -;; -;; http://www.apache.org/licenses/LICENSE-2.0 -;; -;; Unless required by applicable law or agreed to in writing, software -;; distributed under the License is distributed on an "AS IS" BASIS, -;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -;; See the License for the specific language governing permissions and -;; limitations under the License. -;; - -(ns org.apache.clojure-mxnet.symbol-random-api - "Experimental Symbol Random API" - (:refer-clojure :exclude [* - + > >= < <= / cast concat identity flatten load max - min repeat reverse set sort take to-array empty sin - get apply shuffle ref]) - (:require [org.apache.clojure-mxnet.base :as base] - [org.apache.clojure-mxnet.context :as mx-context] - [org.apache.clojure-mxnet.executor :as ex] - [org.apache.clojure-mxnet.shape :as mx-shape] - [org.apache.clojure-mxnet.util :as util] - [t6.from-scala.core :refer [$] :as $] - [org.apache.clojure-mxnet.ndarray :as ndarray]) - (:import (org.apache.mxnet SymbolAPI))) - -;; loads the generated functions into the namespace -(do (clojure.core/load "gen/symbol_random_api")) diff --git a/contrib/clojure-package/test/dev/generator_test.clj b/contrib/clojure-package/test/dev/generator_test.clj index acc81af..cf28241 100644 --- a/contrib/clojure-package/test/dev/generator_test.clj +++ b/contrib/clojure-package/test/dev/generator_test.clj @@ -27,20 +27,6 @@ (is (= "foo-bar" (gen/clojure-case "Foo_Bar"))) (is (= "div+" (gen/clojure-case "/+")))) -(deftest fn-name->random-fn-name - (is (= "poisson" (gen/fn-name->random-fn-name "-random-poisson"))) - (is (= "poisson-like" (gen/fn-name->random-fn-name "-sample-poisson")))) - -(deftest remove-prefix - (is (= "randint" (gen/remove-prefix "-random-" "-random-randint"))) - (is (= "exponential" (gen/remove-prefix "-sample-" "-sample-exponential")))) - -(deftest in-namespace-random? - (is (gen/in-namespace-random? "random_randint")) - (is (gen/in-namespace-random? "sample_poisson")) - (is (not (gen/in-namespace-random? "rnn"))) - (is (not (gen/in-namespace-random? "activation")))) - (defn ndarray-reflect-info [name] (->> gen/ndarray-public-no-default (filter #(= name (str (:name %)))) @@ -331,25 +317,14 @@ (deftest test-write-to-file (testing "symbol-api" (let [fname "test/test-symbol-api.clj" - fns (gen/all-symbol-api-functions gen/op-names) - _ (gen/write-to-file [(first fns) (second fns)] - (gen/symbol-api-gen-ns false) + _ (gen/write-to-file [(first gen/all-symbol-api-functions) + (second gen/all-symbol-api-functions)] + gen/symbol-api-gen-ns fname) good-contents (slurp "test/good-test-symbol-api.clj") contents (slurp fname)] (is (= good-contents contents)))) - (testing "symbol-random-api" - (let [fname "test/test-symbol-random-api.clj" - fns (gen/all-symbol-random-api-functions gen/op-names) - _ (gen/write-to-file [(first fns) (second fns)] - (gen/symbol-api-gen-ns true) - fname) - good-contents (slurp "test/good-test-symbol-random-api.clj") - contents (slurp fname)] - (is (= good-contents contents)))) - - (testing "symbol" (let [fname "test/test-symbol.clj" _ (gen/write-to-file [(first gen/all-symbol-functions)] @@ -361,24 +336,14 @@ (testing "ndarray-api" (let [fname "test/test-ndarray-api.clj" - fns (gen/all-ndarray-api-functions gen/op-names) - _ (gen/write-to-file [(first fns) (second fns)] - (gen/ndarray-api-gen-ns false) + _ (gen/write-to-file [(first gen/all-ndarray-api-functions) + (second gen/all-ndarray-api-functions)] + gen/ndarray-api-gen-ns fname) good-contents (slurp "test/good-test-ndarray-api.clj") contents (slurp fname)] (is (= good-contents contents)))) - (testing "ndarray-random-api" - (let [fname "test/test-ndarray-random-api.clj" - fns (gen/all-ndarray-random-api-functions gen/op-names) - _ (gen/write-to-file [(first fns) (second fns)] - (gen/ndarray-api-gen-ns true) - fname) - good-contents (slurp "test/good-test-ndarray-random-api.clj") - contents (slurp fname)] - (is (= good-contents contents)))) - (testing "ndarray" (let [fname "test/test-ndarray.clj" _ (gen/write-to-file [(first gen/all-ndarray-functions)] diff --git a/contrib/clojure-package/test/good-test-ndarray-random-api.clj b/contrib/clojure-package/test/good-test-ndarray-random-api.clj deleted file mode 100644 index 230e103..0000000 --- a/contrib/clojure-package/test/good-test-ndarray-random-api.clj +++ /dev/null @@ -1,95 +0,0 @@ -(ns - ^{:doc "Experimental"} - org.apache.clojure-mxnet.ndarray-random-api - (:refer-clojure :exclude [* - + > >= < <= / cast concat flatten identity load max - min repeat reverse set sort take to-array empty shuffle - ref]) - (:require [org.apache.clojure-mxnet.shape :as mx-shape] - [org.apache.clojure-mxnet.util :as util]) - (:import (org.apache.mxnet NDArrayAPI))) - -;; Do not edit - this is auto-generated - -;; Licensed to the Apache Software Foundation (ASF) under one or more -;; contributor license agreements. See the NOTICE file distributed with -;; this work for additional information regarding copyright ownership. -;; The ASF licenses this file to You under the Apache License, Version 2.0 -;; (the "License"); you may not use this file except in compliance with -;; the License. You may obtain a copy of the License at -;; -;; http://www.apache.org/licenses/LICENSE-2.0 -;; -;; Unless required by applicable law or agreed to in writing, software -;; distributed under the License is distributed on an "AS IS" BASIS, -;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -;; See the License for the specific language governing permissions and -;; limitations under the License. -;; - - - - -(defn - exponential - "Draw random samples from an exponential distribution. - - Samples are distributed according to an exponential distribution parametrized by *lambda* (rate). - - Example:: - - exponential(lam=4, shape=(2,2)) = [[ 0.0097189 , 0.08999364], - [ 0.04146638, 0.31715935]] - - - Defined in src/operator/random/sample_op.cc:L137 - - `lam`: Lambda parameter (rate) of the exponential distribution. (optional) - `shape`: Shape of the output. (optional) - `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls. (optional) - `dtype`: DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None). (optional) - `out`: Output array. (optional)" - ([] (exponential {})) - ([{:keys [lam shape ctx dtype out], - :or {lam nil, shape nil, ctx nil, dtype nil, out nil}, - :as opts}] - (util/coerce-return - (NDArrayAPI/random_exponential - (util/->option lam) - (util/->option (clojure.core/when shape (mx-shape/->shape shape))) - (util/->option ctx) - (util/->option dtype) - (util/->option out))))) - -(defn - gamma - "Draw random samples from a gamma distribution. - - Samples are distributed according to a gamma distribution parametrized by *alpha* (shape) and *beta* (scale). - - Example:: - - gamma(alpha=9, beta=0.5, shape=(2,2)) = [[ 7.10486984, 3.37695289], - [ 3.91697288, 3.65933681]] - - - Defined in src/operator/random/sample_op.cc:L125 - - `alpha`: Alpha parameter (shape) of the gamma distribution. (optional) - `beta`: Beta parameter (scale) of the gamma distribution. (optional) - `shape`: Shape of the output. (optional) - `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls. (optional) - `dtype`: DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None). (optional) - `out`: Output array. (optional)" - ([] (gamma {})) - ([{:keys [alpha beta shape ctx dtype out], - :or {alpha nil, beta nil, shape nil, ctx nil, dtype nil, out nil}, - :as opts}] - (util/coerce-return - (NDArrayAPI/random_gamma - (util/->option alpha) - (util/->option beta) - (util/->option (clojure.core/when shape (mx-shape/->shape shape))) - (util/->option ctx) - (util/->option dtype) - (util/->option out))))) - diff --git a/contrib/clojure-package/test/good-test-symbol-random-api.clj b/contrib/clojure-package/test/good-test-symbol-random-api.clj deleted file mode 100644 index 7202d2e..0000000 --- a/contrib/clojure-package/test/good-test-symbol-random-api.clj +++ /dev/null @@ -1,118 +0,0 @@ -(ns - ^{:doc "Experimental"} - org.apache.clojure-mxnet.symbol-random-api - (:refer-clojure :exclude [* - + > >= < <= / cast concat identity flatten load max - min repeat reverse set sort take to-array empty sin - get apply shuffle ref]) - (:require [org.apache.clojure-mxnet.util :as util] - [org.apache.clojure-mxnet.shape :as mx-shape]) - (:import (org.apache.mxnet SymbolAPI))) - -;; Do not edit - this is auto-generated - -;; Licensed to the Apache Software Foundation (ASF) under one or more -;; contributor license agreements. See the NOTICE file distributed with -;; this work for additional information regarding copyright ownership. -;; The ASF licenses this file to You under the Apache License, Version 2.0 -;; (the "License"); you may not use this file except in compliance with -;; the License. You may obtain a copy of the License at -;; -;; http://www.apache.org/licenses/LICENSE-2.0 -;; -;; Unless required by applicable law or agreed to in writing, software -;; distributed under the License is distributed on an "AS IS" BASIS, -;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -;; See the License for the specific language governing permissions and -;; limitations under the License. -;; - - - - -(defn - exponential - "Draw random samples from an exponential distribution. - - Samples are distributed according to an exponential distribution parametrized by *lambda* (rate). - - Example:: - - exponential(lam=4, shape=(2,2)) = [[ 0.0097189 , 0.08999364], - [ 0.04146638, 0.31715935]] - - - Defined in src/operator/random/sample_op.cc:L137 - - `lam`: Lambda parameter (rate) of the exponential distribution. (optional) - `shape`: Shape of the output. (optional) - `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls. (optional) - `dtype`: DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None). (optional) - `name`: Name of the symbol (optional) - `attr`: Attributes of the symbol (optional)" - [{:keys [lam shape ctx dtype name attr], - :or {lam nil, shape nil, ctx nil, dtype nil, name nil, attr nil}, - :as opts}] - (util/coerce-return - (SymbolAPI/random_exponential - (util/->option lam) - (util/->option (clojure.core/when shape (mx-shape/->shape shape))) - (util/->option ctx) - (util/->option dtype) - name - (clojure.core/when - attr - (clojure.core/->> - attr - (clojure.core/mapv - (clojure.core/fn [[k v]] [k (clojure.core/str v)])) - (clojure.core/into {}) - util/convert-map))))) - -(defn - gamma - "Draw random samples from a gamma distribution. - - Samples are distributed according to a gamma distribution parametrized by *alpha* (shape) and *beta* (scale). - - Example:: - - gamma(alpha=9, beta=0.5, shape=(2,2)) = [[ 7.10486984, 3.37695289], - [ 3.91697288, 3.65933681]] - - - Defined in src/operator/random/sample_op.cc:L125 - - `alpha`: Alpha parameter (shape) of the gamma distribution. (optional) - `beta`: Beta parameter (scale) of the gamma distribution. (optional) - `shape`: Shape of the output. (optional) - `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls. (optional) - `dtype`: DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None). (optional) - `name`: Name of the symbol (optional) - `attr`: Attributes of the symbol (optional)" - [{:keys [alpha beta shape ctx dtype name attr], - :or - {alpha nil, - beta nil, - shape nil, - ctx nil, - dtype nil, - name nil, - attr nil}, - :as opts}] - (util/coerce-return - (SymbolAPI/random_gamma - (util/->option alpha) - (util/->option beta) - (util/->option (clojure.core/when shape (mx-shape/->shape shape))) - (util/->option ctx) - (util/->option dtype) - name - (clojure.core/when - attr - (clojure.core/->> - attr - (clojure.core/mapv - (clojure.core/fn [[k v]] [k (clojure.core/str v)])) - (clojure.core/into {}) - util/convert-map))))) - diff --git a/contrib/clojure-package/test/test-ndarray-random-api.clj b/contrib/clojure-package/test/test-ndarray-random-api.clj deleted file mode 100644 index 230e103..0000000 --- a/contrib/clojure-package/test/test-ndarray-random-api.clj +++ /dev/null @@ -1,95 +0,0 @@ -(ns - ^{:doc "Experimental"} - org.apache.clojure-mxnet.ndarray-random-api - (:refer-clojure :exclude [* - + > >= < <= / cast concat flatten identity load max - min repeat reverse set sort take to-array empty shuffle - ref]) - (:require [org.apache.clojure-mxnet.shape :as mx-shape] - [org.apache.clojure-mxnet.util :as util]) - (:import (org.apache.mxnet NDArrayAPI))) - -;; Do not edit - this is auto-generated - -;; Licensed to the Apache Software Foundation (ASF) under one or more -;; contributor license agreements. See the NOTICE file distributed with -;; this work for additional information regarding copyright ownership. -;; The ASF licenses this file to You under the Apache License, Version 2.0 -;; (the "License"); you may not use this file except in compliance with -;; the License. You may obtain a copy of the License at -;; -;; http://www.apache.org/licenses/LICENSE-2.0 -;; -;; Unless required by applicable law or agreed to in writing, software -;; distributed under the License is distributed on an "AS IS" BASIS, -;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -;; See the License for the specific language governing permissions and -;; limitations under the License. -;; - - - - -(defn - exponential - "Draw random samples from an exponential distribution. - - Samples are distributed according to an exponential distribution parametrized by *lambda* (rate). - - Example:: - - exponential(lam=4, shape=(2,2)) = [[ 0.0097189 , 0.08999364], - [ 0.04146638, 0.31715935]] - - - Defined in src/operator/random/sample_op.cc:L137 - - `lam`: Lambda parameter (rate) of the exponential distribution. (optional) - `shape`: Shape of the output. (optional) - `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls. (optional) - `dtype`: DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None). (optional) - `out`: Output array. (optional)" - ([] (exponential {})) - ([{:keys [lam shape ctx dtype out], - :or {lam nil, shape nil, ctx nil, dtype nil, out nil}, - :as opts}] - (util/coerce-return - (NDArrayAPI/random_exponential - (util/->option lam) - (util/->option (clojure.core/when shape (mx-shape/->shape shape))) - (util/->option ctx) - (util/->option dtype) - (util/->option out))))) - -(defn - gamma - "Draw random samples from a gamma distribution. - - Samples are distributed according to a gamma distribution parametrized by *alpha* (shape) and *beta* (scale). - - Example:: - - gamma(alpha=9, beta=0.5, shape=(2,2)) = [[ 7.10486984, 3.37695289], - [ 3.91697288, 3.65933681]] - - - Defined in src/operator/random/sample_op.cc:L125 - - `alpha`: Alpha parameter (shape) of the gamma distribution. (optional) - `beta`: Beta parameter (scale) of the gamma distribution. (optional) - `shape`: Shape of the output. (optional) - `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls. (optional) - `dtype`: DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None). (optional) - `out`: Output array. (optional)" - ([] (gamma {})) - ([{:keys [alpha beta shape ctx dtype out], - :or {alpha nil, beta nil, shape nil, ctx nil, dtype nil, out nil}, - :as opts}] - (util/coerce-return - (NDArrayAPI/random_gamma - (util/->option alpha) - (util/->option beta) - (util/->option (clojure.core/when shape (mx-shape/->shape shape))) - (util/->option ctx) - (util/->option dtype) - (util/->option out))))) - diff --git a/contrib/clojure-package/test/test-symbol-random-api.clj b/contrib/clojure-package/test/test-symbol-random-api.clj deleted file mode 100644 index 7202d2e..0000000 --- a/contrib/clojure-package/test/test-symbol-random-api.clj +++ /dev/null @@ -1,118 +0,0 @@ -(ns - ^{:doc "Experimental"} - org.apache.clojure-mxnet.symbol-random-api - (:refer-clojure :exclude [* - + > >= < <= / cast concat identity flatten load max - min repeat reverse set sort take to-array empty sin - get apply shuffle ref]) - (:require [org.apache.clojure-mxnet.util :as util] - [org.apache.clojure-mxnet.shape :as mx-shape]) - (:import (org.apache.mxnet SymbolAPI))) - -;; Do not edit - this is auto-generated - -;; Licensed to the Apache Software Foundation (ASF) under one or more -;; contributor license agreements. See the NOTICE file distributed with -;; this work for additional information regarding copyright ownership. -;; The ASF licenses this file to You under the Apache License, Version 2.0 -;; (the "License"); you may not use this file except in compliance with -;; the License. You may obtain a copy of the License at -;; -;; http://www.apache.org/licenses/LICENSE-2.0 -;; -;; Unless required by applicable law or agreed to in writing, software -;; distributed under the License is distributed on an "AS IS" BASIS, -;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -;; See the License for the specific language governing permissions and -;; limitations under the License. -;; - - - - -(defn - exponential - "Draw random samples from an exponential distribution. - - Samples are distributed according to an exponential distribution parametrized by *lambda* (rate). - - Example:: - - exponential(lam=4, shape=(2,2)) = [[ 0.0097189 , 0.08999364], - [ 0.04146638, 0.31715935]] - - - Defined in src/operator/random/sample_op.cc:L137 - - `lam`: Lambda parameter (rate) of the exponential distribution. (optional) - `shape`: Shape of the output. (optional) - `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls. (optional) - `dtype`: DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None). (optional) - `name`: Name of the symbol (optional) - `attr`: Attributes of the symbol (optional)" - [{:keys [lam shape ctx dtype name attr], - :or {lam nil, shape nil, ctx nil, dtype nil, name nil, attr nil}, - :as opts}] - (util/coerce-return - (SymbolAPI/random_exponential - (util/->option lam) - (util/->option (clojure.core/when shape (mx-shape/->shape shape))) - (util/->option ctx) - (util/->option dtype) - name - (clojure.core/when - attr - (clojure.core/->> - attr - (clojure.core/mapv - (clojure.core/fn [[k v]] [k (clojure.core/str v)])) - (clojure.core/into {}) - util/convert-map))))) - -(defn - gamma - "Draw random samples from a gamma distribution. - - Samples are distributed according to a gamma distribution parametrized by *alpha* (shape) and *beta* (scale). - - Example:: - - gamma(alpha=9, beta=0.5, shape=(2,2)) = [[ 7.10486984, 3.37695289], - [ 3.91697288, 3.65933681]] - - - Defined in src/operator/random/sample_op.cc:L125 - - `alpha`: Alpha parameter (shape) of the gamma distribution. (optional) - `beta`: Beta parameter (scale) of the gamma distribution. (optional) - `shape`: Shape of the output. (optional) - `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls. (optional) - `dtype`: DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None). (optional) - `name`: Name of the symbol (optional) - `attr`: Attributes of the symbol (optional)" - [{:keys [alpha beta shape ctx dtype name attr], - :or - {alpha nil, - beta nil, - shape nil, - ctx nil, - dtype nil, - name nil, - attr nil}, - :as opts}] - (util/coerce-return - (SymbolAPI/random_gamma - (util/->option alpha) - (util/->option beta) - (util/->option (clojure.core/when shape (mx-shape/->shape shape))) - (util/->option ctx) - (util/->option dtype) - name - (clojure.core/when - attr - (clojure.core/->> - attr - (clojure.core/mapv - (clojure.core/fn [[k v]] [k (clojure.core/str v)])) - (clojure.core/into {}) - util/convert-map))))) -
