code: @Override
      public int[] predict(INDArray d) {
          INDArray output = output(d, Layer.TrainingMode.TEST);
  
          // FIXME: int cast
          int[] ret = new int[(int) d.size(0)];
          if (d.isRowVectorOrScalar())
              ret[0] = Nd4j.getBlasWrapper().iamax(output);
          else {
              for (int i = 0; i < ret.length; i++)
                  ret[i] = Nd4j.getBlasWrapper().iamax(output.getRow(i));
          }
          return ret;
      }
docs: Usable only for classification networks in conjunction with OutputLayer. Cannot be used with RnnOutputLayer,
  CnnLossLayer, or networks used for regression.<br>
  To get the raw output activations of the output layer, use {@link #output(INDArray)} or similar.<br>
  <br>
  Equivalent to argmax(this.output(input)): Returns the predicted class indices corresponding to the predictions
  for each example in the features array.
  
  @param d The input features to perform inference on
  @return The predicted class index for each example