This is an automated email from the ASF dual-hosted git repository.

marcoabreu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git


The following commit(s) were added to refs/heads/master by this push:
     new 40ae851  [MXNET-617] - Improve Clojure styles with cljfmt tools revise 
(#11537)
40ae851 is described below

commit 40ae851bf64386d26bc49d42ff6da9a11d337606
Author: Burin Choomnuan <agilecreativ...@users.noreply.github.com>
AuthorDate: Tue Jul 3 16:53:47 2018 -0400

    [MXNET-617] - Improve Clojure styles with cljfmt tools revise (#11537)
    
    * Remove 'vi ci-test.sh' file
    
    * Add the scripts to reformat the style with cljfmt
    
    - Add lein-cljfmt-check to each project
    - Add lein-cljfmt-fix to each project
    
    * Add lein-cljfmt to the plugins vector
    
    * Add steps to keep style consistent to README.md
    
    * Run lein-cljfmt-fix on the main src/test codes
    
    - Run $MXROOT/contrib/clojure-package/lein-cljfmt-fix
    
    * Run lein cljfmt fix on the example projects
    
    - Run $MXNET_ROOT/contrib/clojure-package/examples/lein-cljfmt-fix
    
    * Use only one script in the base directory.
    
    - Thanks to @marcoabreu for the suggestion/review
    
    * Minor update to kick off the new build
---
 contrib/clojure-package/README.md                  |  10 ++
 .../examples/cnn-text-classification/project.clj   |   5 +-
 .../src/cnn_text_classification/classifier.clj     |   6 +-
 .../src/cnn_text_classification/data_helper.clj    |  40 +++---
 contrib/clojure-package/examples/gan/project.clj   |   1 +
 .../examples/gan/src/gan/gan_mnist.clj             |  98 +++++++--------
 .../clojure-package/examples/gan/src/gan/viz.clj   |   3 +-
 .../examples/imclassification/project.clj          |   5 +-
 .../src/imclassification/train_mnist.clj           |   3 +-
 .../clojure-package/examples/module/project.clj    |   5 +-
 .../examples/module/src/mnist_mlp.clj              |  63 +++++-----
 .../examples/multi-label/project.clj               |   1 +
 .../examples/multi-label/src/multi_label/core.clj  |   8 +-
 .../examples/neural-style/project.clj              |   4 +-
 .../neural-style/src/neural_style/core.clj         |  48 +++----
 .../neural-style/src/neural_style/model_vgg_19.clj |  13 +-
 .../examples/pre-trained-models/project.clj        |   1 +
 .../src/pre_trained_models/fine_tune.clj           |  21 ++--
 .../src/pre_trained_models/predict_image.clj       |   8 +-
 .../clojure-package/examples/profiler/project.clj  |   1 +
 contrib/clojure-package/examples/rnn/project.clj   |   5 +-
 .../clojure-package/examples/rnn/src/rnn/lstm.clj  |  30 ++---
 .../examples/rnn/src/rnn/test_char_rnn.clj         |  13 +-
 .../examples/rnn/src/rnn/train_char_rnn.clj        |  35 +++---
 .../clojure-package/examples/rnn/src/rnn/util.clj  |  17 ++-
 .../clojure-package/examples/tutorial/project.clj  |   1 +
 .../examples/tutorial/src/tutorial/kvstore.clj     |   6 +-
 .../examples/tutorial/src/tutorial/module.clj      |  53 ++------
 .../examples/visualization/project.clj             |   5 +-
 .../visualization/src/visualization/core.clj       |  10 +-
 .../{vi ci-test.sh => lein-cljfmt-check}           |  10 +-
 .../{vi ci-test.sh => lein-cljfmt-fix}             |   8 +-
 contrib/clojure-package/project.clj                |   3 +-
 .../src/org/apache/clojure_mxnet/callback.clj      |   1 -
 .../src/org/apache/clojure_mxnet/context.clj       |   1 -
 .../src/org/apache/clojure_mxnet/dtype.clj         |   1 -
 .../src/org/apache/clojure_mxnet/eval_metric.clj   |   1 -
 .../src/org/apache/clojure_mxnet/executor.clj      |   3 +-
 .../src/org/apache/clojure_mxnet/initializer.clj   |   8 +-
 .../src/org/apache/clojure_mxnet/io.clj            | 138 ++++++++++-----------
 .../src/org/apache/clojure_mxnet/kvstore.clj       |  18 ++-
 .../org/apache/clojure_mxnet/kvstore_server.clj    |   2 -
 .../src/org/apache/clojure_mxnet/lr_scheduler.clj  |   1 -
 .../src/org/apache/clojure_mxnet/module.clj        | 116 ++++++++---------
 .../src/org/apache/clojure_mxnet/monitor.clj       |   1 -
 .../src/org/apache/clojure_mxnet/ndarray.clj       |   9 +-
 .../src/org/apache/clojure_mxnet/optimizer.clj     |  31 +++--
 .../src/org/apache/clojure_mxnet/profiler.clj      |   2 +-
 .../src/org/apache/clojure_mxnet/random.clj        |   3 +-
 .../src/org/apache/clojure_mxnet/shape.clj         |   1 -
 .../src/org/apache/clojure_mxnet/symbol.clj        | 134 ++++++++++----------
 .../src/org/apache/clojure_mxnet/util.clj          |  10 +-
 .../src/org/apache/clojure_mxnet/visualization.clj |   3 -
 .../clojure-package/test/dev/generator_test.clj    |  61 +++++----
 .../test/org/apache/clojure_mxnet/conv_test.clj    |  12 +-
 .../org/apache/clojure_mxnet/executor_test.clj     |   1 -
 .../test/org/apache/clojure_mxnet/io_test.clj      |  20 ++-
 .../test/org/apache/clojure_mxnet/module_test.clj  |  80 ++++++------
 .../test/org/apache/clojure_mxnet/ndarray_test.clj |  18 +--
 .../org/apache/clojure_mxnet/operator_test.clj     | 138 +++++++++------------
 .../org/apache/clojure_mxnet/optimizer_test.clj    |   1 -
 .../test/org/apache/clojure_mxnet/symbol_test.clj  |   5 +-
 62 files changed, 611 insertions(+), 749 deletions(-)

diff --git a/contrib/clojure-package/README.md 
b/contrib/clojure-package/README.md
index bd226e0..6912f91 100644
--- a/contrib/clojure-package/README.md
+++ b/contrib/clojure-package/README.md
@@ -168,6 +168,16 @@ _Note: There is an error thrown in the generated code due 
to some loading issues
 
 To run the Code Coverage tool. Run `lein cloverage`.
 
+## Tools to keep style consistent
+
+To keep the style consistent for the project we include the script that make 
it easier.
+There are two script in the base of the project and in each examples.
+
+To run it just see the following file. `lein-cljfmt-check` and 
`lein-cljfmt-fix`.
+The first command will run and check and confirm if the code needed to be 
updated to reflect the community style guide.
+The second command will apply the change and fix any inconsistent indentation 
in place. This is recommendd to be done
+before the submit a new pull request so we can keep the style consistent 
throughout the project.
+
 ## FAQ
 
 
diff --git 
a/contrib/clojure-package/examples/cnn-text-classification/project.clj 
b/contrib/clojure-package/examples/cnn-text-classification/project.clj
index f3eb21a..c592dcd 100644
--- a/contrib/clojure-package/examples/cnn-text-classification/project.clj
+++ b/contrib/clojure-package/examples/cnn-text-classification/project.clj
@@ -17,7 +17,8 @@
 
 (defproject cnn-text-classification "0.1.0-SNAPSHOT"
   :description "CNN text classification with MXNet"
+  :plugins [[lein-cljfmt "0.5.7"]]
   :dependencies [[org.clojure/clojure "1.9.0"]
                  [org.apache.mxnet.contrib.clojure/clojure-mxnet 
"1.3.0-SNAPSHOT"]]
-  :main cnn-text-classification.classifier
-  :pedantic? :skip)
+  :pedantic? :skip
+  :main cnn-text-classification.classifier)
diff --git 
a/contrib/clojure-package/examples/cnn-text-classification/src/cnn_text_classification/classifier.clj
 
b/contrib/clojure-package/examples/cnn-text-classification/src/cnn_text_classification/classifier.clj
index 756328c..29ff36f 100644
--- 
a/contrib/clojure-package/examples/cnn-text-classification/src/cnn_text_classification/classifier.clj
+++ 
b/contrib/clojure-package/examples/cnn-text-classification/src/cnn_text_classification/classifier.clj
@@ -85,7 +85,7 @@
                                         :data-batch-size batch-size
                                         :last-batch-handle "pad"})
         test-data (mx-io/ndarray-iter [(get-in shuffled [:test :data])]
-                                      {:label[(get-in  shuffled [:test 
:label])]
+                                      {:label [(get-in  shuffled [:test 
:label])]
                                        :label-name "softmax_label"
                                        :data-batch-size batch-size
                                        :last-batch-handle "pad"})]
@@ -107,8 +107,6 @@
     ;; runs all the examples
     #_(train-convnet {:embedding-size 50 :batch-size 100 :test-size 1000 
:num-epoch 10})))
 
-
 (comment
-  (train-convnet {:devs [(context/cpu)] :embedding-size 50 :batch-size 10 
:test-size 100 :num-epoch 10 :max-examples 1000})
-  )
+  (train-convnet {:devs [(context/cpu)] :embedding-size 50 :batch-size 10 
:test-size 100 :num-epoch 10 :max-examples 1000}))
 
diff --git 
a/contrib/clojure-package/examples/cnn-text-classification/src/cnn_text_classification/data_helper.clj
 
b/contrib/clojure-package/examples/cnn-text-classification/src/cnn_text_classification/data_helper.clj
index e7a706f..7966521 100644
--- 
a/contrib/clojure-package/examples/cnn-text-classification/src/cnn_text_classification/data_helper.clj
+++ 
b/contrib/clojure-package/examples/cnn-text-classification/src/cnn_text_classification/data_helper.clj
@@ -42,7 +42,6 @@
         (.append sb (new String bs 0 i))))
     (.toString sb)))
 
-
 (defn get-float [b]
   (-> 0
       (bit-or (bit-shift-left (bit-and (aget b 0) 0xff) 0))
@@ -70,31 +69,27 @@
       (println "Finished")
       {:num-embed dim :word2vec word2vec})))
 
-
 (defn clean-str [s]
   (-> s
-    (string/replace #"^A-Za-z0-9(),!?'`]" " ")
-    (string/replace #"'s" " 's")
-    (string/replace #"'ve" " 've")
-    (string/replace #"n't" " n't")
-    (string/replace #"'re" " 're")
-    (string/replace #"'d" " 'd")
-    (string/replace #"'ll" " 'll")
-    (string/replace #"," " , ")
-    (string/replace #"!" " ! ")
-    (string/replace #"\(" " ( ")
-    (string/replace #"\)" " ) ")
-    (string/replace #"\?" " ? ")
-    (string/replace #" {2,}" " ")
-    (string/trim)))
-
-
- ;; Loads MR polarity data from files, splits the data into words and 
generates labels.
+      (string/replace #"^A-Za-z0-9(),!?'`]" " ")
+      (string/replace #"'s" " 's")
+      (string/replace #"'ve" " 've")
+      (string/replace #"n't" " n't")
+      (string/replace #"'re" " 're")
+      (string/replace #"'d" " 'd")
+      (string/replace #"'ll" " 'll")
+      (string/replace #"," " , ")
+      (string/replace #"!" " ! ")
+      (string/replace #"\(" " ( ")
+      (string/replace #"\)" " ) ")
+      (string/replace #"\?" " ? ")
+      (string/replace #" {2,}" " ")
+      (string/trim)));; Loads MR polarity data from files, splits the data 
into words and generates labels.
  ;; Returns split sentences and labels.
 (defn load-mr-data-and-labels [path max-examples]
   (println "Loading all the movie reviews from " path)
   (let [positive-examples (mapv #(string/trim %) (-> (slurp (str path 
"/rt-polarity.pos"))
-                                                    (string/split #"\n")))
+                                                     (string/split #"\n")))
         negative-examples (mapv #(string/trim %) (-> (slurp (str path 
"/rt-polarity.neg"))
                                                      (string/split #"\n")))
         positive-examples (into [] (if max-examples (take max-examples 
positive-examples) positive-examples))
@@ -118,10 +113,7 @@
                     (if (pos? diff)
                       (into s (repeat diff padding-word))
                       s)))
-          sentences)))
-
-
- ;; Map sentences and labels to vectors based on a pretrained embeddings
+          sentences)));; Map sentences and labels to vectors based on a 
pretrained embeddings
 (defn build-input-data-with-embeddings [sentences embedding-size embeddings]
   (mapv (fn [sent]
           (mapv (fn [word] (or (get embeddings word)
diff --git a/contrib/clojure-package/examples/gan/project.clj 
b/contrib/clojure-package/examples/gan/project.clj
index 1469f9f..bebbc20 100644
--- a/contrib/clojure-package/examples/gan/project.clj
+++ b/contrib/clojure-package/examples/gan/project.clj
@@ -17,6 +17,7 @@
 
 (defproject gan "0.1.0-SNAPSHOT"
   :description "GAN MNIST with MXNet"
+  :plugins [[lein-cljfmt "0.5.7"]]
   :dependencies [[org.clojure/clojure "1.9.0"]
                  [org.apache.mxnet.contrib.clojure/clojure-mxnet 
"1.3.0-SNAPSHOT"]
                  [nu.pattern/opencv "2.4.9-7"]]
diff --git a/contrib/clojure-package/examples/gan/src/gan/gan_mnist.clj 
b/contrib/clojure-package/examples/gan/src/gan/gan_mnist.clj
index 42c116a..14dd2c5 100644
--- a/contrib/clojure-package/examples/gan/src/gan/gan_mnist.clj
+++ b/contrib/clojure-package/examples/gan/src/gan/gan_mnist.clj
@@ -32,7 +32,6 @@
             [org.apache.clojure-mxnet.context :as context])
   (:gen-class))
 
-
 ;; based off of 
https://medium.com/@julsimon/generative-adversarial-networks-on-apache-mxnet-part-1-b6d39e6b5df1
 
 
@@ -57,7 +56,7 @@
 (comment
 
   ;;This is for figuring out the convolution and deconvolution layers to 
convert the image sizes
-  
+
   (defn conv-output-size [input-size kernel-size padding stride]
     (float (inc (/ (- (+ input-size (* 2 padding)) kernel-size) stride))))
 
@@ -86,7 +85,6 @@
 (def lr  0.0005) ;; learning rate
 (def beta1 0.5)
 
-
 (def label (sym/variable "label"))
 
 (defn discriminator []
@@ -130,26 +128,24 @@
       label [(ndarray/ones [batch-size 100 1 1])]]
   (def my-iter (mx-io/ndarray-iter data)))
 
-
 (defn save-img-gout [i n x]
   (do
     (viz/im-sav {:title (str "gout-" i "-" n)
-             :output-path output-path
-             :x x
-             :flip false})))
+                 :output-path output-path
+                 :x x
+                 :flip false})))
 
 (defn save-img-diff [i n x]
   (do (viz/im-sav {:title (str "diff-" i "-" n)
-            :output-path output-path
-               :x x
-               :flip false})))
+                   :output-path output-path
+                   :x x
+                   :flip false})))
 
 (defn save-img-data [i n batch]
   (do (viz/im-sav {:title (str "data-" i "-" n)
-               :output-path output-path
-               :x (first (mx-io/batch-data batch))
-               :flip false})))
-
+                   :output-path output-path
+                   :x (first (mx-io/batch-data batch))
+                   :flip false})))
 
 (defn calc-diff [i n diff-d]
   (let [diff (ndarray/copy diff-d)
@@ -161,8 +157,6 @@
 
       (save-img-diff i n calc-diff))))
 
-
-
 (defn train [devs]
   (let [mod-d  (-> (m/module (discriminator) {:contexts devs :data-names 
["data"] :label-names ["label"]})
                    (m/bind {:data-shapes (mx-io/provide-data mnist-iter)
@@ -171,55 +165,53 @@
                    (m/init-params {:initializer (init/normal 0.02)})
                    (m/init-optimizer {:optimizer (opt/adam {:learning-rate lr 
:wd 0.0 :beta1 beta1})}))
         mod-g (-> (m/module (generator) {:contexts devs :data-names ["rand"] 
:label-names nil})
-                   (m/bind {:data-shapes (mx-io/provide-data rand-noise-iter)})
-                   (m/init-params {:initializer (init/normal 0.02)})
-                   (m/init-optimizer {:optimizer (opt/adam {:learning-rate lr 
:wd 0.0 :beta1 beta1})}))]
+                  (m/bind {:data-shapes (mx-io/provide-data rand-noise-iter)})
+                  (m/init-params {:initializer (init/normal 0.02)})
+                  (m/init-optimizer {:optimizer (opt/adam {:learning-rate lr 
:wd 0.0 :beta1 beta1})}))]
 
     (println "Training for " num-epoch " epochs...")
     (doseq [i (range num-epoch)]
-     (mx-io/reduce-batches mnist-iter
-                           (fn [n batch]
-                             (let [rbatch (mx-io/next rand-noise-iter)
-                                   out-g (-> mod-g
-                                             (m/forward rbatch)
-                                             (m/outputs))
+      (mx-io/reduce-batches mnist-iter
+                            (fn [n batch]
+                              (let [rbatch (mx-io/next rand-noise-iter)
+                                    out-g (-> mod-g
+                                              (m/forward rbatch)
+                                              (m/outputs))
                                    ;; update the discriminiator on the fake
-                                   grads-f  (mapv #(ndarray/copy (first %)) 
(-> mod-d
-                                                                               
 (m/forward {:data (first out-g) :label [(ndarray/zeros [batch-size])]})
-                                                                               
 (m/backward)
-                                                                               
 (m/grad-arrays)))
+                                    grads-f  (mapv #(ndarray/copy (first %)) 
(-> mod-d
+                                                                               
  (m/forward {:data (first out-g) :label [(ndarray/zeros [batch-size])]})
+                                                                               
  (m/backward)
+                                                                               
  (m/grad-arrays)))
                                    ;; update the discrimintator on the real
-                                   grads-r (-> mod-d
-                                               (m/forward {:data 
(mx-io/batch-data batch) :label [(ndarray/ones [batch-size])]})
-                                               (m/backward)
-                                               (m/grad-arrays))
-                                   _ (mapv (fn [real fake] (let [r (first 
real)]
-                                                             (ndarray/set r 
(ndarray/+ r fake)))) grads-r grads-f)
-                                   _ (m/update mod-d)
+                                    grads-r (-> mod-d
+                                                (m/forward {:data 
(mx-io/batch-data batch) :label [(ndarray/ones [batch-size])]})
+                                                (m/backward)
+                                                (m/grad-arrays))
+                                    _ (mapv (fn [real fake] (let [r (first 
real)]
+                                                              (ndarray/set r 
(ndarray/+ r fake)))) grads-r grads-f)
+                                    _ (m/update mod-d)
                                    ;; update the generator
-                                   diff-d (-> mod-d
-                                              (m/forward {:data (first out-g) 
:label [(ndarray/ones [batch-size])]})
-                                              (m/backward)
-                                              (m/input-grads))
-                                   _ (-> mod-g
-                                         (m/backward (first diff-d))
-                                         (m/update))]
-                               (when (zero? (mod n 100))
-                                 (println "iteration = " i  "number = " n)
-                                 (save-img-gout i n (ndarray/copy (ffirst 
out-g)))
-                                 (save-img-data i n batch)
-                                 (calc-diff i n (ffirst diff-d)))
-                               (inc n)))))))
+                                    diff-d (-> mod-d
+                                               (m/forward {:data (first out-g) 
:label [(ndarray/ones [batch-size])]})
+                                               (m/backward)
+                                               (m/input-grads))
+                                    _ (-> mod-g
+                                          (m/backward (first diff-d))
+                                          (m/update))]
+                                (when (zero? (mod n 100))
+                                  (println "iteration = " i  "number = " n)
+                                  (save-img-gout i n (ndarray/copy (ffirst 
out-g)))
+                                  (save-img-data i n batch)
+                                  (calc-diff i n (ffirst diff-d)))
+                                (inc n)))))))
 
 (defn -main [& args]
   (let [[dev dev-num] args
         devs (if (= dev ":gpu")
                (mapv #(context/gpu %) (range (Integer/parseInt (or dev-num 
"1"))))
                (mapv #(context/cpu %) (range (Integer/parseInt (or dev-num 
"1")))))]
-     (println "Running with context devices of" devs)
+    (println "Running with context devices of" devs)
     (train devs)))
 
 (comment
-  (train [(context/cpu)])
-
-  )
+  (train [(context/cpu)]))
diff --git a/contrib/clojure-package/examples/gan/src/gan/viz.clj 
b/contrib/clojure-package/examples/gan/src/gan/viz.clj
index 7fab13e..8b57b94 100644
--- a/contrib/clojure-package/examples/gan/src/gan/viz.clj
+++ b/contrib/clojure-package/examples/gan/src/gan/viz.clj
@@ -27,7 +27,6 @@
 ;;; Viz stuff
 (OpenCV/loadShared)
 
-
 (defn clip [x]
   (->> x
        (mapv #(* 255 %))
@@ -69,7 +68,7 @@
         [n c h w] shape
         totals (* h w)
         raw-data (byte-array (clip (ndarray/to-array x)))
-        row (.intValue(Math/sqrt n))
+        row (.intValue (Math/sqrt n))
         col row
         line-arrs (into [] (partition (* col c totals) raw-data))
         line-mats (mapv (fn [line]
diff --git a/contrib/clojure-package/examples/imclassification/project.clj 
b/contrib/clojure-package/examples/imclassification/project.clj
index 5c22d86..e4c34e7 100644
--- a/contrib/clojure-package/examples/imclassification/project.clj
+++ b/contrib/clojure-package/examples/imclassification/project.clj
@@ -17,7 +17,8 @@
 
 (defproject imclassification "0.1.0-SNAPSHOT"
   :description "Clojure examples for image classification"
+  :plugins [[lein-cljfmt "0.5.7"]]
   :dependencies [[org.clojure/clojure "1.9.0"]
                  [org.apache.mxnet.contrib.clojure/clojure-mxnet 
"1.3.0-SNAPSHOT"]]
-  :main imclassification.train-mnist
-  :pedantic? :skip)
+  :pedantic? :skip
+  :main imclassification.train-mnist)
diff --git 
a/contrib/clojure-package/examples/imclassification/src/imclassification/train_mnist.clj
 
b/contrib/clojure-package/examples/imclassification/src/imclassification/train_mnist.clj
index 44d3364..a43dc3b 100644
--- 
a/contrib/clojure-package/examples/imclassification/src/imclassification/train_mnist.clj
+++ 
b/contrib/clojure-package/examples/imclassification/src/imclassification/train_mnist.clj
@@ -111,5 +111,4 @@
     (start devs)))
 
 (comment
-  (start [(context/cpu)])
-  )
+  (start [(context/cpu)]))
diff --git a/contrib/clojure-package/examples/module/project.clj 
b/contrib/clojure-package/examples/module/project.clj
index 2cd9796..7b32f32 100644
--- a/contrib/clojure-package/examples/module/project.clj
+++ b/contrib/clojure-package/examples/module/project.clj
@@ -17,8 +17,9 @@
 
 (defproject module-examples "0.1.0-SNAPSHOT"
   :description "Clojure examples for module"
+  :plugins [[lein-cljfmt "0.5.7"]]
   :dependencies [[org.clojure/clojure "1.9.0"]
                  [org.apache.mxnet.contrib.clojure/clojure-mxnet 
"1.3.0-SNAPSHOT"]]
-  :main  mnist-mlp
-  :pedantic? :skip)
+  :pedantic? :skip
+  :main mnist-mlp)
 
diff --git a/contrib/clojure-package/examples/module/src/mnist_mlp.clj 
b/contrib/clojure-package/examples/module/src/mnist_mlp.clj
index 039a6eb..74edf71 100644
--- a/contrib/clojure-package/examples/module/src/mnist_mlp.clj
+++ b/contrib/clojure-package/examples/module/src/mnist_mlp.clj
@@ -116,7 +116,6 @@
     (let [score (m/score mod {:eval-data test-data :eval-metric 
(eval-metric/accuracy)})]
       (println "High level predict score is " score))))
 
-
 (defn run-predication-and-calc-accuracy-manually [devs]
   ;;; Gathers all the predictions at once with `predict-every-batch`
   ;;; then cycles thorugh the batches and manually calculates the accuracy 
stats
@@ -128,23 +127,23 @@
     (m/fit mod {:train-data train-data :eval-data test-data :num-epoch 
num-epoch})
     (let [preds (m/predict-every-batch mod {:eval-data test-data})
           stats (mx-io/reduce-batches test-data
-                         (fn [r b]
-                           (let [pred-label (->> (ndarray/argmax-channel 
(first (get preds (:index r))))
-                                                 (ndarray/->vec)
-                                                 (mapv int))
-                                 label (->> (mx-io/batch-label b)
-                                            (first)
-                                            (ndarray/->vec)
-                                            (mapv int))
-                                 acc-sum (apply + (mapv (fn [pl l] (if (= pl 
l) 1 0))
-                                                        pred-label label))]
-                             (-> r
-                                 (update :index inc)
-                                 (update :acc-cnt (fn [v] (+ v (count 
pred-label))))
-                                 (update :acc-sum (fn [v] (+ v
-                                                             (apply + (mapv 
(fn [pl l] (if (= pl l) 1 0))
-                                                                            
pred-label label))))))))
-                         {:acc-sum 0 :acc-cnt 0 :index 0})]
+                                      (fn [r b]
+                                        (let [pred-label (->> 
(ndarray/argmax-channel (first (get preds (:index r))))
+                                                              (ndarray/->vec)
+                                                              (mapv int))
+                                              label (->> (mx-io/batch-label b)
+                                                         (first)
+                                                         (ndarray/->vec)
+                                                         (mapv int))
+                                              acc-sum (apply + (mapv (fn [pl 
l] (if (= pl l) 1 0))
+                                                                     
pred-label label))]
+                                          (-> r
+                                              (update :index inc)
+                                              (update :acc-cnt (fn [v] (+ v 
(count pred-label))))
+                                              (update :acc-sum (fn [v] (+ v
+                                                                          
(apply + (mapv (fn [pl l] (if (= pl l) 1 0))
+                                                                               
          pred-label label))))))))
+                                      {:acc-sum 0 :acc-cnt 0 :index 0})]
       (println "Stats: " stats)
       (println "Accuracy: " (/ (:acc-sum stats)
                                (* 1.0 (:acc-cnt stats)))))))
