title: ValueError: all the input arrays must have same number of dimensions -for Tensorflow Manual MSINT
body: <p>I'm trying to take a stochastic gradient descent code I made in tensor flow and train 25112 images similar to the MINST dataset (the files look exactly like it). I apologize if this is a simple problem but I'm unsure of how to proceed. Thank you!</p>
  
  <p>I'm running into this error:</p>
  
  <p>"ValueError: all the input arrays must have same number of dimensions"</p>
  
  <p>On this line of code:</p>
  
  <p>x = np.c_[ np.ones(n), image_tensor2] #line75</p>
  
  <p>And I can't determine why this isn't working - I think it has something to do with how I've read in the image files but I can't be sure. Here is my code</p>
  
  <pre><code>import numpy as np
  import tensorflow as tf
  import matplotlib.pyplot as plt
  import matplotlib.image as mpimg
  import argparse 
  
  #load the images in order
  vector = [] #initialize the vector
  
  filenames = tf.train.match_filenames_once("train_data/*.jpg")
  filename_queue = tf.train.string_input_producer(filenames)
  
  image_reader = tf.WholeFileReader()
  _, image_file = image_reader.read(filename_queue)
  image_orig = tf.image.decode_jpeg(image_file)
  image = tf.image.resize_images(image_orig, [28, 28])
  image.set_shape((28, 28, 3))
  images = tf.image.decode_jpeg(image_file)
  with tf.Session() as sess:
      tf.global_variables_initializer().run()
      coord = tf.train.Coordinator()
      threads = tf.train.start_queue_runners(coord=coord)
      image_tensor = sess.run([images]) 
      #print(image_tensor)
      #coord.request_stop()
      #coord.join(threads)
  
  image_tensor2 = np.array(image_tensor)
  n_samples = image_tensor2.shape[0]
  lossHistory=[]
  ap = argparse.ArgumentParser()
  ap.add_argument("-b", "--batch-size", type = int, default =32, help = "size of SGD mini-batches")
  args = vars(ap.parse_args())
  
    # Create the model
  x = tf.placeholder(tf.float32, [None, 784]) #784=28*28
  W = tf.Variable(tf.zeros([784, 10]))
  b = tf.Variable(tf.zeros([10]))
  y = tf.matmul(x, W) + b
  
  y_ = tf.placeholder(tf.float32, [25112, 10])
  
  
  sess = tf.InteractiveSession()
  tf.global_variables_initializer().run()
    # Train
  
  def next_batch(x, batchSize):
      for i in np.arange(0, x.shape[0], batchSize):
          yield (x[i:i + batchSize])
  
  def gradient_descent_2(alpha, x, y, numIterations):
      m,n = (784, 25112) # number of samples
      theta = np.ones(n)
      theta.fill(0.01)
      x_transpose = x.transpose()
      losshistory=[]
      count = 0
      batchX = 50
      for (batchX) in next_batch(x, args["batch_size"]):
          for iter in range(0, numIterations):
              hypothesis = np.dot(x, theta)
              loss = hypothesis - y
              J = np.sum(loss ** 2) / (2 * m)  # cost
              lossHistory.append(J)
              print( "iter %s | J: %.3f" % (iter, J))      
              gradient = np.dot(x_transpose, loss) / m         
              theta = theta - alpha * gradient  
      return theta
  
  if __name__ == '__main__':
  
  
      m, n = (784, 25112)
      x = np.c_[ np.ones(n), image_tensor2] # insert column
      alpha = 0.001 # learning rate
      theta = gradient_descent_2(alpha, image_tensor2, y_, 50)
      fig = plt.figure()
      print(theta)
  </code></pre>