title: Why is the output of this code not a two-dimensional form but a one-dimensional form?
body: <pre class="lang-py prettyprint-override"><code>from mxnet import nd
  
  n_train, n_test, true_w, true_b = 100, 100, [1.2, -3.4, 5.6], 5
  
  features = nd.random.normal(shape=(n_train + n_test, 1))
  poly_features = nd.concat(features, nd.power(features, 2),
                           nd.power(features, 3))
  labels = (true_w[0] * poly_features[:, 0] + true_w[1] * poly_features[:, 1] + true_w[2] * poly_features[:, 2] + true_b)
  labels += nd.random.normal(scale=0.01, shape=labels.shape)
  
  print(labels[:2])
  </code></pre>
  
  <p>Because the shapes of <code>features</code> and <code>poly_features</code> are all 2D NDArray, I think the output of this code is the form as below:</p>
  
  <p><code>NDArray 2x1 @cpu(0)</code>,  </p>
  
  <p>but the real output form is </p>
  
  <p><code>NDArray 2 @cpu(0)</code>.</p>
  
  <p>Why is the output not a 2D NDArray?</p>