function fitDataset(_x13, _x14) {
	      return _fitDataset.apply(this, arguments);
	    }
Trains the model using a dataset object.

```js
const xArray = [
  [1, 1, 1, 1, 1, 1, 1, 1, 1],
  [1, 1, 1, 1, 1, 1, 1, 1, 1],
  [1, 1, 1, 1, 1, 1, 1, 1, 1],
  [1, 1, 1, 1, 1, 1, 1, 1, 1],
];
const yArray = [1, 1, 1, 1];
// Create a dataset from the JavaScript array.
const xDataset = tf.data.array(xArray);
const yDataset = tf.data.array(yArray);
// Zip combines the `x` and `y` Datasets into a single Dataset, the
// iterator of which will return an object containing of two tensors,
// corresponding to `x` and `y`.  The call to `batch(4)` will bundle
// four such samples into a single object, with the same keys now pointing
// to tensors that hold 4 examples, organized along the batch dimension.
// The call to `shuffle(4)` causes each iteration through the dataset to
// happen in a different order.  The size of the shuffle window is 4.
const xyDataset = tf.data.zip({xs: xDataset, ys: yDataset})
    .batch(4)
    .shuffle(4);
const model = tf.sequential({
  layers: [tf.layers.dense({units: 1, inputShape: [9]})]
});
model.compile({optimizer: 'sgd', loss: 'meanSquaredError'});
const history = await model.fitDataset(xyDataset, {
  epochs: 4,
  callbacks: {onEpochEnd: (epoch, logs) => console.log(logs.loss)}
});
```

@param dataset A dataset object. Its `iterator()` method is expected to
  generate a dataset iterator object, the `next()` method of which is
  expected to produce data batches for evaluation. The return value of the
  `next()` call ought to contain a boolean `done` field and a `value`
  field.

  The `value` field is expected to be an object of with fields
  `xs` and `ys`, which point to the feature tensor and the target tensor,
  respectively. This case is for models with exactly one input and one
  output (e.g.. a sequential model). For example:
  ```js
  {value: {xs: xsTensor, ys: ysTensor}, done: false}
  ```

  If the model has multiple inputs, the `xs` field of `value` should
  be an object mapping input names to their respective feature tensors.
  For example:
  ```js
  {
    value: {
      xs: {
        input_1: xsTensor1,
        input_2: xsTensor2
      },
      ys: ysTensor
    },
    done: false
  }
  ```
  If the model has multiple outputs, the `ys` field of `value` should
  be an object mapping output names to their respective target tensors.
  For example:
  ```js
  {
    value: {
      xs: xsTensor,
      ys: {
        output_1: ysTensor1,
        output_2: ysTensor2
      },
    },
    done: false
  }
  ```
@param args A `ModelFitDatasetArgs`, containing optional fields.

@return A `History` instance. Its `history` attribute contains all
  information collected during training.

@doc {heading: 'Models', subheading: 'Classes', ignoreCI: true}