loss = ladder.cost_all_layers_train(targets) train_step = tf.train.AdamOptimizer(learning_rate).minimize(loss) pred_cost = -tf.reduce_mean( tf.reduce_sum(targets * tf.log(ladder.activation), 1)) # cost used for prediction correct_prediction = tf.equal(tf.argmax(ladder.activation, 1), tf.argmax(targets, 1)) # no of correct predictions accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float")) * tf.constant(100.0) s.run(tf.initialize_all_variables()) ladder.set_all_deterministic(True) print "acc", s.run([accuracy], feed_dict={ inputs: data.test.features, targets: data.test.labels }) ladder.set_all_deterministic(False) for i in range(num_iter): images, labels = data.train.next_batch(batch_size) _, loss_val = s.run([train_step, loss], feed_dict={ inputs: images, targets: labels
assert int(l2.z_est.get_shape()[-1]) == 500 assert int(l1.z_est.get_shape()[-1]) == 784 assert int(l1.mean_corrupted_unlabeled.get_shape()[0]) == 500 assert int(l2.mean_corrupted_unlabeled.get_shape()[0]) == 10 loss = ladder.cost_all_layers_train(targets) train_step = tf.train.AdamOptimizer(learning_rate).minimize(loss) pred_cost = -tf.reduce_mean(tf.reduce_sum(targets * tf.log(ladder.activation), 1)) # cost used for prediction correct_prediction = tf.equal(tf.argmax(ladder.activation, 1), tf.argmax(targets, 1)) # no of correct predictions accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float")) * tf.constant(100.0) s.run(tf.initialize_all_variables()) ladder.set_all_deterministic(True) print "acc", s.run([accuracy], feed_dict={inputs: data.test.images, targets: data.test.labels}) ladder.set_all_deterministic(False) for i in range(num_iter): images, labels = data.train.next_batch(batch_size) _, loss_val = s.run([train_step, loss], feed_dict={inputs: images, targets: labels}) print(i, loss_val) # if i % 50 == 0: # print "acc" + str(net.catagorical_accurasy(train_x, train_y)) print "acc", s.run([accuracy], feed_dict={inputs: data.test.images, targets: data.test.labels})