title: How do i create Confusion matrix of predicted and ground truth labels with Tensorflow?
body: <p>I have implemented a Nueral Network model for a classification  with the help of using TensorFlow. But, i don't know how can i able to draw confusion matrix by using predicted scores (accuracy). I am not an expert of TensorFlow and still in learning phase. Here i pasted my code below please tell me how can i write a code for making confusion from the following code:</p>
  
  <pre><code># Launch the graph
  with tf.Session() as sess:
  sess.run(init)
  
  # Set logs writer into folder /tmp/tensorflow_logs
  #summary_writer = tf.train.SummaryWriter('/tmp/tensorflow_logs', graph_def=sess.graph_def)
  
  # Training cycle
  for epoch in range(training_epochs):
      avg_cost = 0.
      total_batch = int(X_train.shape[0]/batch_size)
  
      # Loop over total length of batches
      for i in range(total_batch):  
          #picking up random batches from training set of specific size
          batch_xs, batch_ys = w2v_utils.nextBatch(X_train, y_train, batch_size)
          # Fit training using batch data
          sess.run(optimizer, feed_dict={x: batch_xs, y: batch_ys})
          # Compute average loss
          avg_cost += sess.run(cost, feed_dict={x: batch_xs, y: batch_ys})/total_batch
          # Write logs at every iteration
          #summary_str = sess.run(merged_summary_op, feed_dict={x: batch_xs, y: batch_ys})
          #summary_writer.add_summary(summary_str, epoch*total_batch + i)
  
      #append loss
      loss_history.append(avg_cost)
  
      # Display logs per epoch step
      if (epoch % display_step == 0):           
          correct_prediction = tf.equal(tf.argmax(pred, 1), tf.argmax(y, 1))            
          # Calculate training  accuracy
          accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
          trainAccuracy = accuracy.eval({x: X_train, y: y_train})
          train_acc_history.append(trainAccuracy)           
          # Calculate validation  accuracy
          valAccuracy = accuracy.eval({x: X_val, y: y_val})
          val_acc_history.append(valAccuracy) 
          print "Epoch:", '%04d' % (epoch+1), "cost=", "{:.9f}".format(avg_cost), "train=",trainAccuracy,"val=", valAccuracy
  
  print "Optimization Finished!"
  # Test model
  correct_prediction = tf.equal(tf.argmax(pred, 1), tf.argmax(y, 1))
  # Calculate accuracy
  accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
  print "Final Training Accuracy:", accuracy.eval({x: X_train, y: y_train})
  print "Final Test Accuracy:", accuracy.eval({x: X_test, y: y_test})
  print "Final Gold Accuracy:", accuracy.eval({x: X_gold, y: y_gold})
  </code></pre>
  
  <p>Up till now, i am able to print predicted scores but failed to implement confusion matrix please help. 
  <strong>Note:<em></strong>(I am using one hot vectors for representing my labels)</em></p>