class_docstr: A data structure for specifying training operations.
  
  Args:
    train_op: Op for the training step.
    chief_hooks: Iterable of :class:`tf.train.SessionRunHook` objects to run on
      the chief worker during training.
    hooks: Iterable of :class:`tf.train.SessionRunHook` objects to run on all
      workers during training.
  
  Returns:
    A :class:`adanet.subnetwork.TrainOpSpec` object.
class_docstr_tok: ["A","data","structure","for","specifying","training","operations",".","Args",":","train_op",":","Op","for","the","training","step",".","chief_hooks",":","Iterable","of",":","class",":","`","tf.train.SessionRunHook","`","objects","to","run","on","the","chief","worker","during","training",".","hooks",":","Iterable","of",":","class",":","`","tf.train.SessionRunHook","`","objects","to","run","on","all","workers","during","training",".","Returns",":","A",":","class",":","`","adanet.subnetwork.TrainOpSpec","`","object","."]
code: def __new__(cls, train_op, chief_hooks=None, hooks=None):
      # Make hooks immutable.
      chief_hooks = tuple(chief_hooks) if chief_hooks else ()
      hooks = tuple(hooks) if hooks else ()
      return super(TrainOpSpec, cls).__new__(
          cls, train_op, chief_hooks, hooks
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import abc
  import collections
  import six
label_desc: Use image node_id 1 for calling the TrainOpSpec obj's underlying member method code with example usage: obj.__new__(cls, train_op, chief_hooks, hooks) and returns: super