public SDVariable gather(String name, SDVariable df, SDVariable indices, int axis) {
    SDValidation.validateInteger("gather", "indices", indices);
    SDVariable out =  new org.nd4j.linalg.api.ops.impl.shape.Gather(sd,df, indices, axis).outputVariable();
    return sd.updateVariableNameAndReference(out, name);
  }