# Train first RBM print("Training first RBM") start_time = datetime.now() for i in range(nb_epoch): for j in range(iters): batch_xs, batch_ys = mnist_data.train.next_batch(batch_size) rbm_1.partial_fit(batch_xs) print "Epoch:", i, "Cost:", rbm_1.compute_cost(X_train) stop_time = datetime.now() elapsed_time = stop_time - start_time print 'RBM 1 -- Elapsed Time: ', elapsed_time print "Saving Weights..." rbm_1.save_weights('./weights/rbm_1.weights') # Train second RBM start_time = datetime.now() print("Training second RBM") for i in range(nb_epoch): for j in range(iters): batch_xs, batch_ys = mnist_data.train.next_batch(batch_size) batch_xs = rbm_1.transform(batch_xs) rbm_2.partial_fit(batch_xs) print "Epoch:", i, "Cost:", rbm_2.compute_cost(rbm_1.transform(X_train)) stop_time = datetime.now() elapsed_time = stop_time - start_time print 'RBM 2 -- Elapsed Time: ', elapsed_time print "Saving Weights..."