@@ -159,19 +158,19 @@
     ;;; note only one function for training
     (m/fit mod {:train-data train-data :eval-data test-data :num-epoch 
num-epoch})
     (mx-io/reduce-batches test-data
-                        (fn [r b]
-                          (let [preds (m/predict-batch mod b)
-                                pred-label (->> (ndarray/argmax-channel (first 
preds))
-                                                (ndarray/->vec)
-                                                (mapv int))
-                                label (->> (mx-io/batch-label b)
-                                           (first)
-                                           (ndarray/->vec)
-                                           (mapv int))
-                                acc (/ (apply + (mapv (fn [pl l] (if (= pl l) 
1 0)) pred-label label))
-                                       (* 1.0 (count pred-label)))]
-                            (println "Batch " r " acc: " acc)
-                            (inc r))))))
+                          (fn [r b]
+                            (let [preds (m/predict-batch mod b)
+                                  pred-label (->> (ndarray/argmax-channel 
(first preds))
+                                                  (ndarray/->vec)
+                                                  (mapv int))
+                                  label (->> (mx-io/batch-label b)
+                                             (first)
+                                             (ndarray/->vec)
+                                             (mapv int))
+                                  acc (/ (apply + (mapv (fn [pl l] (if (= pl 
l) 1 0)) pred-label label))
+                                         (* 1.0 (count pred-label)))]
+                              (println "Batch " r " acc: " acc)
+                              (inc r))))))
 
 (defn run-all [devs]
   (run-intermediate-level-api :devs devs)
@@ -190,7 +189,6 @@
     (println "Running with context devices of" devs)
     (run-all devs)))
 
-
 (comment
 
   ;;; run all the example functions
@@ -237,4 +235,3 @@
   ;;=> Accuracy:  0.9494
 )
 
-
diff --git a/contrib/clojure-package/examples/multi-label/project.clj 
b/contrib/clojure-package/examples/multi-label/project.clj
index b67178b..88e3cff 100644
--- a/contrib/clojure-package/examples/multi-label/project.clj
+++ b/contrib/clojure-package/examples/multi-label/project.clj
@@ -17,6 +17,7 @@
 
 (defproject multi-label "0.1.0-SNAPSHOT"
   :description "Example of multi-label classification"
+  :plugins [[lein-cljfmt "0.5.7"]]
   :dependencies [[org.clojure/clojure "1.9.0"]
                  [org.apache.mxnet.contrib.clojure/clojure-mxnet 
"1.3.0-SNAPSHOT"]]
   :main multi-label.core)
diff --git 
a/contrib/clojure-package/examples/multi-label/src/multi_label/core.clj 
b/contrib/clojure-package/examples/multi-label/src/multi_label/core.clj
index 0707d42..e96783d 100644
--- a/contrib/clojure-package/examples/multi-label/src/multi_label/core.clj
+++ b/contrib/clojure-package/examples/multi-label/src/multi_label/core.clj
@@ -30,7 +30,6 @@
            (java.util NoSuchElementException))
   (:gen-class))
 
-
 (def data-dir "data/")
 (def batch-size 100)
 (def num-epoch 1)
@@ -101,8 +100,8 @@
                                              (vals)
                                              last)]
                               (util/list-map
-                                        {"softmax1_label" (mx-shape/->shape 
shape)
-                                         "softmax2_label" (mx-shape/->shape 
shape)})))
+                               {"softmax1_label" (mx-shape/->shape shape)
+                                "softmax2_label" (mx-shape/->shape shape)})))
                           (provideData []
                             (.provideData data-iter)))))
 
@@ -153,7 +152,7 @@
                           (update :batch-num inc))))
                   {:sum [0 0] :batch-num 0})]
         (println "Multi-accuracy " acc)
-        (println "Multi-accuracy "(mapv #(/ % (:batch-num acc)) (:sum 
acc)))))))
+        (println "Multi-accuracy " (mapv #(/ % (:batch-num acc)) (:sum 
acc)))))))
 
 (defn -main [& args]
   (let [[dev dev-num] args
@@ -164,6 +163,5 @@
     (println "Running with context devices of" devs)
     (train devs)))
 
-
 (comment
   (train [(context/cpu)]))
diff --git a/contrib/clojure-package/examples/neural-style/project.clj 
b/contrib/clojure-package/examples/neural-style/project.clj
index 4daf20f..f179618 100644
--- a/contrib/clojure-package/examples/neural-style/project.clj
+++ b/contrib/clojure-package/examples/neural-style/project.clj
@@ -17,9 +17,9 @@
 
 (defproject neural-style "0.1.0-SNAPSHOT"
   :description "Neural Style Transfer with MXNet"
+  :plugins [[lein-cljfmt "0.5.7"]]
   :dependencies [[org.clojure/clojure "1.9.0"]
                  [org.apache.mxnet.contrib.clojure/clojure-mxnet 
"1.3.0-SNAPSHOT"]
                  [net.mikera/imagez "0.12.0"]
                  [thinktopic/think.image "0.4.16"]]
-  :main neural-style.core
-)
+  :main neural-style.core)
diff --git 
a/contrib/clojure-package/examples/neural-style/src/neural_style/core.clj 
b/contrib/clojure-package/examples/neural-style/src/neural_style/core.clj
index 07b0a29..50f95c9 100644
--- a/contrib/clojure-package/examples/neural-style/src/neural_style/core.clj
+++ b/contrib/clojure-package/examples/neural-style/src/neural_style/core.clj
@@ -28,13 +28,10 @@
             [mikera.image.filters :as img-filter]
             [think.image.pixel :as pixel]
             [neural-style.model-vgg-19 :as model-vgg-19])
-  (:gen-class))
-
-
- ;; An Implementation of the paper A Neural Algorithm of Artistic Style
+  (:gen-class));; An Implementation of the paper A Neural Algorithm of 
Artistic Style
  ;;by Leon A. Gatys, Alexander S. Ecker, and Matthias Bethge
 
-(def content-image "input/IMG_4343.jpg" )
+(def content-image "input/IMG_4343.jpg")
 (def style-image "input/starry_night.jpg")
 (def model-path "model/vgg19.params")
 (def max-long-edge 600) ;; resize the content image
@@ -69,7 +66,7 @@
   (let [simg (img/load-image path)
         _ (println "The content image is size " {:height (img/height simg) 
:width (img/width simg)})
         factor (/ short-edge (img/width simg))
-        resized-img (img/resize simg (* (img/width simg) factor) (* 
(img/height simg) factor) )
+        resized-img (img/resize simg (* (img/width simg) factor) (* 
(img/height simg) factor))
         new-height (img/height resized-img)
         new-width (img/width resized-img)]
     (image->ndarray resized-img)))
@@ -97,29 +94,28 @@
         _  (img/set-pixels new-image (int-array pixels))]
     new-image))
 
-
 (defn style-gram-symbol [input-size style]
   (let [[_ output-shape _] (sym/infer-shape style {:data [1 3 (first 
input-size) (second input-size)]})
         output-shapes (mx-shape/->vec output-shape)
         {:keys [gram-list grad-scale]} (doall (reduce
-                                                 (fn [result i]
-                                                   (let [shape (get 
output-shapes i)
-                                                         [s0 s1 s2 s3] shape
-                                                         x (sym/reshape {:data 
(sym/get style i) :target-shape [s1 (* s2 s3)] })
+                                               (fn [result i]
+                                                 (let [shape (get 
output-shapes i)
+                                                       [s0 s1 s2 s3] shape
+                                                       x (sym/reshape {:data 
(sym/get style i) :target-shape [s1 (* s2 s3)]})
                                                          ;; use fully 
connected to quickly do dot(x x^T)
-                                                         gram 
(sym/fully-connected {:data x :weight x :no-bias true :num-hidden s1})]
-                                                     (-> result
-                                                         (update :gram-list 
conj gram)
-                                                         (update :grad-scale 
conj (* s1 s2 s3 s1)))))
-                                                 {:gram-list [] :grad-scale []}
-                                                 (range (count 
(sym/list-outputs style)))))]
+                                                       gram 
(sym/fully-connected {:data x :weight x :no-bias true :num-hidden s1})]
+                                                   (-> result
+                                                       (update :gram-list conj 
gram)
+                                                       (update :grad-scale 
conj (* s1 s2 s3 s1)))))
+                                               {:gram-list [] :grad-scale []}
+                                               (range (count (sym/list-outputs 
style)))))]
     {:gram (sym/group (into [] gram-list)) :g-scale grad-scale}))
 
 (defn get-loss [gram content]
   (let [gram-loss (doall (mapv (fn [i]
-                           (let [gvar (sym/variable (str "target_gram_" i))]
-                             (sym/sum (sym/square (sym/- gvar (sym/get gram 
i))))))
-                         (range (count (sym/list-outputs gram)))))
+                                 (let [gvar (sym/variable (str "target_gram_" 
i))]
+                                   (sym/sum (sym/square (sym/- gvar (sym/get 
gram i))))))
+                               (range (count (sym/list-outputs gram)))))
         cvar (sym/variable "target_content")
         content-loss (sym/sum (sym/square (sym/- cvar content)))]
     {:style-loss (sym/group gram-loss) :content-loss content-loss}))
@@ -137,7 +133,6 @@
     (> a 255) 255
     :else a))
 
