title: I cannot find out why compiler reported the error?
body: <pre><code>import tensorflow as tf 
  import numpy as np 
  
  W = tf.Variable([0,3], dtype = tf.float32)
  b = tf.Variable([-0.3], dtype = tf.float32)
  
  x = tf.placeholder(tf.float32)
  linear_model = W * x + b
  y = tf.placeholder(tf.float32)
  
  loss = tf.reduce_sum(tf.square(linear_model - y))
  
  optimizer = tf.train.GradientDescentOptimizer(0.01)
  train = optimizer.minimize(loss)
  
  x_train = [1,2,3,4]
  y_train = [0,-1,-2,-3]
  
  init = tf.global_variables_initializer()
  sess = tf.Session()
  sess.run(init)
  
  for i in range(1000):
      sess.run(train, {x: x_train, y: y_train})
  
  curr_W, curr_b, curr_loss = sess.run([W,b,loss], {x: [1,2,3,4], y: [0,-1,-2,-3]})
  print("w: %s, b: %s, loss: %s", curr_W, curr_b, curr_loss)
  </code></pre>
  
  <p>ERROR:InvalidArgumentError (see above for traceback): Incompatible shapes: [2] vs. [4]
       [[Node: mul = Mul[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"](Variable/read, _recv_Placeholder_0)]]</p>