anchor.diff:            do (setf (aref array i) (flt (* deviation (gaussian-random-1)))))))
   
   (defun train-mnist-bpn (bpn &key (batch-size
  -                                  (min (length *training-images*) 1000)))
  +                                  (min (length *training-images*) 1000))
  +                        n-epochs)
     (log-msg "Starting to train the softmax layer of BPN~%")
     (train (make-sampler *training-images*
                          :max-n (* 5 (length *training-images*))
  
positive.code:          bpn)
    (log-msg "Starting to train the whole BPN~%")
    (train (make-sampler *training-images*
                         :max-n (* 95 (length *training-images*))
                         :omit-label-p t)
           (make-instance 'mnist-cg-bp-trainer
                          :cg-args (list :max-n-line-searches 3)
                          :batch-size batch-size)
           bpn)
    (log-msg "Full batches on the whole BPN~%")
    (train (make-sampler *training-images*
                         :max-n (* 1 (length *training-images*))
                         :omit-label-p t)
  
negative.code:                           :decay (flt 0.0002) :visible-sampling nil)
           (save-weights *mnist-1-dbn-filename* *dbn/1*)))
    (setq *bpn/1* (unroll-mnist-dbn/1 *dbn/1*))
    (train-mnist-bpn *bpn/1* :n-epochs 37)
    (save-weights *mnist-1-bpn-filename* *bpn/1*))
  
  