# tf.estimator.TrainSpec

## Class TrainSpec

Configuration for the "train" part for the train_and_evaluate call.

TrainSpec determines the input data for the training, as well as the duration. Optional hooks run at various stages of training.

## Properties

### hooks

Alias for field number 2

### input_fn

Alias for field number 0

### max_steps

Alias for field number 1

## Methods

### __new__

@staticmethod
__new__(
cls,
input_fn,
max_steps=None,
hooks=None
)


Creates a validated TrainSpec instance.

#### Args:

• input_fn: A function that provides input data for training as minibatches. See Premade Estimators for more information. The function should construct and return one of the following:

• A 'tf.data.Dataset' object: Outputs of Dataset object must be a tuple (features, labels) with same constraints as below.
• A tuple (features, labels): Where features is a Tensor or a dictionary of string feature name to Tensor and labels is a Tensor or a dictionary of string label name to Tensor.
• max_steps: Int. Positive number of total steps for which to train model. If None, train forever. The training input_fn is not expected to generate OutOfRangeError or StopIteration exceptions. See the train_and_evaluate stop condition section for details.

• hooks: Iterable of tf.train.SessionRunHook objects to run on all workers (including chief) during training.

#### Returns:

A validated TrainSpec object.

#### Raises:

• ValueError: If any of the input arguments is invalid.
• TypeError: If any of the arguments is not of the expected type.