-
 (defn save-image [img filename radius blur?]
   (let [filtered-image (if blur?
                          ((img-filter/box-blur blur-radius blur-radius) 
(postprocess-image img))
@@ -149,7 +144,7 @@
 (defn get-tv-grad-executor [img ctx tv-weight]
   (when (pos? tv-weight)
     (let [img-shape (mx-shape/->vec (ndarray/shape img))
-          n-channel(get img-shape 1)
+          n-channel (get img-shape 1)
           s-img (sym/variable "img")
           s-kernel (sym/variable "kernel")
           channels (sym/split {:data s-img :axis 1 :num-outputs n-channel})
@@ -162,7 +157,6 @@
           out (ndarray/* out tv-weight)]
       (sym/bind out ctx {"img" img "kernel" kernel}))))
 
-
 (defn train [devs]
 
   (let [dev (first devs)
@@ -217,7 +211,7 @@
         clip-norm (apply  * (mx-shape/->vec (ndarray/shape img)))
         tv-grad-executor (get-tv-grad-executor img dev tv-weight)
         eps 0.0
-        e 0 ]
+        e 0]
     (doseq [i (range 20)]
       (ndarray/set (:data model-executor) img)
       (-> (:executor model-executor)
@@ -255,10 +249,6 @@
     (println "Running with context devices of" devs)
     (train devs)))
 
-
-
 (comment
 
-  (train [(context/cpu)])
-
-  )
+  (train [(context/cpu)]))
diff --git 
a/contrib/clojure-package/examples/neural-style/src/neural_style/model_vgg_19.clj
 
b/contrib/clojure-package/examples/neural-style/src/neural_style/model_vgg_19.clj
index 5fa11be..e7efa8c 100644
--- 
a/contrib/clojure-package/examples/neural-style/src/neural_style/model_vgg_19.clj
+++ 
b/contrib/clojure-package/examples/neural-style/src/neural_style/model_vgg_19.clj
@@ -71,7 +71,6 @@
         content (sym/group [relu1-1])]
     {:style style :content content}))
 
-
 (defn get-executor [style content model-path input-size ctx]
   (let [out (sym/group [style content])
         ;; make executor
@@ -83,12 +82,12 @@
         ;;; I'm not sure this is being set properly
         pretrained (do (ndarray/load model-path))
         arg-map (into {} (mapv (fn [[k v]]
-                           (let [pretrained-key (str "arg:" k)]
-                             (if (and (get pretrained pretrained-key) (not= 
"data" k))
-                               (do (ndarray/set v (get pretrained 
pretrained-key))
-                                   [k v])
-                               [k v])))
-                         arg-map))
+                                 (let [pretrained-key (str "arg:" k)]
+                                   (if (and (get pretrained pretrained-key) 
(not= "data" k))
+                                     (do (ndarray/set v (get pretrained 
pretrained-key))
+                                         [k v])
+                                     [k v])))
+                               arg-map))
         exec (sym/bind out ctx arg-map grad-map)
         outs (executor/outputs exec)]
     {:executor exec
diff --git a/contrib/clojure-package/examples/pre-trained-models/project.clj 
b/contrib/clojure-package/examples/pre-trained-models/project.clj
index 254f34a..e689e9a 100644
--- a/contrib/clojure-package/examples/pre-trained-models/project.clj
+++ b/contrib/clojure-package/examples/pre-trained-models/project.clj
@@ -17,6 +17,7 @@
 
 (defproject pre-trained-models "0.1.0-SNAPSHOT"
   :description "Example of using pre-trained models with MXNet"
+  :plugins [[lein-cljfmt "0.5.7"]]
   :dependencies [[org.clojure/clojure "1.9.0"]
                  [org.apache.mxnet.contrib.clojure/clojure-mxnet 
"1.3.0-SNAPSHOT"]
                  [net.mikera/imagez "0.12.0"]
diff --git 
a/contrib/clojure-package/examples/pre-trained-models/src/pre_trained_models/fine_tune.clj
 
b/contrib/clojure-package/examples/pre-trained-models/src/pre_trained_models/fine_tune.clj
index a73aa30..f2b9edd 100644
--- 
a/contrib/clojure-package/examples/pre-trained-models/src/pre_trained_models/fine_tune.clj
+++ 
b/contrib/clojure-package/examples/pre-trained-models/src/pre_trained_models/fine_tune.clj
@@ -34,7 +34,6 @@
 (def model-dir "model")
 (def batch-size 16)
 
-
 ;;; image set is http://www.vision.caltech.edu/Image_Datasets/Caltech101/
 ;; Pictures of objects belonging to 101 categories. About 40 to 800 images per 
category. Most categories have about 50 images
 
@@ -49,13 +48,13 @@
                   :rand-mirror true}))
 
 (def val-iter (mx-io/image-record-iter
-                 {:path-imgrec "caltech-256/caltech-256-60-val.rec"
-                  :data-name "data"
-                  :label-name "softmax_label"
-                  :batch-size batch-size
-                  :data-shape [3 224 224]
-                  :rand-crop false
-                  :rand-mirror false}))
+               {:path-imgrec "caltech-256/caltech-256-60-val.rec"
+                :data-name "data"
+                :label-name "softmax_label"
+                :batch-size batch-size
+                :data-shape [3 224 224]
+                :rand-crop false
+                :rand-mirror false}))
 
 (defn get-model []
   (let [mod (m/load-checkpoint {:prefix (str model-dir "/resnet-50") :epoch 
0})]
@@ -104,9 +103,7 @@
                (mapv #(context/gpu %) (range (Integer/parseInt (or dev-num 
"1"))))
                (mapv #(context/cpu %) (range (Integer/parseInt (or dev-num 
"1")))))]
     (println "Running with context devices of" devs)
-   (fine-tune! devs))
-  )
-
+    (fine-tune! devs)))
 
 (comment
 
@@ -126,7 +123,5 @@
 ;; INFO  ml.dmlc.mxnet.Callback$Speedometer: Epoch[0] Batch [120]      Speed: 
3.44 samples/sec Train-accuracy=0.040806
 ;; INFO  ml.dmlc.mxnet.Callback$Speedometer: Epoch[0] Batch [130]      Speed: 
3.41 samples/sec Train-accuracy=0.043893
 ;; INFO  ml.dmlc.mxnet.Callback$Speedometer: Epoch[0] Batch [140]      Speed: 
3.42 samples/sec Train-accuracy=0.045213
-
 )
 
-
diff --git 
a/contrib/clojure-package/examples/pre-trained-models/src/pre_trained_models/predict_image.clj
 
b/contrib/clojure-package/examples/pre-trained-models/src/pre_trained_models/predict_image.clj
index ee25e4c..12bdb12 100644
--- 
a/contrib/clojure-package/examples/pre-trained-models/src/pre_trained_models/predict_image.clj
+++ 
b/contrib/clojure-package/examples/pre-trained-models/src/pre_trained_models/predict_image.clj
@@ -39,7 +39,6 @@
               out (io/output-stream file)]
     (io/copy in out)))
 
-
 (defn get-image [url show?]
   (let [fname "test-image.jpg"
         _ (download url fname)
@@ -54,8 +53,8 @@
                            pixels)]
     (when show? (img/show image))
     (-> rgb-pixels
-               (flatten)
-               (ndarray/array [1 num-channels h w]))))
+        (flatten)
+        (ndarray/array [1 num-channels h w]))))
 
 (defn predict [img-url show?]
   (let [mod (m/load-checkpoint {:prefix (str model-dir "/resnet-152") :epoch 
0})
@@ -110,6 +109,5 @@
   ;;  {:prob 0.023329297, :label "n02083346 canine, canid"})
 
   (feature-extraction) ;=> [1 2048]
-
-  )
+)
 
diff --git a/contrib/clojure-package/examples/profiler/project.clj 
b/contrib/clojure-package/examples/profiler/project.clj
index ca2fad2..6ea2dfe 100644
--- a/contrib/clojure-package/examples/profiler/project.clj
+++ b/contrib/clojure-package/examples/profiler/project.clj
@@ -16,6 +16,7 @@
 ;;
 
 (defproject profiler "0.1.0-SNAPSHOT"
+  :plugins [[lein-cljfmt "0.5.7"]]
   :dependencies [[org.clojure/clojure "1.9.0"]
                  [org.apache.mxnet.contrib.clojure/clojure-mxnet 
"1.3.0-SNAPSHOT"]]
   :main profiler.core)
diff --git a/contrib/clojure-package/examples/rnn/project.clj 
b/contrib/clojure-package/examples/rnn/project.clj
index ff00a10..0175591 100644
--- a/contrib/clojure-package/examples/rnn/project.clj
+++ b/contrib/clojure-package/examples/rnn/project.clj
@@ -17,6 +17,7 @@
 
 (defproject rnn "0.1.0-SNAPSHOT"
   :description "RNN example"
-  :main rnn.train-char-rnn
+  :plugins [[lein-cljfmt "0.5.7"]]
   :dependencies [[org.clojure/clojure "1.9.0"]
-                 [org.apache.mxnet.contrib.clojure/clojure-mxnet 
"1.3.0-SNAPSHOT"]])
+                 [org.apache.mxnet.contrib.clojure/clojure-mxnet 
"1.3.0-SNAPSHOT"]]
+  :main rnn.train-char-rnn)
diff --git a/contrib/clojure-package/examples/rnn/src/rnn/lstm.clj 
b/contrib/clojure-package/examples/rnn/src/rnn/lstm.clj
index ec8e9e8..fb3a8f3 100644
--- a/contrib/clojure-package/examples/rnn/src/rnn/lstm.clj
+++ b/contrib/clojure-package/examples/rnn/src/rnn/lstm.clj
@@ -56,14 +56,14 @@
         cls-weight (sym/variable "cls_weight")
         cls-bias (sym/variable "cls_bias")
         param-cells (mapv (fn [i]
-                             (lstm-param (sym/variable (str "l" i 
"_i2h_weight"))
-                                         (sym/variable (str "l" i "_i2h_bias"))
-                                         (sym/variable (str "l" i 
"_h2h_weight"))
-                                         (sym/variable (str "l" i 
"_h2h_bias"))))
-                           (range 0 num-lstm-layer))
+                            (lstm-param (sym/variable (str "l" i 
"_i2h_weight"))
+                                        (sym/variable (str "l" i "_i2h_bias"))
+                                        (sym/variable (str "l" i 
"_h2h_weight"))
+                                        (sym/variable (str "l" i 
"_h2h_bias"))))
+                          (range 0 num-lstm-layer))
         last-states (mapv (fn [i]
-                             (lstm-state (sym/variable (str "l" i 
"_init_c_beta"))
-                                         (sym/variable (str "l" i 
"_init_h_beta"))))
+                            (lstm-state (sym/variable (str "l" i 
"_init_c_beta"))
+                                        (sym/variable (str "l" i 
"_init_h_beta"))))
                           (range 0 num-lstm-layer))
         ;; embedding layer
         data (sym/variable "data")
@@ -76,7 +76,7 @@
         hidden-all (doall (for [seq-idx (range seq-len)]
                             (let [hidden (:h (last (loop [i 0
                                                           hidden (sym/get 
wordvec seq-idx)
-                                                    next-states []]
+                                                          next-states []]
                                                      (if (= i num-lstm-layer)
                                                        next-states
                                                        (let [dp-ratio (if 
(zero? i) 0 dropout)
@@ -108,14 +108,14 @@
         cls-weight (sym/variable "cls_weight")
         cls-bias (sym/variable "cls_bias")
         param-cells (mapv (fn [i]
-                             (lstm-param (sym/variable (str "l" i 
"_i2h_weight"))
-                                         (sym/variable (str "l" i "_i2h_bias"))
-                                         (sym/variable (str "l" i 
"_h2h_weight"))
-                                         (sym/variable (str "l" i 
"_h2h_bias"))))
-                           (range 0 num-lstm-layer))
+                            (lstm-param (sym/variable (str "l" i 
"_i2h_weight"))
+                                        (sym/variable (str "l" i "_i2h_bias"))
+                                        (sym/variable (str "l" i 
"_h2h_weight"))
+                                        (sym/variable (str "l" i 
"_h2h_bias"))))
+                          (range 0 num-lstm-layer))
         last-states (mapv (fn [i]
-                             (lstm-state (sym/variable (str "l" i 
"_init_c_beta"))
-                                         (sym/variable (str "l" i 
"_init_h_beta"))))
+                            (lstm-state (sym/variable (str "l" i 
"_init_c_beta"))
+                                        (sym/variable (str "l" i 
"_init_h_beta"))))
                           (range 0 num-lstm-layer))
         data (sym/variable "data")
         dp-ratio 0
diff --git a/contrib/clojure-package/examples/rnn/src/rnn/test_char_rnn.clj 
b/contrib/clojure-package/examples/rnn/src/rnn/test_char_rnn.clj
index 35e1a18..d03b1a6 100644
--- a/contrib/clojure-package/examples/rnn/src/rnn/test_char_rnn.clj
+++ b/contrib/clojure-package/examples/rnn/src/rnn/test_char_rnn.clj
@@ -37,11 +37,11 @@
   (let [trained-mod (m/load-checkpoint {:prefix model-prefix :epoch epoch-num})
         trained-arg-params (m/arg-params trained-mod)
         model (lstm/lstm-inference-model {:num-lstm-layer 3
-                                     :input-size (inc (count vocab))
-                                     :num-label (inc (count vocab))
-                                     :num-hidden num-hidden
-                                     :num-embed num-embed
-                                     :arg-params trained-arg-params})
+                                          :input-size (inc (count vocab))
+                                          :num-label (inc (count vocab))
+                                          :num-hidden num-hidden
+                                          :num-embed num-embed
+                                          :arg-params trained-arg-params})
         input-ndarray (ndarray/zeros [1])
         revert-vocab (util/make-revert-vocab vocab)
         fix-dict (into [""]
@@ -68,7 +68,6 @@
                      output
                      (str output next-char)))))))))
 
-
 (comment
 
   (rnn-test "data/obama" 75 200 false)
@@ -76,4 +75,4 @@
 
   (rnn-test "data/obama" 75 200 true)
   ;=>"The joke before them prepared for five years ago, we only hear a chance 
to lose our efforts and they made striggling procedural deficit at the city 
between a politics in the efforts on the Edmund Pett"
-  )
+)
diff --git a/contrib/clojure-package/examples/rnn/src/rnn/train_char_rnn.clj 
b/contrib/clojure-package/examples/rnn/src/rnn/train_char_rnn.clj
index d246760..29aba26 100644
--- a/contrib/clojure-package/examples/rnn/src/rnn/train_char_rnn.clj
+++ b/contrib/clojure-package/examples/rnn/src/rnn/train_char_rnn.clj
@@ -69,15 +69,15 @@
 
 
 (defn build-training-data [path]
-    (let [content (slurp path)
-          sentences (string/split content #"\n")
-          max-length (first buckets)
-          padding-int 0]
-      (doall (for [sentence sentences]
-               (let [ids (mapv #(get vocab %) sentence)]
-                 (if (>= (count ids) max-length)
-                   (into [] (take max-length ids))
-                   (into ids (repeat (- max-length (count ids)) 0))))))))
+  (let [content (slurp path)
+        sentences (string/split content #"\n")
+        max-length (first buckets)
+        padding-int 0]
+    (doall (for [sentence sentences]
+             (let [ids (mapv #(get vocab %) sentence)]
+               (if (>= (count ids) max-length)
+                 (into [] (take max-length ids))
+                 (into ids (repeat (- max-length (count ids)) 0))))))))
 
 (defn build-labels [train-data]
     ;; want to learn the next char some rotate by 1
@@ -90,7 +90,6 @@
         (first)
         (apply hash-map)))
 
-
 (defn train [devs]
   (let [;; initialize the states for the lstm
         init-c (into {} (map (fn [l]
@@ -118,7 +117,7 @@
 
         rnn-mod (-> (m/module rnn-sym {:contexts devs})
                     (m/bind {:data-shapes (into (mx-io/provide-data train-iter)
-                                            (mapv (fn [[k v]] {:name k :shape 
v}) init-states))
+                                                (mapv (fn [[k v]] {:name k 
:shape v}) init-states))
                              :label-shapes (mx-io/provide-label train-iter)})
                     (m/init-params {:initializer (init/xavier {:factor-type 
"in" :magnitude 2.34})})
                     (m/init-optimizer {:optimizer (optimizer/adam 
{:learning-rate learning-rate :wd 0.0001})}))
@@ -138,8 +137,7 @@
                                     (mapv #(Math/log %))
                                     (mapv #(* -1.0 %))
                                     (apply +))]
-                    (float (Math/exp (/ result (count labels)))))
-                  )
+                    (float (Math/exp (/ result (count labels))))))
 
                 "perplexity")]
 
@@ -151,11 +149,11 @@
        (fn [batch-num batch]
          (let [batch (mx-io/next train-iter)]
            (-> rnn-mod
-            (m/forward (mx-io/data-batch {:data (into (mx-io/batch-data batch) 
init-states-data)
-                                          :label (mx-io/batch-label batch)}))
-            (m/update-metric metric (mx-io/batch-label batch))
-            (m/backward)
-            (m/update))
+               (m/forward (mx-io/data-batch {:data (into (mx-io/batch-data 
batch) init-states-data)
+                                             :label (mx-io/batch-label 
batch)}))
+               (m/update-metric metric (mx-io/batch-label batch))
+               (m/backward)
+               (m/update))
            (when (zero? (mod batch-num 10))
              (println "Eval metric for batch-num " batch-num " is " 
(eval-metric/get metric)))
            (inc batch-num))))
@@ -171,7 +169,6 @@
     (println (test-rnn/rnn-test "data/obama" 75 200 true))
     (println "=====")))
 
-
 (defn -main [& args]
   (let [[dev dev-num] args
         devs (if (= dev ":gpu")
diff --git a/contrib/clojure-package/examples/rnn/src/rnn/util.clj 
b/contrib/clojure-package/examples/rnn/src/rnn/util.clj
index 27e2132..bce5bb7 100644
--- a/contrib/clojure-package/examples/rnn/src/rnn/util.clj
+++ b/contrib/clojure-package/examples/rnn/src/rnn/util.clj
@@ -21,13 +21,13 @@
 (defn build-vocab [path]
   (let [content (slurp path)
         vocab-map (reduce (fn [{:keys [vocab idx] :as result} c]
-                               (if (get vocab c)
-                result
-                (-> result
-                    (update :vocab assoc c (inc idx))
-                    (update :idx inc))))
-                             {:vocab {} :idx 0}     ;; 0 is used for padding
-                             content)]
+                            (if (get vocab c)
+                              result
+                              (-> result
+                                  (update :vocab assoc c (inc idx))
+                                  (update :idx inc))))
+                          {:vocab {} :idx 0}     ;; 0 is used for padding
+                          content)]
     (:vocab vocab-map)))
 
 (defn make-revert-vocab [vmap]
@@ -42,10 +42,9 @@
 
 (defn cdf [weights]
   (let [total (* 1.0 (apply + weights))
-        csums (reduce (fn [cumsum w] (conj cumsum (+ (or (last cumsum) 0) w)) 
) [] weights)]
+        csums (reduce (fn [cumsum w] (conj cumsum (+ (or (last cumsum) 0) w))) 
[] weights)]
     (mapv #(/ % total) csums)))
 
-
 (defn choice [population weights]
   (assert (= (count population) (count weights)))
   (let [cdf-vals (cdf weights)
diff --git a/contrib/clojure-package/examples/tutorial/project.clj 
b/contrib/clojure-package/examples/tutorial/project.clj
index 027c1d3..ab7606e 100644
--- a/contrib/clojure-package/examples/tutorial/project.clj
+++ b/contrib/clojure-package/examples/tutorial/project.clj
@@ -17,5 +17,6 @@
 
 (defproject tutorial "0.1.0-SNAPSHOT"
   :description "MXNET tutorials"
+  :plugins [[lein-cljfmt "0.5.7"]]
   :dependencies [[org.clojure/clojure "1.9.0"]
                  [org.apache.mxnet.contrib.clojure/clojure-mxnet 
"1.3.0-SNAPSHOT"]])
diff --git a/contrib/clojure-package/examples/tutorial/src/tutorial/kvstore.clj 
b/contrib/clojure-package/examples/tutorial/src/tutorial/kvstore.clj
index 5780ac2..558b21f 100644
--- a/contrib/clojure-package/examples/tutorial/src/tutorial/kvstore.clj
+++ b/contrib/clojure-package/examples/tutorial/src/tutorial/kvstore.clj
@@ -48,7 +48,7 @@
 (def cpus [(context/cpu 0) (context/cpu 1) (context/cpu 2)])
 (def b [(ndarray/ones shape {:ctx (nth cpus 0)})
         (ndarray/ones shape {:ctx (nth cpus 1)})
-        (ndarray/ones shape {:ctx (nth cpus 2)}) ])
+        (ndarray/ones shape {:ctx (nth cpus 2)})])
 (kvstore/push kv ["3" "3" "3"] b)
 (kvstore/pull kv "3" a)
 (ndarray/->vec a) ;=> [3.0 3.0 3.0 3.0 3.0 3.0]
@@ -57,7 +57,7 @@
 ;;Pull
 ;;You’ve already seen how to pull a single key-value pair. Similar to the way 
that you use the push command, you can pull the value into several devices with 
a single call.
 (def b [(ndarray/ones shape {:ctx (context/cpu 0)})
-        (ndarray/ones shape {:ctx (context/cpu 1)}) ])
+        (ndarray/ones shape {:ctx (context/cpu 1)})])
 (kvstore/pull kv ["3" "3"] b)
 (map ndarray/->vec b) ;=> ([3.0 3.0 3.0 3.0 3.0 3.0] [3.0 3.0 3.0 3.0 3.0 3.0])
 
@@ -67,7 +67,7 @@
 (def ks ["5" "7" "9"])
 (kvstore/init kv ks [(ndarray/ones shape) (ndarray/ones shape) (ndarray/ones 
shape)])
 (kvstore/push kv ks [(ndarray/ones shape) (ndarray/ones shape) (ndarray/ones 
shape)])
-(def b [(ndarray/zeros shape) (ndarray/zeros shape)(ndarray/zeros shape)])
+(def b [(ndarray/zeros shape) (ndarray/zeros shape) (ndarray/zeros shape)])
 (kvstore/pull kv ks b)
 (map ndarray/->vec b);=> ([1.0 1.0 1.0 1.0 1.0 1.0] [1.0 1.0 1.0 1.0 1.0 1.0] 
[1.0 1.0 1.0 1.0 1.0 1.0])
 
diff --git a/contrib/clojure-package/examples/tutorial/src/tutorial/module.clj 
b/contrib/clojure-package/examples/tutorial/src/tutorial/module.clj
index ad5ff13..0009a01 100644
--- a/contrib/clojure-package/examples/tutorial/src/tutorial/module.clj
+++ b/contrib/clojure-package/examples/tutorial/src/tutorial/module.clj
@@ -31,14 +31,14 @@
 
 ;;; Load the MNIST datasets
 (def train-data (mx-io/mnist-iter {:image (str data-dir 
"train-images-idx3-ubyte")
-                                       :label (str data-dir 
"train-labels-idx1-ubyte")
-                                       :label-name "softmax_label"
-                                       :input-shape [784]
-                                       :batch-size 10
-                                       :shuffle true
-                                       :flat true
-                                       :silent false
-                                       :seed 10}))
+                                   :label (str data-dir 
"train-labels-idx1-ubyte")
+                                   :label-name "softmax_label"
+                                   :input-shape [784]
+                                   :batch-size 10
+                                   :shuffle true
+                                   :flat true
+                                   :silent false
+                                   :seed 10}))
 
 (def test-data (mx-io/mnist-iter {:image (str data-dir 
"t10k-images-idx3-ubyte")
                                   :label (str data-dir 
"t10k-labels-idx1-ubyte")
@@ -131,10 +131,10 @@
 
 (let [save-prefix "my-model"]
   (doseq [epoch-num (range 3)]
-        (mx-io/do-batches train-data (fn [batch
+    (mx-io/do-batches train-data (fn [batch
                                           ;; do something
-                                          ]))
-        (m/save-checkpoint mod {:prefix save-prefix :epoch epoch-num 
:save-opt-states true})))
+]))
+    (m/save-checkpoint mod {:prefix save-prefix :epoch epoch-num 
:save-opt-states true})))
 
 ;; INFO  ml.dmlc.mxnet.module.Module: Saved checkpoint to my-model-0000.params
 ;; INFO  ml.dmlc.mxnet.module.Module: Saved optimizer state to 
my-model-0000.states
@@ -155,8 +155,8 @@
 ;;To get current parameters, use `params`
 
 (let [[arg-params aux-params] (m/params new-mod)]
-     {:arg-params arg-params
-      :aux-params aux-params})
+  {:arg-params arg-params
+   :aux-params aux-params})
 
 ;; {:arg-params
 ;;  {"fc3_bias"
@@ -190,30 +190,3 @@
 ;;Create fit-params, and then use it to set `begin-epoch` so that fit() knows 
to resume from a saved epoch.
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/contrib/clojure-package/examples/visualization/project.clj 
b/contrib/clojure-package/examples/visualization/project.clj
index 6dc7c49..99d0e40 100644
--- a/contrib/clojure-package/examples/visualization/project.clj
+++ b/contrib/clojure-package/examples/visualization/project.clj
@@ -17,6 +17,7 @@
 
 (defproject visualization "0.1.0-SNAPSHOT"
   :description "Visualization example"
-  :main visualization.core
+  :plugins [[lein-cljfmt "0.5.7"]]
   :dependencies [[org.clojure/clojure "1.9.0"]
-                 [org.apache.mxnet.contrib.clojure/clojure-mxnet 
"1.3.0-SNAPSHOT"]])
+                 [org.apache.mxnet.contrib.clojure/clojure-mxnet 
"1.3.0-SNAPSHOT"]]
+  :main visualization.core)
diff --git 
a/contrib/clojure-package/examples/visualization/src/visualization/core.clj 
b/contrib/clojure-package/examples/visualization/src/visualization/core.clj
index 58980a0..31cce92 100644
--- a/contrib/clojure-package/examples/visualization/src/visualization/core.clj
+++ b/contrib/clojure-package/examples/visualization/src/visualization/core.clj
@@ -25,10 +25,7 @@
     #_(sym/convolution "conv1" {:data data :kernel [3 3] :num-filter 32 
:stride [2 2]})
     #_(sym/batch-norm "bn1" {:data data})
     #_(sym/activation "relu1" {:data data :act-type "relu"})
-    #_(sym/pooling "mp1" {:data data :kernel [2 2] :pool-type "max" :stride [2 
2]})
-
-
-    #_(sym/convolution "conv2" {:data data :kernel [3 3] :num-filter 32 
:stride [2 2]})
+    #_(sym/pooling "mp1" {:data data :kernel [2 2] :pool-type "max" :stride [2 
2]}) #_(sym/convolution "conv2" {:data data :kernel [3 3] :num-filter 32 
:stride [2 2]})
     #_(sym/batch-norm "bn2" {:data data})
     #_(sym/activation "relu2" {:data data :act-type "relu"})
     #_(sym/pooling "mp2" {:data data :kernel [2 2] :pool-type "max" :stride [2 
2]})
@@ -39,12 +36,11 @@
 
 (defn test-viz []
   (let [dot (viz/plot-network (get-symbol)
-                          {"data" [1 1 28 28]}
-                          {:title "foo" :node-attrs {:shape "oval" :fixedsize 
"false"}})]
+                              {"data" [1 1 28 28]}
+                              {:title "foo" :node-attrs {:shape "oval" 
:fixedsize "false"}})]
     (viz/render dot "testviz" "./")))
 
 (defn -main [& args]
   (do (test-viz)
       (println "Check for the testviz.pdf file in the project directory")))
 
-
diff --git a/contrib/clojure-package/vi ci-test.sh 
b/contrib/clojure-package/lein-cljfmt-check
old mode 100644
new mode 100755
similarity index 73%
copy from contrib/clojure-package/vi ci-test.sh
copy to contrib/clojure-package/lein-cljfmt-check
index dc12f13..93f2d3c
--- a/contrib/clojure-package/vi ci-test.sh     
+++ b/contrib/clojure-package/lein-cljfmt-check
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env sh
 
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
@@ -17,8 +17,8 @@
 # specific language governing permissions and limitations
 # under the License.
 
+set -vx
 
-set -evx
-
-cd contrib/clojure-package
-lein test
+lein cljfmt check `find ./src/org/apache/clojure_mxnet -depth 1 -type f -iname 
"*.clj" | grep -v /gen/`
+lein cljfmt check `find ./test -type f -iname "*.clj" | grep -v 
/test/good-test`
+lein cljfmt check `find ./examples -type f -iname "*.clj" | grep -v /scripts/`
diff --git a/contrib/clojure-package/vi ci-test.sh 
b/contrib/clojure-package/lein-cljfmt-fix
old mode 100644
new mode 100755
similarity index 74%
rename from contrib/clojure-package/vi ci-test.sh
rename to contrib/clojure-package/lein-cljfmt-fix
index dc12f13..8c35892
--- a/contrib/clojure-package/vi ci-test.sh     
+++ b/contrib/clojure-package/lein-cljfmt-fix
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env sh
 
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
@@ -17,8 +17,8 @@
 # specific language governing permissions and limitations
 # under the License.
 
-
 set -evx
 
-cd contrib/clojure-package
-lein test
+lein cljfmt fix `find ./src/org/apache/clojure_mxnet -type f -iname "*.clj" | 
grep -v /gen/`
+lein cljfmt fix `find ./test -type f -iname "*.clj" | grep -v /test/good-test`
+lein cljfmt fix `find ./examples -type f -iname "*.clj" | grep -v /scripts/`
diff --git a/contrib/clojure-package/project.clj 
b/contrib/clojure-package/project.clj
index 42da163..5d94fa7 100644
--- a/contrib/clojure-package/project.clj
+++ b/contrib/clojure-package/project.clj
@@ -34,7 +34,8 @@
                  [org.slf4j/slf4j-log4j12 "1.7.25" :exclusions 
[org.slf4j/slf4j-api]]]
   :pedantic? :skip
   :plugins [[lein-codox "0.10.3" :exclusions [org.clojure/clojure]]
-            [lein-cloverage "1.0.10" :exclusions [org.clojure/clojure]]]
+            [lein-cloverage "1.0.10" :exclusions [org.clojure/clojure]]
+            [lein-cljfmt "0.5.7"]]
   :codox {:namespaces [#"^org\.apache\.clojure-mxnet\.(?!gen).*"]}
   :aot [dev.generator]
   :repositories [["staging" {:url 
"https://repository.apache.org/content/repositories/staging";
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/callback.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/callback.clj
index d1c6d88..c007720 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/callback.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/callback.clj
@@ -18,7 +18,6 @@
 (ns org.apache.clojure-mxnet.callback
   (:import (org.apache.mxnet Callback$Speedometer)))
 
-
 ;;; used to track status during epoch
 
 (defn speedometer
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/context.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/context.clj
index f89fd58..126838c 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/context.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/context.clj
@@ -18,7 +18,6 @@
 (ns org.apache.clojure-mxnet.context
   (:import (org.apache.mxnet Context)))
 
-
 (defn cpu
   ([device-id]
    (new Context "cpu" device-id))
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/dtype.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/dtype.clj
index d21fe7f..1d96c22 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/dtype.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/dtype.clj
@@ -18,7 +18,6 @@
 (ns org.apache.clojure-mxnet.dtype
   (:import (org.apache.mxnet DType)))
 
-
 (def UINT8 (DType/UInt8))
 (def INT32 (DType/Int32))
 (def FLOAT16 (DType/Float16))
diff --git 
a/contrib/clojure-package/src/org/apache/clojure_mxnet/eval_metric.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/eval_metric.clj
index 3cddb1f..1946103 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/eval_metric.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/eval_metric.clj
@@ -20,7 +20,6 @@
   (:require [org.apache.clojure-mxnet.util :as util])
   (:import (org.apache.mxnet Accuracy TopKAccuracy F1 Perplexity MAE MSE RMSE 
CustomMetric)))
 
-
 (defn accuracy
   "Basic Accuracy Metric"
   []
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/executor.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/executor.clj
index d1f8df9..4f4155e 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/executor.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/executor.clj
@@ -21,7 +21,6 @@
             [org.apache.clojure-mxnet.ndarray :as ndarray]
             [org.apache.clojure-mxnet.shape :as mx-shape]))
 
-
 ;; need to revisit to get all functions
 
 (defn ->vec [nd-array]
@@ -96,7 +95,7 @@
    (do
      (let [kwargs-shapes (zipmap (keys kwargs)
                                  (mapv (fn [v] (if (vector? v) 
(mx-shape/->shape v) v)) (vals kwargs)))]
-      (.reshape executor partial-shaping allow-up-sizing (util/convert-map 
kwargs-shapes)))
+       (.reshape executor partial-shaping allow-up-sizing (util/convert-map 
kwargs-shapes)))
      executor))
   ([executor kwargs]
    (reshape executor kwargs {})))
diff --git 
a/contrib/clojure-package/src/org/apache/clojure_mxnet/initializer.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/initializer.clj
index 58413c8..a161759 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/initializer.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/initializer.clj
@@ -20,7 +20,7 @@
   (:import (org.apache.mxnet Uniform Normal Xavier)))
 
 (defn uniform
- "Initialize the weight with uniform [-scale, scale]
+  "Initialize the weight with uniform [-scale, scale]
    scale - The scale of uniform distribution"
   ([scale]
    (new Uniform (float scale)))
@@ -41,9 +41,9 @@
   factor-type - 'avg' 'in' or 'out'
   magnitude - scale of random number range "
   ([{:keys [rand-type factor-type magnitude :as opts]
-      :or {rand-type "uniform"
-           factor-type "avg"
-           magnitude 3}}]
+     :or {rand-type "uniform"
+          factor-type "avg"
+          magnitude 3}}]
    (new Xavier rand-type factor-type (float magnitude)))
   ([]
    (xavier {})))
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/io.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/io.clj
index 2f73beb..d6f1499 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/io.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/io.clj
@@ -27,7 +27,6 @@
   (:import (org.apache.mxnet IO DataDesc DataBatch NDArray)
            (org.apache.mxnet.io ResizeIter PrefetchingIter NDArrayIter 
MXDataIter)))
 
-
 (defn batches
   "Convert the data-pack to a batch seq"
   [data-pack]
@@ -56,19 +55,19 @@
 (defn iterator [data-pack]
   (.iterator data-pack))
 
-(defn resize-iter [iter nbatch ])
+(defn resize-iter [iter nbatch])
 
 (defn provide-data [pack-iterator]
-    (->> pack-iterator
-        (.provideData)
-        (util/scala-map->map)
-        (mapv (fn [[k v]] {:name k :shape (mx-shape/->vec v)}))))
+  (->> pack-iterator
+       (.provideData)
+       (util/scala-map->map)
+       (mapv (fn [[k v]] {:name k :shape (mx-shape/->vec v)}))))
 
 (defn provide-label [pack-iterator]
-    (->> pack-iterator
-         (.provideLabel)
-         (util/scala-map->map)
-         (mapv (fn [[k v]] {:name k :shape (mx-shape/->vec v)}))))
+  (->> pack-iterator
+       (.provideLabel)
+       (util/scala-map->map)
+       (mapv (fn [[k v]] {:name k :shape (mx-shape/->vec v)}))))
 
 (defn reset [iterator]
   (.reset iterator))
@@ -89,7 +88,7 @@
   (util/scala-vector->vec (.initLabel iterator)))
 
 (defmacro do-batches [iter f]
-   "Takes an iterator and a function of one argument. The iterator will be 
reset and run thhrough all the batches with the batch passed to the function 
argument. nil is returned"
+  "Takes an iterator and a function of one argument. The iterator will be 
reset and run thhrough all the batches with the batch passed to the function 
argument. nil is returned"
   `(do
      (reset ~iter)
      (loop [it# ~iter]
@@ -126,48 +125,48 @@
    `(reduce-batches ~iter ~f 0)))
 
 (defn
- csv-iter
- ([kwargs]
-  (util/apply-scala-fn (IO/CSVIter) (util/convert-io-map kwargs))))
+  csv-iter
+  ([kwargs]
+   (util/apply-scala-fn (IO/CSVIter) (util/convert-io-map kwargs))))
 
 (defn
- csv-pack
- ([kwargs]
-  (util/apply-scala-fn (IO/CSVPack) (util/convert-io-map kwargs))))
+  csv-pack
+  ([kwargs]
+   (util/apply-scala-fn (IO/CSVPack) (util/convert-io-map kwargs))))
 
 (defn
- image-recode-pack
- ([kwargs]
-  (util/apply-scala-fn
-   (IO/ImageRecodePack)
-   (util/convert-io-map kwargs))))
+  image-recode-pack
+  ([kwargs]
+   (util/apply-scala-fn
+    (IO/ImageRecodePack)
+    (util/convert-io-map kwargs))))
 
 (defn
- image-record-iter
- ([kwargs]
-  (util/apply-scala-fn
-   (IO/ImageRecordIter)
-   (util/convert-io-map kwargs))))
+  image-record-iter
+  ([kwargs]
+   (util/apply-scala-fn
+    (IO/ImageRecordIter)
+    (util/convert-io-map kwargs))))
 
 (defn
- mnist-iter
- ([kwargs]
-  (util/apply-scala-fn (IO/MNISTIter) (util/convert-io-map kwargs))))
+  mnist-iter
+  ([kwargs]
+   (util/apply-scala-fn (IO/MNISTIter) (util/convert-io-map kwargs))))
 
 (defn
- mnist-pack
- ([kwargs]
-  (util/apply-scala-fn (IO/MNISTPack) (util/convert-io-map kwargs))))
+  mnist-pack
+  ([kwargs]
+   (util/apply-scala-fn (IO/MNISTPack) (util/convert-io-map kwargs))))
 
 (defn
- create-iterator
- ([iter-name kwargs-map]
-  (util/coerce-return (IO/createIterator iter-name (util/convert-io-map 
kwargs-map)))))
+  create-iterator
+  ([iter-name kwargs-map]
+   (util/coerce-return (IO/createIterator iter-name (util/convert-io-map 
kwargs-map)))))
 
 (defn
- create-mx-data-pack
- ([pack-name kwargs-map]
-  (util/coerce-return (IO/createMXDataPack pack-name (util/convert-io-map 
kwargs-map)))))
+  create-mx-data-pack
+  ([pack-name kwargs-map]
+   (util/coerce-return (IO/createMXDataPack pack-name (util/convert-io-map 
kwargs-map)))))
 
 (defn resize-iter
   "* Resize a data iterator to given number of batches per epoch.
@@ -233,7 +232,6 @@
 (s/def ::dtype #{dtype/UINT8 dtype/INT32 dtype/FLOAT16 dtype/FLOAT32 
dtype/FLOAT64})
 (s/def ::data-desc (s/keys :req-un [::name ::shape] :opt-un [::dtype 
::layout]))
 
-
 ;; NCHW is N:batch size C: channel H: height W: width
 ;;; other layouts are
 ;; NT, TNC, nad N
@@ -249,7 +247,7 @@
                              (= 3 sc) "TNC"
                              (= 4 sc) "NCHW"
                              :else (apply str (repeat sc "?"))))]
-    (new DataDesc name (mx-shape/->shape shape) dtype layout)))
+     (new DataDesc name (mx-shape/->shape shape) dtype layout)))
   ([name shape]
    (data-desc {:name name :shape shape})))
 
@@ -276,40 +274,40 @@
   ;;  provided-data and provided label is a map of name to shape to indicate 
the order of the data/label loading
   (util/validate! ::data-batch info "Invalid data batch")
   (new DataBatch
-        (util/vec->indexed-seq data)
-        (util/vec->indexed-seq label)
-        (util/vec->indexed-seq index)
-        (int pad)
-        bucket-key
-        (when provided-data (util/list-map provided-data))
-        (when provided-label(util/list-map provided-label))))
+       (util/vec->indexed-seq data)
+       (util/vec->indexed-seq label)
+       (util/vec->indexed-seq index)
+       (int pad)
+       bucket-key
+       (when provided-data (util/list-map provided-data))
+       (when provided-label (util/list-map provided-label))))
 
 (defn rand-iter
   "A implementation of a random noise iterator
    Instead of data pass in the shape vector of the noise shape"
   ([shape-vec {:keys [label data-batch-size shuffle last-batch-handle 
data-name label-name] :as opts
-          :or {label nil
-               data-batch-size 1
-               shuffle false
-               last-batch-handle "pad"
-               data-name "rand"
-               label-name "label"}}]
+               :or {label nil
+                    data-batch-size 1
+                    shuffle false
+                    last-batch-handle "pad"
+                    data-name "rand"
+                    label-name "label"}}]
    (let [data [(ndarray/ones shape-vec)]]
-    (proxy [NDArrayIter]
-        [(util/vec->indexed-seq data)
-         (if label (util/vec->indexed-seq label) (util/empty-indexed-seq))
-         (int data-batch-size)
-         shuffle
-         last-batch-handle
-         data-name
-         label-name]
-        (provideData []
-          (util/list-map {data-name (mx-shape/->vec (ndarray/shape (first 
data)))}))
-        (provideLabel [] (util/empty-list-map))
-        (hasNext [] true)
-        (getData
-          ([] (util/vec->indexed-seq [(random/normal 0 1 (mx-shape/->vec 
(ndarray/shape (first data))))])))
-        (getLabel
-          ([] (util/vec->indexed-seq []))))))
+     (proxy [NDArrayIter]
+            [(util/vec->indexed-seq data)
+             (if label (util/vec->indexed-seq label) (util/empty-indexed-seq))
+             (int data-batch-size)
+             shuffle
+             last-batch-handle
+             data-name
+             label-name]
+       (provideData []
+         (util/list-map {data-name (mx-shape/->vec (ndarray/shape (first 
data)))}))
+       (provideLabel [] (util/empty-list-map))
+       (hasNext [] true)
+       (getData
+         ([] (util/vec->indexed-seq [(random/normal 0 1 (mx-shape/->vec 
(ndarray/shape (first data))))])))
+       (getLabel
+         ([] (util/vec->indexed-seq []))))))
   ([shape-vec]
    (rand-iter shape-vec {})))
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/kvstore.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/kvstore.clj
index 574bd77..ea7e7f9 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/kvstore.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/kvstore.clj
@@ -40,7 +40,6 @@
   [kvstore]
   (.dispose kvstore))
 
-
 (s/def ::ks (s/or :string string?
                   :vec-of-string (s/coll-of string? :kind vector?)))
 (s/def ::ndarray #(instance? NDArray %))
@@ -83,10 +82,10 @@
    (util/validate! ::priority priority "Invalid priority")
    (let [store-vals (if (vector? vs) vs [vs])
          store-keys (if (vector? ks) ks (into [] (repeat (count store-vals) 
ks)))]
-    (doto kvstore
-      (.push (into-array store-keys)
-             (into-array store-vals)
-             (int priority)))))
+     (doto kvstore
+       (.push (into-array store-keys)
+              (into-array store-vals)
+              (int priority)))))
   ([kvstore ks vs]
    (push kvstore ks vs 0)))
 
@@ -113,10 +112,10 @@
    (util/validate! ::priority priority "Invalid priority")
    (let [store-vals (if (vector? outs) outs [outs])
          store-keys (if (vector? ks) ks (into [] (repeat (count store-vals) 
ks)))]
-    (doto kvstore
-      (.pull (into-array store-keys)
-             (into-array store-vals)
-             (int priority)))))
+     (doto kvstore
+       (.pull (into-array store-keys)
+              (into-array store-vals)
+              (int priority)))))
   ([kvstore ks outs]
    (pull kvstore ks outs 0)))
 
@@ -183,7 +182,6 @@
   (doto kvstore
     (.sendCommandToServers (int head) body)))
 
-
 (s/def ::fname string?)
 
 (defn save-optimizer-states
diff --git 
a/contrib/clojure-package/src/org/apache/clojure_mxnet/kvstore_server.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/kvstore_server.clj
index 7fa116d..ffce70a 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/kvstore_server.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/kvstore_server.clj
@@ -21,14 +21,12 @@
             [clojure.spec.alpha :as s])
   (:import (org.apache.mxnet KVStoreServer)))
 
-
 (s/def ::env-map (s/map-of string? string?))
 
 (defn init [env-map]
   (util/validate! ::env-map env-map "Invalid environment map")
   (KVStoreServer/init (util/convert-map env-map)))
 
-
 (s/def ::die-if-others-go-out-timeout int?)
 
 (defn start
diff --git 
a/contrib/clojure-package/src/org/apache/clojure_mxnet/lr_scheduler.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/lr_scheduler.clj
index d08c40e..d396540 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/lr_scheduler.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/lr_scheduler.clj
@@ -18,7 +18,6 @@
 (ns org.apache.clojure-mxnet.lr-scheduler
   (:import (org.apache.mxnet FactorScheduler)))
 
-
 (defn factor-scheduler
   "Assume the weight has been updated by n times, then the learning rate will
     be base_lr * factor^^(floor(n/step))
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/module.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/module.clj
index 42d206a..22ab761 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/module.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/module.clj
@@ -33,7 +33,6 @@
            (org.apache.mxnet Initializer Optimizer NDArray DataBatch
                              Context EvalMetric Monitor Callback$Speedometer 
DataDesc)))
 
-
 (defn module
   "Module is a basic module that wrap a symbol.
    sym : Symbol definition.
@@ -131,7 +130,7 @@
 (s/def ::force-init boolean?)
 (s/def ::allow-extra boolean?)
 (s/def ::init-params-opts (s/keys :opt-un [::initializer ::arg-params 
::aux-params
-                                          ::force-init ::allow-extra]))
+                                           ::force-init ::allow-extra]))
 
 (defn init-params
   " Initialize the parameters and auxiliary states.
@@ -190,7 +189,6 @@
   ([mod]
    (init-optimizer mod {})))
 
-
 (defn forward
   "Forward computation.
    data-batch -  input data of form io/data-batch either map or DataBatch
@@ -206,7 +204,6 @@
   ([mod data-batch-map]
    (forward mod data-batch-map nil)))
 
-
 (s/def ::ndarray #(instance? NDArray %))
 (s/def ::out-grads (s/nilable (s/coll-of ::ndarray)))
 
@@ -299,7 +296,6 @@
   ([mod prefix epoch]
    (save-checkpoint mod {:prefix prefix :epoch epoch})))
 
-
 (s/def ::load-optimizer-states boolean?)
 (s/def ::data-names (s/coll-of string? :kind vector?))
 (s/def ::label-names (s/coll-of string? :kind vector?))
@@ -419,7 +415,6 @@
   (doto mod
     (.installMonitor monitor)))
 
-
 (defn borrow-optimizer
   "Borrow optimizer from a shared module. Used in bucketing, where exactly the 
same
    optimizer (esp. kvstore) is used.
@@ -446,11 +441,9 @@
   (doto mod
     (.loadOptimzerStates fname)))
 
-
 (s/def ::eval-metric #(instance? EvalMetric %))
 (s/def ::labels (s/coll-of ::ndarray :kind vector?))
 
-
 (defn update-metric
   "Evaluate and accumulate evaluation metric on outputs of the last forward 
computation.
     - mod module
@@ -462,7 +455,6 @@
   (doto mod
     (.updateMetric eval-metric (util/vec->indexed-seq labels))))
 
-
 (s/def ::begin-epoch int?)
 (s/def ::validation-metric ::eval-metric)
 (s/def ::monitor #(instance? Monitor %))
@@ -472,7 +464,6 @@
                                           ::force-init ::begin-epoch 
::validation-metric ::monitor
                                           ::batch-end-callback]))
 
-
 ;; callbacks are not supported for now
 (defn fit-params
   "Fit Params"
@@ -490,23 +481,22 @@
           begin-epoch 0}}]
    (util/validate! ::fit-params-opts opts "Invalid fit param opts")
    (doto (new FitParams)
-      (.setEvalMetric eval-metric)
-      (.setKVStore kvstore)
-      (.setOptimizer optimizer)
-      (.setInitializer initializer)
-      (.setArgParams (some-> arg-params (util/convert-map)))
-      (.setAuxParams (some-> aux-params (util/convert-map)))
-      (.setAllowMissing allow-missing)
-      (.setForceRebind force-rebind)
-      (.setForceInit force-init)
-      (.setBeginEpoch (int begin-epoch))
-      (.setValidationMetric validation-metric)
-      (.setMonitor monitor)
-      (.setBatchEndCallback batch-end-callback)))
+     (.setEvalMetric eval-metric)
+     (.setKVStore kvstore)
+     (.setOptimizer optimizer)
+     (.setInitializer initializer)
+     (.setArgParams (some-> arg-params (util/convert-map)))
+     (.setAuxParams (some-> aux-params (util/convert-map)))
+     (.setAllowMissing allow-missing)
+     (.setForceRebind force-rebind)
+     (.setForceInit force-init)
+     (.setBeginEpoch (int begin-epoch))
+     (.setValidationMetric validation-metric)
+     (.setMonitor monitor)
+     (.setBatchEndCallback batch-end-callback)))
   ([]
    (new FitParams)))
 
-
 (s/def ::mx-data-iter #(instance? MXDataIter %))
 (s/def ::ndarray-iter #(instance? NDArrayIter %))
 (s/def ::train-data (s/or :mx-iter ::mx-data-iter :ndarry-iter ::ndarray-iter))
@@ -515,7 +505,6 @@
 (s/def ::fit-params #(instance? FitParams %))
 (s/def ::fit-options (s/keys :req-un [::train-data] :opt-un [::eval-data 
::num-epoch ::fit-params]))
 
-
 ;;; High Level API
 
 (defn score
@@ -556,8 +545,8 @@
    - num-epoch Number of epochs to run training.
    - f-params Extra parameters for training (See fit-params)."
   [mod {:keys [train-data eval-data num-epoch fit-params] :as opts
-        `            :or {num-epoch 1
-                          fit-params (new FitParams)}}]
+        `:or {num-epoch 1
+              fit-params (new FitParams)}}]
   (util/validate! ::fit-options opts "Invalid options for fit")
   (let [fmod (-> mod
                  (bind {:data-shapes (mx-io/provide-data train-data)
@@ -576,37 +565,37 @@
         val-metric (or (util/option->value (.validationMetric fit-params)) 
(eval-metric/accuracy))]
     (doseq [i (range num-epoch)]
       (let [tic (System/currentTimeMillis)]
-       (mx-io/reduce-batches train-data
-                             (fn [batch-num batch]
-                               (-> fmod
-                                   (forward batch)
-                                   (backward)
-                              (update)
-                              (update-metric eval-metric (mx-io/batch-label 
batch)))
-                               (when-let [cb (util/option->value 
(.batchEndCallback fit-params))]
-                                 (callback/invoke cb i batch-num eval-metric))
-                               (.dispose batch)
-                          (inc batch-num)))
-       (println "Epoch " i " Train-" (eval-metric/get eval-metric))
-       (println "Epoch " i " Time cost-" (- (System/currentTimeMillis) tic))
+        (mx-io/reduce-batches train-data
+                              (fn [batch-num batch]
+                                (-> fmod
+                                    (forward batch)
+                                    (backward)
+                                    (update)
+                                    (update-metric eval-metric 
(mx-io/batch-label batch)))
+                                (when-let [cb (util/option->value 
(.batchEndCallback fit-params))]
+                                  (callback/invoke cb i batch-num eval-metric))
+                                (.dispose batch)
+                                (inc batch-num)))
+        (println "Epoch " i " Train-" (eval-metric/get eval-metric))
+        (println "Epoch " i " Time cost-" (- (System/currentTimeMillis) tic))
 
        ;;sync across kvstores
-       (get-params fmod)
-       (when-let [cb (util/option->value (.epochEndCallback fit-params))]
-         (callback/invoke cb i 0 val-metric))
+        (get-params fmod)
+        (when-let [cb (util/option->value (.epochEndCallback fit-params))]
+          (callback/invoke cb i 0 val-metric))
 
        ;; evaluation on the validation set
-       (when eval-data
-         (let [res (score fmod {:eval-data eval-data :eval-metric eval-metric 
:epoch i})]
-          (println "Epoch " i " Validation- " res)))))
+        (when eval-data
+          (let [res (score fmod {:eval-data eval-data :eval-metric eval-metric 
:epoch i})]
+            (println "Epoch " i " Validation- " res)))))
     fmod)
   ;; old way if the problem with the sizes get resolved in DataDesc
   #_(doto mod
-    (.fit
-     train-data
-     (util/->option eval-data)
-     (int num-epoch)
-     fit-params)))
+      (.fit
+       train-data
+       (util/->option eval-data)
+       (int num-epoch)
+       fit-params)))
 
 (s/def ::eval-data ::train-data)
 (s/def ::num-batch integer?)
@@ -621,7 +610,7 @@
   (util/validate! ::mx-io/data-batch data-batch "Invalid data batch")
   (util/coerce-return (.predict mod (if (map? data-batch)
                                       (mx-io/data-batch data-batch)
-                                          data-batch))))
+                                      data-batch))))
 
 (defn predict
   "Run prediction and collect the outputs.
@@ -639,7 +628,6 @@
   (util/validate! ::predict-opts opts "Invalid opts for predict")
   (util/scala-vector->vec (.predict mod eval-data (int num-batch) reset)))
 
-
 (s/def ::predict-every-batch-opts (s/keys :req-un [::eval-data] :opt-un 
[::num-batch ::reset]))
 
 (defn predict-every-batch
@@ -660,11 +648,8 @@
   (util/validate! ::predict-every-batch-opts opts "Invalid opts for 
predict-every-batch")
   (mapv util/scala-vector->vec (util/scala-vector->vec (.predictEveryBatch mod 
eval-data (int num-batch) reset))))
 
-
-
 (s/def ::score-opts (s/keys :req-un [::eval-data ::eval-metric] :opt-un 
[::num-batch ::reset ::epoch]))
 
-
 (defn exec-group [mod]
   (.execGroup mod))
 
@@ -676,16 +661,13 @@
   (r/reflect DataDesc)
   (new DataDesc)
 
-        (.setEpochEndCallback (if epoch-end-callback
-                              (util/->option epoch-end-callback)
-                              (util/->option nil)))
-      (.setBatchEndCallback (if batch-end-callback
-                              (util/->option batch-end-callback)
-                              (util/->option nil)))
-
-      (fit-params {:allow-missing true})
-      (fit-params {})
-
-  )
+  (.setEpochEndCallback (if epoch-end-callback
+                          (util/->option epoch-end-callback)
+                          (util/->option nil)))
+  (.setBatchEndCallback (if batch-end-callback
+                          (util/->option batch-end-callback)
+                          (util/->option nil)))
 
+  (fit-params {:allow-missing true})
+  (fit-params {}))
 
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/monitor.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/monitor.clj
index 0550b4c..cbe0484 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/monitor.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/monitor.clj
@@ -19,7 +19,6 @@
   (:require [org.apache.clojure-mxnet.util :as util])
   (:import (org.apache.mxnet Monitor)))
 
-
 (defmacro monitor
   "Monitor outputs, weights, and gradients for debugging.
   -  interval Number of batches between printing.
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray.clj
index b471055..e37a8bc 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray.clj
@@ -26,7 +26,6 @@
             [t6.from-scala.core :refer [$] :as $])
   (:import (org.apache.mxnet NDArray)))
 
-
 ;; loads the generated functions into the namespace
 (do (clojure.core/load "gen/ndarray"))
 
@@ -80,7 +79,6 @@
   ([source-vec shape-vec]
    (array source-vec shape-vec {})))
 
-
 (defn arange
   "Returns evenly spaced values within a given interval.
    Values are generated within the half-open interval [`start`, `stop`). In 
other
@@ -88,14 +86,14 @@
   ([start stop  {:keys [step repeat ctx dtype]
                  :or {step (float 1) repeat (int 1) ctx 
(mx-context/default-context) dtype base/MX_REAL_TYPE}
                  :as opts}]
-   (NDArray/arange (float start) ($/option(float stop)) step repeat ctx dtype))
+   (NDArray/arange (float start) ($/option (float stop)) step repeat ctx 
dtype))
   ([start stop]
    (arange start stop {})))
 
 (defn slice
   "Return a sliced NDArray that shares memory with current one."
   ([ndarray i]
-         (.slice ndarray (int i)))
+   (.slice ndarray (int i)))
   ([ndarray start stop]
    (.slice ndarray (int start) (int stop))))
 
@@ -104,7 +102,6 @@
   [source-ndarray target-ndarray]
   (.copyTo source-ndarray target-ndarray))
 
-
 (defn save
   "Save list of NDArray or dict of str->NDArray to binary file
  (The name of the file.Can be S3 or HDFS address (remember built with S3 
support))
@@ -139,7 +136,7 @@
   (.asInContext ndarray ctx))
 
 (defn as-type
-   "Return a copied numpy array of current array with specified type."
+  "Return a copied numpy array of current array with specified type."
   [ndarray dtype]
   (.asType ndarray dtype))
 
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/optimizer.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/optimizer.clj
index 45dcc48..f18ff40 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/optimizer.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/optimizer.clj
@@ -22,10 +22,10 @@
 (defn sgd
   "A very simple SGD optimizer with momentum and weight regularization."
   ([{:keys [learning-rate momentum wd clip-gradient lr-scheduler] :as opts
-      :or {learning-rate 0.01
-           momentum 0.0
-           wd 0.0001
-           clip-gradient 0}}]
+     :or {learning-rate 0.01
+          momentum 0.0
+          wd 0.0001
+          clip-gradient 0}}]
    (new SGD (float learning-rate) (float momentum) (float wd) (float 
clip-gradient) lr-scheduler))
   ([]
    (sgd {})))
@@ -35,11 +35,11 @@
   Implementation of paper 'Asynchronous Stochastic Gradient Descent with
   Delay Compensation for Distributed Deep Learning'"
   ([{:keys [learning-rate momentum lambda wd clip-gradient lr-scheduler] :as 
opts
-      :or {learning-rate 0.01
-           momentum 0.0
-           lambda 0.04
-           wd 0.0
-           clip-gradient 0}}]
+     :or {learning-rate 0.01
+          momentum 0.0
+          lambda 0.04
+          wd 0.0
+          clip-gradient 0}}]
    (new DCASGD (float learning-rate) (float lambda) (float momentum) (float 
wd) (float clip-gradient) lr-scheduler))
   ([]
    (dcasgd {})))
@@ -49,10 +49,10 @@
    It is implemented according to
    https://github.com/torch/optim/blob/master/sgd.lua";
   ([{:keys [learning-rate momentum wd clip-gradient lr-scheduler] :as opts
-      :or {learning-rate 0.01
-           momentum 0.0
-           wd 0.0001
-           clip-gradient 0}}]
+     :or {learning-rate 0.01
+          momentum 0.0
+          wd 0.0001
+          clip-gradient 0}}]
    (new NAG (float learning-rate) (float momentum) (float wd) (float 
clip-gradient) lr-scheduler))
   ([]
    (nag {})))
@@ -106,7 +106,7 @@
           rescale-gradient 1.0
           epsilon 1e-7
           wd 0.0}}]
-   (new AdaGrad (float learning-rate) (float rescale-gradient) (float epsilon) 
(float wd) ))
+   (new AdaGrad (float learning-rate) (float rescale-gradient) (float epsilon) 
(float wd)))
   ([]
    (ada-grad {})))
 
@@ -139,7 +139,7 @@
    (adam {})))
 
 (defn sgld
- "Stochastic Langevin Dynamics Updater to sample from a distribution.
+  "Stochastic Langevin Dynamics Updater to sample from a distribution.
 
   - learning-rate Step size.
   - rescale-gradient rescaling factor of gradient.
@@ -169,7 +169,6 @@
   (doto optimizer
     (.update (int index) weight grad state)))
 
-
 (defn create-state
   "Create additional optimizer state such as momentum."
   [optimizer index weight]
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/profiler.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/profiler.clj
index 0bc93cc..48fd041 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/profiler.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/profiler.clj
@@ -26,7 +26,7 @@
    -fileName, optional The name of output trace file. Default is profile.json."
   [kwargs]
   (Profiler/profilerSetConfig
-   (util/convert-io-map kwargs) ))
+   (util/convert-io-map kwargs)))
 
 (defn profiler-set-state
   "Set up the profiler state to record operator.
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/random.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/random.clj
index 99f09aa..d6e3378 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/random.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/random.clj
@@ -34,7 +34,7 @@
    (uniform low high shape-vec {})))
 
 (defn normal
-    "Generate normal(Gaussian) distribution N(mean, stdvar^^2) with shape.
+  "Generate normal(Gaussian) distribution N(mean, stdvar^^2) with shape.
     loc: The standard deviation of the normal distribution
     scale: The upper bound of distribution.
     shape-vec: vector shape of the ndarray generated.
@@ -47,7 +47,6 @@
   ([loc scale shape-vec]
    (normal loc scale shape-vec {})))
 
-
 (defn seed
   " Seed the random number generators in mxnet.
     This seed will affect behavior of functions in this module,
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/shape.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/shape.clj
index 684cb0f..01bedef 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/shape.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/shape.clj
@@ -19,7 +19,6 @@
   (:require [t6.from-scala.core :refer [$] :as $])
   (:import (org.apache.mxnet Shape)))
 
-
 (defn ->shape [v]
   (new Shape (apply $/immutable-list (map int v))))
 
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/symbol.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/symbol.clj
index 2dcd847..42ae034 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/symbol.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/symbol.clj
@@ -28,7 +28,6 @@
             [org.apache.clojure-mxnet.ndarray :as ndarray])
   (:import (org.apache.mxnet Symbol)))
 
-
 ;; loads the generated functions into the namespace
 (do (clojure.core/load "gen/symbol"))
 
@@ -44,14 +43,14 @@
   kwarg-map: Additional attributes which must start and end with double 
underscores"
   ([var-name]
    (variable var-name {}))
-  ([var-name  {:keys [attrs shape lr-mult wd-mult dtype kwargs]:as opts}]
-    (Symbol/Variable var-name
-                     (when attrs (util/convert-symbol-map attrs))
-                     (when shape (mx-shape/->shape shape))
-                     (if lr-mult (float lr-mult)($/option nil))
-                     (if wd-mult (float wd-mult)($/option nil))
-                     dtype
-                     (if kwargs (util/convert-symbol-map kwargs) 
(util/empty-map)))))
+  ([var-name  {:keys [attrs shape lr-mult wd-mult dtype kwargs] :as opts}]
+   (Symbol/Variable var-name
+                    (when attrs (util/convert-symbol-map attrs))
+                    (when shape (mx-shape/->shape shape))
+                    (if lr-mult (float lr-mult) ($/option nil))
+                    (if wd-mult (float wd-mult) ($/option nil))
+                    dtype
+                    (if kwargs (util/convert-symbol-map kwargs) 
(util/empty-map)))))
 
 (defn bind
   "Bind the current symbol to get an executor.
@@ -136,80 +135,80 @@
   ([start stop  {:keys [step repeat dtype]
                  :or {step (float 1) repeat (int 1) dtype base/MX_REAL_TYPE}
                  :as opts}]
-   (Symbol/arange (float start) ($/option(float stop)) step repeat nil dtype))
+   (Symbol/arange (float start) ($/option (float stop)) step repeat nil dtype))
   ([start stop]
    (arange start stop {})))
 
 ;;; manually defined because of a conflicting arity of 2 with the auto-gen
 (defn min
- ([sym-name kwargs-map symbol-list kwargs-map-1]
-  (util/coerce-return
-   (Symbol/min
-    (util/nil-or-coerce-param sym-name #{"java.lang.String"})
-    (util/nil-or-coerce-param
-     kwargs-map
-     #{"scala.collection.immutable.Map"})
-    (util/nil-or-coerce-param symbol-list #{"scala.collection.Seq"})
-    (util/nil-or-coerce-param
-     kwargs-map-1
-     #{"scala.collection.immutable.Map"}))))
- ([sym-name attr-map kwargs-map]
-  (min sym-name attr-map (util/empty-list) kwargs-map))
- ([kwargs-map] (min nil nil (util/empty-list) kwargs-map))
- ([sym1 sym2]
-  (util/coerce-return
-   (Symbol/min
-    (util/nil-or-coerce-param
-     sym1
-     #{"ml.dmlc.mxnet.Symbol" "java.lang.Object"})
-    (util/nil-or-coerce-param
-     sym2
-     #{"ml.dmlc.mxnet.Symbol" "java.lang.Object"})))))
+  ([sym-name kwargs-map symbol-list kwargs-map-1]
+   (util/coerce-return
+    (Symbol/min
+     (util/nil-or-coerce-param sym-name #{"java.lang.String"})
+     (util/nil-or-coerce-param
+      kwargs-map
+      #{"scala.collection.immutable.Map"})
+     (util/nil-or-coerce-param symbol-list #{"scala.collection.Seq"})
+     (util/nil-or-coerce-param
+      kwargs-map-1
+      #{"scala.collection.immutable.Map"}))))
+  ([sym-name attr-map kwargs-map]
+   (min sym-name attr-map (util/empty-list) kwargs-map))
+  ([kwargs-map] (min nil nil (util/empty-list) kwargs-map))
+  ([sym1 sym2]
+   (util/coerce-return
+    (Symbol/min
+     (util/nil-or-coerce-param
+      sym1
+      #{"ml.dmlc.mxnet.Symbol" "java.lang.Object"})
+     (util/nil-or-coerce-param
+      sym2
+      #{"ml.dmlc.mxnet.Symbol" "java.lang.Object"})))))
 
 ;;; manually defined because of a conflicting arity of 2 with the auto-gen
 
 (defn max
- ([sym1 sym2]
-  (util/coerce-return
-   (Symbol/max
-    (util/nil-or-coerce-param
-     sym1
-     #{"ml.dmlc.mxnet.Symbol" "java.lang.Object"})
-    (util/nil-or-coerce-param
-     sym2
-     #{"ml.dmlc.mxnet.Symbol" "java.lang.Object"}))))
- ([sym-name kwargs-map symbol-list kwargs-map-1]
-  (util/coerce-return
-   (Symbol/max
-    (util/nil-or-coerce-param sym-name #{"java.lang.String"})
-    (util/nil-or-coerce-param
-     kwargs-map
-     #{"scala.collection.immutable.Map"})
-    (util/nil-or-coerce-param symbol-list #{"scala.collection.Seq"})
-    (util/nil-or-coerce-param
-     kwargs-map-1
-     #{"scala.collection.immutable.Map"}))))
- ([sym-name attr-map kwargs-map]
-  (max sym-name attr-map (util/empty-list) kwargs-map))
+  ([sym1 sym2]
+   (util/coerce-return
+    (Symbol/max
+     (util/nil-or-coerce-param
+      sym1
+      #{"ml.dmlc.mxnet.Symbol" "java.lang.Object"})
+     (util/nil-or-coerce-param
+      sym2
+      #{"ml.dmlc.mxnet.Symbol" "java.lang.Object"}))))
+  ([sym-name kwargs-map symbol-list kwargs-map-1]
+   (util/coerce-return
+    (Symbol/max
+     (util/nil-or-coerce-param sym-name #{"java.lang.String"})
+     (util/nil-or-coerce-param
+      kwargs-map
+      #{"scala.collection.immutable.Map"})
+     (util/nil-or-coerce-param symbol-list #{"scala.collection.Seq"})
+     (util/nil-or-coerce-param
+      kwargs-map-1
+      #{"scala.collection.immutable.Map"}))))
+  ([sym-name attr-map kwargs-map]
+   (max sym-name attr-map (util/empty-list) kwargs-map))
   ([kwargs-map] (max nil nil (util/empty-list) kwargs-map)))
 
 ;;; redefining to make it easier to work with
 
 (defn- coerce-infer-shape-return [ret]
   (->> ret
-          (map util/scala-vector->vec)
-          (map (fn [shapes] (map mx-shape/->vec shapes)))))
+       (map util/scala-vector->vec)
+       (map (fn [shapes] (map mx-shape/->vec shapes)))))
 
 (defn
- infer-shape
- ([sym vec-or-strings vec-of-ints vec-of-ints-1]
-  (let [ret (util/coerce-return
-             (.inferShape
-              sym
-              (util/nil-or-coerce-param vec-or-strings #{"java.lang.String<>"})
-              (util/nil-or-coerce-param vec-of-ints #{"int<>"})
-              (util/nil-or-coerce-param vec-of-ints-1 #{"int<>"})))]
-    (coerce-infer-shape-return ret)))
+  infer-shape
+  ([sym vec-or-strings vec-of-ints vec-of-ints-1]
+   (let [ret (util/coerce-return
+              (.inferShape
+               sym
+               (util/nil-or-coerce-param vec-or-strings 
#{"java.lang.String<>"})
+               (util/nil-or-coerce-param vec-of-ints #{"int<>"})
+               (util/nil-or-coerce-param vec-of-ints-1 #{"int<>"})))]
+     (coerce-infer-shape-return ret)))
   ([sym symbol-list-or-kwargs-map]
    (let [ret (util/coerce-return
               (.inferShape
@@ -235,5 +234,4 @@
                                (into {})))
           param-name (format "%s-%04d.params" prefix epoch)]
       (ndarray/save param-name save-map)
-      (println "Saved checkpoint to " param-name)))
-  )
+      (println "Saved checkpoint to " param-name))))
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/util.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/util.clj
index f42a124..8f2bb3b 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/util.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/util.clj
@@ -75,11 +75,10 @@
 (defn convert-tuple [param]
   (apply $/tuple param))
 
-
 (def tuple-param-names #{"kernel" "stride" "pad" "target-shape" "shape"})
 
 (defn convert-by-shape [param]
-    (into {} (mapv (fn [[k v]]
+  (into {} (mapv (fn [[k v]]
                    [k (if (vector? v) (mx-shape/->shape v) v)])
                  param)))
 
@@ -87,8 +86,8 @@
   (into {} (mapv (fn [[k v]]
                    (if (or (get tuple-param-names k)
                            (get tuple-param-names (name k)))
-                               [k (str (if (vector? v) (mx-shape/->shape v) 
v))]
-                               [k v]))
+                     [k (str (if (vector? v) (mx-shape/->shape v) v))]
+                     [k v]))
                  param)))
 
 (def io-param-names #{"input-shape" "data-shape" "label-shape"})
@@ -110,7 +109,6 @@
                                 flatten
                                 keyword->snake-case))))
 
-
 (defn convert-symbol-map [param]
   (convert-map (tuple-convert-by-param-name param)))
 
@@ -183,7 +181,7 @@
   [f]
   `($/fn ~@(drop-last (rest f)) ~(last f)))
 
-(defn translate-keyword-shape[[k v]]
+(defn translate-keyword-shape [[k v]]
   [(if (keyword? k) (string/replace (name k) "-" "_") k)
    (if (vector? v) (mx-shape/->shape v) v)])
 
diff --git 
a/contrib/clojure-package/src/org/apache/clojure_mxnet/visualization.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/visualization.clj
index c7002bf..37d141b 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/visualization.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/visualization.clj
@@ -20,8 +20,6 @@
             [org.apache.clojure-mxnet.shape :as mx-shape])
   (:import (org.apache.mxnet Visualization)))
 
-
-
 (defn plot-network
   "convert symbol to Dot object for visualization
    -  symbol symbol to be visualized
@@ -47,7 +45,6 @@
   ([sym shape-map]
    (plot-network sym shape-map {})))
 
-
 (defn render
   " Render file with Graphviz engine into format.
     - dot the dot file from plot-network function
diff --git a/contrib/clojure-package/test/dev/generator_test.clj 
b/contrib/clojure-package/test/dev/generator_test.clj
index ed16863..a3ec338 100644
--- a/contrib/clojure-package/test/dev/generator_test.clj
+++ b/contrib/clojure-package/test/dev/generator_test.clj
@@ -30,7 +30,7 @@
 (defn ndarray-reflect-info [name]
   (->> gen/ndarray-public-no-default
        (filter #(= name (str (:name %))))
-                            first))
+       first))
 
 (defn symbol-reflect-info [name]
   (->> gen/symbol-public-no-default
@@ -50,7 +50,6 @@
     (is (= transformed-params (gen/symbol-transform-param-name
                                (:parameter-types (symbol-reflect-info 
"floor")))))))
 
-
 (deftest test-ndarray-transform-param-name
   (let [params ["scala.collection.immutable.Map"
                 "scala.collection.Seq"]
@@ -116,13 +115,13 @@
               sym-name
               nil
               (if
-                  (clojure.core/map? kwargs-map-or-vec-or-sym)
+               (clojure.core/map? kwargs-map-or-vec-or-sym)
                 (util/empty-list)
                 (util/coerce-param
                  kwargs-map-or-vec-or-sym
                  #{"scala.collection.Seq"}))
               (if
-                  (clojure.core/map? kwargs-map-or-vec-or-sym)
+               (clojure.core/map? kwargs-map-or-vec-or-sym)
                 (org.apache.clojure-mxnet.util/convert-symbol-map
                  kwargs-map-or-vec-or-sym)
                 nil))))
@@ -132,13 +131,13 @@
               nil
               nil
               (if
-                  (clojure.core/map? kwargs-map-or-vec-or-sym)
+               (clojure.core/map? kwargs-map-or-vec-or-sym)
                 (util/empty-list)
                 (util/coerce-param
                  kwargs-map-or-vec-or-sym
                  #{"scala.collection.Seq"}))
               (if
-                  (clojure.core/map? kwargs-map-or-vec-or-sym)
+               (clojure.core/map? kwargs-map-or-vec-or-sym)
                 (org.apache.clojure-mxnet.util/convert-symbol-map
                  kwargs-map-or-vec-or-sym)
                 nil))))
@@ -170,17 +169,17 @@
 (deftest test-gen-ndarray-function-arity
   (let [op-name (symbol "$div")
         op-values {1 [{:name (symbol "$div")
-                        :return-type "org.apache.mxnet.NDArray,"
-                        :declaring-class "org.apache.mxnet.NDArray,"
-                        :parameter-types ["float"],
-                        :exception-types [],
-                        :flags #{:public}}
-                       {:name (symbol "$div")
-                        :return-type "org.apache.mxnet.NDArray,"
-                        :declaring-class "org.apache.mxnet.NDArray,"
-                        :parameter-types ["org.apache.mxnet.NDArray"],
-                        :exception-types [],
-                        :flags #{:public}}]}]
+                       :return-type "org.apache.mxnet.NDArray,"
+                       :declaring-class "org.apache.mxnet.NDArray,"
+                       :parameter-types ["float"],
+                       :exception-types [],
+                       :flags #{:public}}
+                      {:name (symbol "$div")
+                       :return-type "org.apache.mxnet.NDArray,"
+                       :declaring-class "org.apache.mxnet.NDArray,"
+                       :parameter-types ["org.apache.mxnet.NDArray"],
+                       :exception-types [],
+                       :flags #{:public}}]}]
     (is (= '(([ndarray num-or-ndarray]
               (util/coerce-return
                (.$div
@@ -192,19 +191,19 @@
 
 (deftest test-write-to-file
   (testing "symbol"
-   (let [fname "test/test-symbol.clj"
-         _ (gen/write-to-file [(first gen/all-symbol-functions)]
-                              gen/symbol-gen-ns
-                              fname)
-         good-contents (slurp "test/good-test-symbol.clj")
-         contents (slurp fname)]
-     (is (= good-contents contents))))
+    (let [fname "test/test-symbol.clj"
+          _ (gen/write-to-file [(first gen/all-symbol-functions)]
+                               gen/symbol-gen-ns
+                               fname)
+          good-contents (slurp "test/good-test-symbol.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)]
-                              gen/ndarray-gen-ns
-                              fname)
-         good-contents (slurp "test/good-test-ndarray.clj")
-         contents (slurp fname)]
-     (is (= good-contents contents)))))
+    (let [fname "test/test-ndarray.clj"
+          _ (gen/write-to-file [(first gen/all-ndarray-functions)]
+                               gen/ndarray-gen-ns
+                               fname)
+          good-contents (slurp "test/good-test-ndarray.clj")
+          contents (slurp fname)]
+      (is (= good-contents contents)))))
diff --git 
a/contrib/clojure-package/test/org/apache/clojure_mxnet/conv_test.clj 
b/contrib/clojure-package/test/org/apache/clojure_mxnet/conv_test.clj
index 856a9f5..feda45b 100644
--- a/contrib/clojure-package/test/org/apache/clojure_mxnet/conv_test.clj
+++ b/contrib/clojure-package/test/org/apache/clojure_mxnet/conv_test.clj
@@ -57,10 +57,7 @@
     (sym/convolution "conv1" {:data data :kernel [3 3] :num-filter 32 :stride 
[2 2]})
     (sym/batch-norm "bn1" {:data data})
     (sym/activation "relu1" {:data data :act-type "relu"})
-    (sym/pooling "mp1" {:data data :kernel [2 2] :pool-type "max" :stride [2 
2]})
-
-
-    (sym/convolution "conv2" {:data data :kernel [3 3] :num-filter 32 :stride 
[2 2]})
+    (sym/pooling "mp1" {:data data :kernel [2 2] :pool-type "max" :stride [2 
2]}) (sym/convolution "conv2" {:data data :kernel [3 3] :num-filter 32 :stride 
[2 2]})
     (sym/batch-norm "bn2" {:data data})
     (sym/activation "relu2" {:data data :act-type "relu"})
     (sym/pooling "mp2" {:data data :kernel [2 2] :pool-type "max" :stride [2 
2]})
@@ -69,10 +66,8 @@
     (sym/fully-connected "fc2" {:data data :num-hidden 10})
     (sym/softmax-output "softmax" {:data data})))
 
-
-
 (deftest test-conv []
-  (let [mod (m/module (get-symbol) )]
+  (let [mod (m/module (get-symbol))]
     ;;; note only one function for training
     (m/fit mod {:train-data train-data :eval-data test-data :num-epoch 
num-epoch
                 :fit-params (m/fit-params {:optimizer (optimizer/sgd 
{:learning-rate 0.1
@@ -90,5 +85,4 @@
 (comment
 
   (require '[clojure.reflect :as r])
-  (r/reflect train-data)
-  )
+  (r/reflect train-data))
diff --git 
a/contrib/clojure-package/test/org/apache/clojure_mxnet/executor_test.clj 
b/contrib/clojure-package/test/org/apache/clojure_mxnet/executor_test.clj
index 6c885ce..b2a87d4 100644
--- a/contrib/clojure-package/test/org/apache/clojure_mxnet/executor_test.clj
+++ b/contrib/clojure-package/test/org/apache/clojure_mxnet/executor_test.clj
@@ -53,7 +53,6 @@
         (is (test-util/approx= 1e-6 (ndarray/->vec lhs-grad) (ndarray/->vec 
lhs-grad2)))
         (is (test-util/approx= 1e-6 (ndarray/->vec rhs-grad) (ndarray/->vec 
rhs-grad2)))))))
 
-
 (deftest test-reshape
   (let [x (sym/variable "x")
         y (sym/fully-connected {:data x :num-hidden 4})
diff --git a/contrib/clojure-package/test/org/apache/clojure_mxnet/io_test.clj 
b/contrib/clojure-package/test/org/apache/clojure_mxnet/io_test.clj
index 2ccfc1c..ace39ec 100644
--- a/contrib/clojure-package/test/org/apache/clojure_mxnet/io_test.clj
+++ b/contrib/clojure-package/test/org/apache/clojure_mxnet/io_test.clj
@@ -59,7 +59,6 @@
         (is (= label1 label0))
         (is (= data1 data0))))))
 
-
 (deftest test-image-record-iter
   (let [_ (when-not (.exists (io/file "data/cifar/train.rec"))
             (sh "scripts/get_cifar_data.sh"))
@@ -120,7 +119,6 @@
       (is (= #{[100]} (into #{} (map :shape provide-label))))
       (mx-io/dispose prefetch-iter))))
 
-
 (deftest test-ndarray-iter
   (let [shape0 [1000 2 2]
         data [(ndarray/ones shape0) (ndarray/zeros shape0)]
@@ -138,17 +136,17 @@
           nbatch0 8]
       (is (= nbatch0 (count (mx-io/for-batches data-iter0 (fn [batch] 1)))))
       (is (every? true? (mx-io/for-batches data-iter0
-                                            (fn [batch]
-                                              (= batch-data0
-                                                 (first (mx-io/batch-data 
batch)))))))
+                                           (fn [batch]
+                                             (= batch-data0
+                                                (first (mx-io/batch-data 
batch)))))))
       (is (every? true? (mx-io/for-batches data-iter0
-                                            (fn [batch]
-                                              (= batch-data1
-                                                 (second (mx-io/batch-data 
batch)))))))
+                                           (fn [batch]
+                                             (= batch-data1
+                                                (second (mx-io/batch-data 
batch)))))))
       (is (every? true? (mx-io/for-batches data-iter0
-                                            (fn [batch]
-                                              (= batch-label
-                                                 (first (mx-io/batch-label 
batch))))))))
+                                           (fn [batch]
+                                             (= batch-label
+                                                (first (mx-io/batch-label 
batch))))))))
 
     ;; test discard
     (let [data-iter1 (mx-io/ndarray-iter data {:label label
diff --git 
a/contrib/clojure-package/test/org/apache/clojure_mxnet/module_test.clj 
b/contrib/clojure-package/test/org/apache/clojure_mxnet/module_test.clj
index 5ec918f..f3d4e75 100644
--- a/contrib/clojure-package/test/org/apache/clojure_mxnet/module_test.clj
+++ b/contrib/clojure-package/test/org/apache/clojure_mxnet/module_test.clj
@@ -32,7 +32,6 @@
             [clojure.reflect :as r]
             [clojure.string :as string]))
 
-
 (deftest test-model-dtype
   (let [dtype dtype/FLOAT32
         dshape [3 8 7]
@@ -44,14 +43,14 @@
         (m/bind {:data-shapes [{:name "data" :shape dshape :dtype dtype 
:layout "TNC"}]})
         (m/init-params)
         (m/forward {:data [(ndarray/ones dshape {:dtype dtype})]})
-        (m/backward[(ndarray/ones dshape {:dtype dtype})]))
+        (m/backward [(ndarray/ones dshape {:dtype dtype})]))
     (let [outputs  (-> mod (m/outputs) flatten)]
       (is (every? #(= dtype/FLOAT32 (ndarray/dtype %)) outputs)))))
 
 (deftest test-module-input-grads
   (let [a (sym/variable "a" {:kwargs {"__layout__" "NC"}})
         b (sym/variable "b" {:kwargs {"__layout__" "NC"}})
-        c (sym/variable "c" {:kwargs {"__layout__" "NC"}} )
+        c (sym/variable "c" {:kwargs {"__layout__" "NC"}})
         c (sym/+ a (sym/+ (sym/* b 2) (sym/* c 3)))
         mod (m/module c ["b" "c" "a"] nil [(context/cpu 0) (context/cpu 1)])]
     (-> mod
@@ -61,11 +60,11 @@
                  :inputs-need-grad true})
         (m/init-params)
         (m/forward {:data [(ndarray/ones [5 5])
-                            (ndarray/ones [5 5])
-                            (ndarray/ones [5 5])]
-                     :label nil
-                     :index nil
-                     :pad 0})
+                           (ndarray/ones [5 5])
+                           (ndarray/ones [5 5])]
+                    :label nil
+                    :index nil
+                    :pad 0})
         (m/backward [(ndarray/ones [5 5])]))
     (let [[a-grad b-grad c-grad] (m/input-grads-merged mod)]
       (is (every? #(= 1.0 %) (ndarray/->vec a-grad)))
@@ -74,17 +73,17 @@
 
 (deftest test-module-layout
   (let [s (sym/variable "data")
-        s (sym/activation "act "{"__layout__" "TNC"} {:data s :act_type 
"relu"})
+        s (sym/activation "act " {"__layout__" "TNC"} {:data s :act_type 
"relu"})
         dshape [3 8 7]
         mod (m/module s ["data"] nil [(context/cpu 0) (context/cpu 1)])]
     (-> mod
         (m/bind {:data-shapes [{:name "data" :shape dshape :dtype 
dtype/FLOAT32 :layout "TNC"}]})
         (m/init-params)
         (m/forward {:data [(ndarray/ones dshape)]
-                     :label nil
-                     :index nil
-                     :pad 0})
-        (m/backward[(ndarray/ones dshape)]))
+                    :label nil
+                    :index nil
+                    :pad 0})
+        (m/backward [(ndarray/ones dshape)]))
     (let [outputs-merged (m/outputs-merged mod)
           outputs (m/outputs mod)
           hd-shape [3 4 7]]
@@ -107,7 +106,7 @@
       (-> mod2
           (m/bind {:data-shapes [{:name "data" :shape [10 10] :layout "NT"}]})
           (m/init-optimizer {:optimizer (optimizer/sgd {:learning-rate 0.1 
:momentum 0.9})}))
-      (is (= (-> mod m/symbol sym/to-json)  (-> mod2 m/symbol sym/to-json) ))
+      (is (= (-> mod m/symbol sym/to-json)  (-> mod2 m/symbol sym/to-json)))
       (is (= (-> mod m/params first) (-> mod2 m/params first))))))
 
 (deftest test-module-save-load-multi-device
@@ -127,7 +126,7 @@
       (-> mod2
           (m/bind {:data-shapes [{:name "data" :shape [10 10] :layout "NT"}]})
           (m/init-optimizer {:optimizer (optimizer/sgd {:learning-rate 0.1 
:momentum 0.9})}))
-      (is (= (-> mod m/symbol sym/to-json)  (-> mod2 m/symbol sym/to-json) ))
+      (is (= (-> mod m/symbol sym/to-json)  (-> mod2 m/symbol sym/to-json)))
       (is (= (-> mod m/params first) (-> mod2 m/params first))))))
 
 (deftest test-module-reshape
@@ -158,7 +157,7 @@
   (let [data (ndarray/array [0.05 0.1] [1 1 1 2])
         label (ndarray/array [0.01 0.99] [1 1 1 2])
         train-data (mx-io/ndarray-iter [data] {:label [label] :label-name 
"softmax_label"})
-          x (as-> (sym/variable "data") v
+        x (as-> (sym/variable "data") v
             (sym/fully-connected "fc_0" {:data v :num-hidden 2})
             (sym/activation "act_0" {:data v :act-type "sigmoid"})
             (sym/fully-connected "fc_1" {:data v :num-hidden 2})
@@ -166,7 +165,7 @@
             (sym/linear-regression-output "softmax" {:data v :grad-scale 2}))
 
         mod (m/module x)]
-    (m/bind mod {:data-shapes (mx-io/provide-data train-data) :label-shapes 
(mx-io/provide-label train-data)} )
+    (m/bind mod {:data-shapes (mx-io/provide-data train-data) :label-shapes 
(mx-io/provide-label train-data)})
 
     (let [arg-params-correct {"fc_0_weight" (ndarray/array [0.15 0.2 0.25 0.3] 
[2 2])
                               "fc_0_bias" (ndarray/array [0.35 0.35] [2])
@@ -214,14 +213,13 @@
     (let [result (monitor/toc mon)
           freq (->> result
                     (map (fn [v] (as-> (second v) ?
-                                     (clojure.string/split ? #"_")
+                                   (clojure.string/split ? #"_")
                                    (take 2 ?)
                                    (clojure.string/join "_" ?))))
                     (frequencies))
           expected-freq {"act_0" 2 "act_1" 2 "data" 1 "fc_0" 6 "fc_1" 6}]
       (is (= expected-freq (select-keys freq (keys expected-freq)))))))
 
-
 (deftest test-forward-reshape
   (let [num-class 10
         data1 (sym/variable "data1")
@@ -271,9 +269,9 @@
       (-> mod
           (m/forward data-batch))
       (is (= [(first l-shape) num-class]) (-> (m/outputs-merged mod) first 
(ndarray/shape) (mx-shape/->vec)))
-         (-> mod
-        (m/backward)
-        (m/update)))
+      (-> mod
+          (m/backward)
+          (m/update)))
 
     (let [d-shape1 [20 3 64 64]
           d-shape2 [20 3 32 32]
@@ -286,43 +284,41 @@
       (-> mod
           (m/forward data-batch))
       (is (= [(first l-shape) num-class]) (-> (m/outputs-merged mod) first 
(ndarray/shape) (mx-shape/->vec)))
-         (-> mod
-        (m/backward)
-        (m/update)))
+      (-> mod
+          (m/backward)
+          (m/update)))
 
     ;; train with both different batch sizes and data shapes
     (let [d-shape1 [20 3 120 120]
           d-shape2 [20 3 32 64]
           l-shape [20]
           data-batch {:data [(ndarray/random-uniform 0 9 (str 
(mx-shape/->shape d-shape1)))
-                               (ndarray/random-uniform 15 25 (str 
(mx-shape/->shape d-shape2)))]
-                        :label [(ndarray/ones l-shape)]
-                        :index nil
-                        :pad 0}]
+                             (ndarray/random-uniform 15 25 (str 
(mx-shape/->shape d-shape2)))]
+                      :label [(ndarray/ones l-shape)]
+                      :index nil
+                      :pad 0}]
       (-> mod
           (m/forward data-batch))
       (is (= [(first l-shape) num-class]) (-> (m/outputs-merged mod) first 
(ndarray/shape) (mx-shape/->vec)))
-         (-> mod
-        (m/backward)
-        (m/update)))
+      (-> mod
+          (m/backward)
+          (m/update)))
     (let [d-shape1 [5 3 28 40]
           d-shape2 [5 3 24 16]
           l-shape [5]
           data-batch {:data [(ndarray/random-uniform 0 9 (str 
(mx-shape/->shape d-shape1)))
-                               (ndarray/random-uniform 15 25 (str 
(mx-shape/->shape d-shape2)))]
-                        :label [(ndarray/ones l-shape)]
-                        :index nil
-                        :pad 0}]
+                             (ndarray/random-uniform 15 25 (str 
(mx-shape/->shape d-shape2)))]
+                      :label [(ndarray/ones l-shape)]
+                      :index nil
+                      :pad 0}]
       (-> mod
           (m/forward data-batch))
       (is (= [(first l-shape) num-class]) (-> (m/outputs-merged mod) first 
(ndarray/shape) (mx-shape/->vec)))
-         (-> mod
-        (m/backward)
-        (m/update)))))
-
+      (-> mod
+          (m/backward)
+          (m/update)))))
 
 (comment
 
- (m/data-shapes x)
-  )
+  (m/data-shapes x))
 
diff --git 
a/contrib/clojure-package/test/org/apache/clojure_mxnet/ndarray_test.clj 
b/contrib/clojure-package/test/org/apache/clojure_mxnet/ndarray_test.clj
index 25d01ec..79e9441 100644
--- a/contrib/clojure-package/test/org/apache/clojure_mxnet/ndarray_test.clj
+++ b/contrib/clojure-package/test/org/apache/clojure_mxnet/ndarray_test.clj
@@ -46,13 +46,13 @@
 
 (deftest test-set-scalar-value
   (is (= [10.0 10.0] (-> (ndarray/empty [2 1])
-                      (ndarray/set 10)
-                      (->vec)))))
+                         (ndarray/set 10)
+                         (->vec)))))
 
 (deftest test-copy-from-vector
   (is (= [1.0 2.0 3.0 4.0] (-> (ndarray/empty [4 1])
-                            (ndarray/set [1 2 3 4])
-                            (->vec)))))
+                               (ndarray/set [1 2 3 4])
+                               (->vec)))))
 
 (deftest test-plus
   (let [ndzeros (zeros [2 1])
@@ -103,12 +103,12 @@
 
 (deftest test-clip
   (let [nda (-> (ndarray/empty [3 2])
-                  (ndarray/set [1 2 3 4 5 6]))]
+                (ndarray/set [1 2 3 4 5 6]))]
     (is (= [2.0 2.0 3.0 4.0 5.0 5.0] (->vec (ndarray/clip nda 2 5))))))
 
 (deftest test-sqrt
   (let [nda (-> (ndarray/empty [4 1])
-                  (ndarray/set [0 1 4 9]))]
+                (ndarray/set [0 1 4 9]))]
     (is (= [0.0 1.0 2.0 3.0] (->vec (ndarray/sqrt nda))))))
 
 (deftest test-rsqrt
@@ -138,7 +138,6 @@
     (is (= [1 1] (mx-shape/->vec (shape res))))
     (is (= [11.0] (->vec res)))))
 
-
 (deftest test-arrange
   (let [start 0
         stop 5
@@ -179,7 +178,6 @@
       (is (= [2 1] (-> nda shape mx-shape/->vec)))
       (is (= [27.0 3125.0] (->vec nda))))))
 
-
 (deftest test-equal
   (let [nda1 (ndarray/array [1 2 3 5] [2 2])
         nda2 (ndarray/array [1 4 3 6] [2 2])]
@@ -190,7 +188,6 @@
     (is (= [2 2] (-> (ndarray/equal nda1 3) shape mx-shape/->vec)))
     (is (= [0.0 0.0 1.0 0.0] (->vec (ndarray/equal nda1 3))))))
 
-
 (deftest test-not-equal
   (let [nda1 (ndarray/array [1 2 3 5] [2 2])
         nda2 (ndarray/array [1 4 3 6] [2 2])]
@@ -211,7 +208,6 @@
     (is (= [2 2] (-> (ndarray/> nda1 2) shape mx-shape/->vec)))
     (is (= [0.0 0.0 1.0 1.0] (->vec (ndarray/> nda1 2))))))
 
-
 (deftest test-greater-equal
   (let [nda1 (ndarray/array [1 2 4 5] [2 2])
         nda2 (ndarray/array [1 4 3 6] [2 2])]
@@ -242,7 +238,6 @@
     (is (= [2 2] (-> (ndarray/< nda1 2) shape mx-shape/->vec)))
     (is (= [1.0 1.0 0.0 0.0] (->vec (ndarray/<= nda1 2))))))
 
-
 (deftest test-choose-element-0index
   (let [nda (ndarray/array [1 2 3 4 6 5] [2 3])
         indices (ndarray/array [0 1] [2])
@@ -331,7 +326,6 @@
     (is (= [2] (-> argmax shape mx-shape/->vec)))
     (is (= [1.0 0.0] (->vec argmax)))))
 
-
 (deftest test-concatenate-axis-0
   (let [nda1 (ndarray/array [1 2 4 3 3 3] [2 3])
         nda2 (ndarray/array [8 7 6] [1 3])
diff --git 
a/contrib/clojure-package/test/org/apache/clojure_mxnet/operator_test.clj 
b/contrib/clojure-package/test/org/apache/clojure_mxnet/operator_test.clj
index 1a822d5..a71a312 100644
--- a/contrib/clojure-package/test/org/apache/clojure_mxnet/operator_test.clj
+++ b/contrib/clojure-package/test/org/apache/clojure_mxnet/operator_test.clj
@@ -50,9 +50,8 @@
       (doseq [grad arr-grad]
         (is (= out-grad grad))))))
 
-
 (deftest test-concat
-  (let [shape-vecs[[2 2] [3 2]]
+  (let [shape-vecs [[2 2] [3 2]]
         x (sym/variable "x")
         y (sym/variable "y")
         out (sym/concat "conc" nil [x y] {:dim 0})
@@ -80,7 +79,6 @@
           np-grads arr-np]
       (is (= grads (mapv #(ndarray/+ % 1) np-grads))))))
 
-
 (defn check-regression [model forward-fn backward-fn]
   (let [shape-vec [3 1]
         arr-data (random/uniform -1 1 shape-vec)
@@ -99,7 +97,6 @@
                            np-out (ndarray/->vec arr-label))]
       (is (approx= 1e-6 npout-back arr-grad)))))
 
-
 (deftest test-regression
   (check-regression (sym/logistic-regression-output {:data (sym/variable 
"data") :label (sym/variable "label")})
                     (fn [x] (/ 1.0 (+ 1.0 (Math/exp (* -1.0 x)))))
@@ -151,7 +148,6 @@
         (let [val (ndarray/->vec (ndarray/slice out i))]
           (is (approx= 1e-6 [1 1 1 2 2 2] val)))))))
 
-
 (defn check-symbolic-forward [test-sym location expected tolerance]
   (let [arr-data (mapv #(ndarray/copy %) location)
         arr-grad (mapv #(ndarray/empty (mx-shape/->vec (ndarray/shape %))) 
location)
@@ -184,7 +180,6 @@
                        expected
                        grad-arrays)))))
 
-
 (deftest test-scalar-op
   (let [data (sym/variable "data")
         shape-vec [3 4]
@@ -216,7 +211,6 @@
                  [0 0 0 0]
                  (-> exec (executor/forward) (executor/outputs) (first))))))
 
-
 (deftest test-arange
   (let [start 1
         stop 100
@@ -384,7 +378,6 @@
     (executor/backward exec-test (ndarray/* (ndarray/ones shape-vec) 2))
     (is (approx= 1e-6 (ndarray/zeros shape-vec) arr-grad))))
 
-
 (deftest test-round-ceil-floor
   (let [data (sym/variable "data")
         shape-vec [3 4]
@@ -402,7 +395,6 @@
                      (ndarray/+ (ndarray/floor data-tmp)))
                  (-> (executor/forward exec-test) (executor/outputs) 
(first))))))
 
-
 (deftest test-rsqrt-cos-sin
   (let [data (sym/variable "data")
         shape-vec [3 4]
@@ -451,8 +443,8 @@
         exec-test (sym/bind test (context/default-context) [arr-data1 
arr-data2])
         out (-> (executor/forward exec-test) (executor/outputs) (first))]
     (is (approx= 1e-6
-                           (mapv min (ndarray/->vec data-tmp1) (ndarray/->vec 
data-tmp2))
-                           out))))
+                 (mapv min (ndarray/->vec data-tmp1) (ndarray/->vec data-tmp2))
+                 out))))
 
 (deftest test-transpose
   (let [data (sym/variable "data")
@@ -513,41 +505,36 @@
     (let [out-grad (ndarray/* (ndarray/ones shape-vec) 2)
           npout-grad (ndarray/* out-grad (ndarray/sign data-tmp))]
       (executor/backward exec-test out-grad)
-      (is (approx= 1e-6 npout-grad arr-grad)))))
-
-
-  ;; configure A: input --> conv --> deconv --> output.
+      (is (approx= 1e-6 npout-grad arr-grad)))));; configure A: input --> conv 
--> deconv --> output.
   ;;  the convolution and deconvoluiton has similar parameter which ensure
   ;;  the input shape is the same as output, and the same weights between conv
   ;;  and deconv;
   ;;  If the input value of forward() and backwrad() is the same, then
 ;;  the output value of them should also the same;
 
-(defn check-deconvolution-forward-backward [{:keys[input-shape-vec num-filter 
kernel stride pad]}]
+(defn check-deconvolution-forward-backward [{:keys [input-shape-vec num-filter 
kernel stride pad]}]
   (let [data (sym/variable "data")
-          conv (sym/convolution "conv" {:data data :kernel kernel :stride 
stride
-                                        :pad pad :num-filter num-filter 
:no-bias "true"})
-          deconv (sym/deconvolution "deconv" {:data conv :kernel kernel 
:stride stride
-                                              :pad pad :num-filter num-filter 
:no-bias "true"} )
-          arg-names (sym/list-arguments deconv)
-          arg-shape-vecs (first (sym/infer-shape deconv {:data 
input-shape-vec}))
-          input-data (random/uniform -5 5 input-shape-vec)
-          out-grad input-data
-          conv-weight (random/normal 0 1 [num-filter (second input-shape-vec) 
(first kernel) (last kernel)])
-          args {:data input-data :conv-weight conv-weight :deconv-weight 
conv-weight}
-          args-grad (mapv #(ndarray/empty %) arg-shape-vecs)
-          exec (sym/bind deconv (context/default-context) args args-grad)
-          out (-> (executor/forward exec) (executor/outputs) first)]
-      (executor/backward exec out-grad)
-      (is (approx= 1e-3 (ndarray/->vec out) (ndarray/->vec (first 
args-grad))))))
-
+        conv (sym/convolution "conv" {:data data :kernel kernel :stride stride
+                                      :pad pad :num-filter num-filter :no-bias 
"true"})
+        deconv (sym/deconvolution "deconv" {:data conv :kernel kernel :stride 
stride
+                                            :pad pad :num-filter num-filter 
:no-bias "true"})
+        arg-names (sym/list-arguments deconv)
+        arg-shape-vecs (first (sym/infer-shape deconv {:data input-shape-vec}))
+        input-data (random/uniform -5 5 input-shape-vec)
+        out-grad input-data
+        conv-weight (random/normal 0 1 [num-filter (second input-shape-vec) 
(first kernel) (last kernel)])
+        args {:data input-data :conv-weight conv-weight :deconv-weight 
conv-weight}
+        args-grad (mapv #(ndarray/empty %) arg-shape-vecs)
+        exec (sym/bind deconv (context/default-context) args args-grad)
+        out (-> (executor/forward exec) (executor/outputs) first)]
+    (executor/backward exec out-grad)
+    (is (approx= 1e-3 (ndarray/->vec out) (ndarray/->vec (first args-grad))))))
 
 (deftest test-deconvolution-forward-and-backward
   (check-deconvolution-forward-backward {:input-shape-vec [1 1 5 5] 
:num-filter 1 :kernel [3 3] :stride [1 1] :pad [1 1]})
   (check-deconvolution-forward-backward {:input-shape-vec [32 3 28 28] 
:num-filter 3 :kernel [3 3] :stride [1 1] :pad [1 1]})
   ;; commented out to make the tests fast
-  #_(check-deconvolution-forward-backward {:input-shape-vec [10 3 403 403] 
:num-filter 3 :kernel [7 7] :stride [5 5] :pad [2 2]})
-  )
+  #_(check-deconvolution-forward-backward {:input-shape-vec [10 3 403 403] 
:num-filter 3 :kernel [7 7] :stride [5 5] :pad [2 2]}))
 
 ;;  configure A: input --> conv --> output.
 ;;  configure B: input --> deconv --> output
@@ -558,52 +545,51 @@
 
 (defn check-deconvolution-gradient [{:keys [input-shape-vec num-filter pad]}]
   (let [stride [1 1]
-         kernel [(inc (* 2 (first pad))) (inc (* 2 (second pad)))]
-         data-conv (sym/variable "data_conv")
-         conv (sym/convolution "conv" {:data data-conv :kernel kernel :stride 
stride
-                                       :pad pad :num-filter num-filter 
:no-bias "true"})
-         data-deconv (sym/variable "data_deconv")
-         deconv (sym/deconvolution "deconv" {:data data-deconv :kernel kernel 
:stride stride
-                                             :pad pad :num-filter num-filter 
:no-bias true})
-         conv-data (random/uniform -5 5 input-shape-vec)
-         conv-args {"data_conv" conv-data "conv_weight" (random/normal 0 1 
[num-filter (second input-shape-vec) (first kernel) (second kernel)])}
-         conv-args-grad [(ndarray/zeros (-> conv-data (ndarray/shape) 
(ndarray/->vec)))
-                         (ndarray/zeros [num-filter (second input-shape-vec) 
(first kernel) (second kernel)])]
-         exec-conv (sym/bind conv (context/default-context) conv-args 
conv-args-grad)
-         conv-out-grad (random/normal 0 2 (-> (executor/outputs exec-conv) 
(first) (ndarray/shape) (mx-shape/->vec)))]
-     (executor/forward exec-conv)
-     (executor/backward exec-conv conv-out-grad)
-
-     (let [deconv-data conv-out-grad
-           deconv-args {"data_deconv" deconv-data "deconv_weight" (get 
conv-args "conv_weight")}
-           deconv-args-grad [(ndarray/zeros (-> deconv-data (ndarray/shape) 
(mx-shape/->vec)))
-                             (ndarray/zeros [num-filter (second 
input-shape-vec) (first kernel) (second kernel)])]
-           exec-deconv (sym/bind deconv (context/default-context) deconv-args 
deconv-args-grad)
-           deconv-out-grad conv-data]
-       (executor/forward exec-deconv)
-       (executor/backward exec-deconv deconv-out-grad)
-
-       (is (approx= 1e-4 (ndarray/->vec (second conv-args-grad)) 
(ndarray/->vec (second deconv-args-grad)))))))
+        kernel [(inc (* 2 (first pad))) (inc (* 2 (second pad)))]
+        data-conv (sym/variable "data_conv")
+        conv (sym/convolution "conv" {:data data-conv :kernel kernel :stride 
stride
+                                      :pad pad :num-filter num-filter :no-bias 
"true"})
+        data-deconv (sym/variable "data_deconv")
+        deconv (sym/deconvolution "deconv" {:data data-deconv :kernel kernel 
:stride stride
+                                            :pad pad :num-filter num-filter 
:no-bias true})
+        conv-data (random/uniform -5 5 input-shape-vec)
+        conv-args {"data_conv" conv-data "conv_weight" (random/normal 0 1 
[num-filter (second input-shape-vec) (first kernel) (second kernel)])}
+        conv-args-grad [(ndarray/zeros (-> conv-data (ndarray/shape) 
(ndarray/->vec)))
+                        (ndarray/zeros [num-filter (second input-shape-vec) 
(first kernel) (second kernel)])]
+        exec-conv (sym/bind conv (context/default-context) conv-args 
conv-args-grad)
+        conv-out-grad (random/normal 0 2 (-> (executor/outputs exec-conv) 
(first) (ndarray/shape) (mx-shape/->vec)))]
+    (executor/forward exec-conv)
+    (executor/backward exec-conv conv-out-grad)
+
+    (let [deconv-data conv-out-grad
+          deconv-args {"data_deconv" deconv-data "deconv_weight" (get 
conv-args "conv_weight")}
+          deconv-args-grad [(ndarray/zeros (-> deconv-data (ndarray/shape) 
(mx-shape/->vec)))
+                            (ndarray/zeros [num-filter (second 
input-shape-vec) (first kernel) (second kernel)])]
+          exec-deconv (sym/bind deconv (context/default-context) deconv-args 
deconv-args-grad)
+          deconv-out-grad conv-data]
+      (executor/forward exec-deconv)
+      (executor/backward exec-deconv deconv-out-grad)
+
+      (is (approx= 1e-4 (ndarray/->vec (second conv-args-grad)) (ndarray/->vec 
(second deconv-args-grad)))))))
 
 (deftest test-deconvolution-gradient
   (check-deconvolution-gradient {:input-shape-vec [1 3 5 5] :num-filter 3 :pad 
[1 1]}))
 
 (defn check-nearest-up-sampling-with-shape [{:keys [shape-vecs scale 
root-scale]}]
- (let [arr (zipmap (map #(str "arg_" %) (range 0 (count shape-vecs)))
-                   (map #(random/uniform -10 10 %) shape-vecs))
-       arr-grad (zipmap (map #(str "arg_" %) (range 0 (count shape-vecs)))
-                        (map #(ndarray/zeros %) shape-vecs))
-       up-args (mapv #(sym/variable (str "arg_" %)) (range 0 (count 
shape-vecs)))
-       up (sym/up-sampling "up-sampling" nil up-args {:sample-type "nearest" 
:scale root-scale})
-       exec (sym/bind up (context/default-context) arr arr-grad)]
-   (executor/forward exec)
-   (executor/backward exec (executor/outputs exec))
-   (doseq [k (range 0 (count shape-vecs))]
-     (let [k-name (str "arg_" k)
-           expected (->> (get arr k-name) (ndarray/->vec) (mapv #(* % 
(Math/pow root-scale 2) (Math/pow scale (*  2 k)))))
-           real (-> (get arr-grad k-name) (ndarray/->vec))]
-       (is (approx= 0.1 expected real))))))
-
+  (let [arr (zipmap (map #(str "arg_" %) (range 0 (count shape-vecs)))
+                    (map #(random/uniform -10 10 %) shape-vecs))
+        arr-grad (zipmap (map #(str "arg_" %) (range 0 (count shape-vecs)))
+                         (map #(ndarray/zeros %) shape-vecs))
+        up-args (mapv #(sym/variable (str "arg_" %)) (range 0 (count 
shape-vecs)))
+        up (sym/up-sampling "up-sampling" nil up-args {:sample-type "nearest" 
:scale root-scale})
+        exec (sym/bind up (context/default-context) arr arr-grad)]
+    (executor/forward exec)
+    (executor/backward exec (executor/outputs exec))
+    (doseq [k (range 0 (count shape-vecs))]
+      (let [k-name (str "arg_" k)
+            expected (->> (get arr k-name) (ndarray/->vec) (mapv #(* % 
(Math/pow root-scale 2) (Math/pow scale (*  2 k)))))
+            real (-> (get arr-grad k-name) (ndarray/->vec))]
+        (is (approx= 0.1 expected real))))))
 
 (deftest test-nearest-upsampling
   (doall (for [root-scale (range 1 4)
@@ -611,6 +597,6 @@
                num-shape (range 1 4)
                base (range 1 4)]
            (let [shape-vecs (mapv (fn [i] [1 3 (* base root-scale (int 
(Math/pow scale (- (dec num-shape) i))))
-                                     (* base root-scale (int (Math/pow scale 
(- (dec num-shape) i))))])
+                                           (* base root-scale (int (Math/pow 
scale (- (dec num-shape) i))))])
                                   (range 0 num-shape))]
              (check-nearest-up-sampling-with-shape {:shape-vecs shape-vecs 
:scale scale :root-scale root-scale})))))
diff --git 
a/contrib/clojure-package/test/org/apache/clojure_mxnet/optimizer_test.clj 
b/contrib/clojure-package/test/org/apache/clojure_mxnet/optimizer_test.clj
index e90516f..f6461b1 100644
--- a/contrib/clojure-package/test/org/apache/clojure_mxnet/optimizer_test.clj
+++ b/contrib/clojure-package/test/org/apache/clojure_mxnet/optimizer_test.clj
@@ -33,7 +33,6 @@
         (m/init-optimizer {:optimizer (optimizer-fn)})
         (m/update))))
 
-
 (deftest test-optimizer-update
   (let [opts [["sgd" optimizer/sgd]
               ["dcasgd" optimizer/dcasgd]
diff --git 
a/contrib/clojure-package/test/org/apache/clojure_mxnet/symbol_test.clj 
b/contrib/clojure-package/test/org/apache/clojure_mxnet/symbol_test.clj
index 9d37f07..6df2a10 100644
--- a/contrib/clojure-package/test/org/apache/clojure_mxnet/symbol_test.clj
+++ b/contrib/clojure-package/test/org/apache/clojure_mxnet/symbol_test.clj
@@ -21,7 +21,6 @@
             [org.apache.clojure-mxnet.util :as util]
             [clojure.test :refer :all]))
 
-
 (deftest test-compose
   (let [data (sym/variable "data")
         net1 (sym/fully-connected "fc1" {:data data :num-hidden 10})
@@ -45,8 +44,8 @@
         net1 (sym/fully-connected "fc2" {:data oldfc :num-hidden 100})]
     (is (= ["data" "fc1_weight" "fc1_bias" "fc2_weight" "fc2_bias"] 
(sym/list-arguments net1)))
     (= (sym/list-arguments oldfc) (-> (sym/get-internals net1)
-                                    (sym/get "fc1_output")
-                                    (sym/list-arguments)))))
+                                      (sym/get "fc1_output")
+                                      (sym/list-arguments)))))
 
 (deftest test-infer-type
   (let [data (sym/variable "data")

Reply via email to