anchor.diff:             (make-trainable-parameter
               (α #'/
                  (make-random-array (list m n) :element-type (element-type array))
  -               n)))
  +               (* m n))))
            (biases
              (make-trainable-parameter
               (α #'/
  
positive.code:         (~ 0 9))))
       input)))
  
  (defun main ()
    (multiple-value-bind (network input)
        (make-mnist-classification-network)
      (let ((input-data
              (α #'/ *train-images* 255.0))
            (output-data
              (α 'coerce
                 (α (lambda (n i) (if (= n i) 1.0 0.0))
                    (reshape *train-labels* (τ (i) (i 0)))
                    #(0 1 2 3 4 5 6 7 8 9))
                 'single-float)))
        (train network (list output-data)
               :learning-rate 0.02
               input input-data))))
  
  (defun check-test-data (network index)
    (format t "Label: ~S Prediction: ~S~%"
  
negative.code: (defun load-array (&rest path)
    (numpy-file-format:load-array
     (asdf:component-pathname
      (asdf:find-component *mnist* path))))
  
  (defparameter *train-images* (load-array "train-images.npy"))
  (defparameter *train-labels* (load-array "train-labels.npy"))
  