parameters: (list_ops_or_scope, **kwargs)
docstring: Stores the default arguments for the given set of list_ops.
  
    For usage, please see examples at top of the file.
  
    Args:
      list_ops_or_scope: List or tuple of operations to set argument scope for or
        a dictionary containg the current scope. When list_ops_or_scope is a dict,
        kwargs must be empty. When list_ops_or_scope is a list or tuple, then
        every op in it need to be decorated with @add_arg_scope to work.
      **kwargs: keyword=value that will define the defaults for each op in
                list_ops. All the ops need to accept the given set of arguments.
  
    Yields:
      the current_scope, which is a dictionary of {op: {arg: value}}
    Raises:
      TypeError: if list_ops is not a list or a tuple.
      ValueError: if any op in list_ops has not be decorated with @add_arg_scope.
docstring_summary: Stores the default arguments for the given set of list_ops.
docstring_tokens: Stores the default arguments for the given set of list_ops .
function: def arg_scope(list_ops_or_scope, **kwargs):
    """Stores the default arguments for the given set of list_ops.
  
    For usage, please see examples at top of the file.
  
    Args:
      list_ops_or_scope: List or tuple of operations to set argument scope for or
        a dictionary containg the current scope. When list_ops_or_scope is a dict,
        kwargs must be empty. When list_ops_or_scope is a list or tuple, then
        every op in it need to be decorated with @add_arg_scope to work.
      **kwargs: keyword=value that will define the defaults for each op in
                list_ops. All the ops need to accept the given set of arguments.
  
    Yields:
      the current_scope, which is a dictionary of {op: {arg: value}}
    Raises:
      TypeError: if list_ops is not a list or a tuple.
      ValueError: if any op in list_ops has not be decorated with @add_arg_scope.
    """
    if isinstance(list_ops_or_scope, dict):
      # Assumes that list_ops_or_scope is a scope that is being reused.
      if kwargs:
        raise ValueError('When attempting to re-use a scope by suppling a'
                         'dictionary, kwargs must be empty.')
      current_scope = list_ops_or_scope.copy()
      try:
        _get_arg_stack().append(current_scope)
        yield current_scope
      finally:
        _get_arg_stack().pop()
    else:
      # Assumes that list_ops_or_scope is a list/tuple of ops with kwargs.
      if not isinstance(list_ops_or_scope, (list, tuple)):
        raise TypeError('list_ops_or_scope must either be a list/tuple or reused'
                        'scope (i.e. dict)')
      try:
        current_scope = _current_arg_scope().copy()
        for op in list_ops_or_scope:
          key_op = _key_op(op)
          if not has_arg_scope(op):
            raise ValueError('%s is not decorated with @add_arg_scope',
                             _name_op(op))
          if key_op in current_scope:
            current_kwargs = current_scope[key_op].copy()
            current_kwargs.update(kwargs)
            current_scope[key_op] = current_kwargs
          else:
            current_scope[key_op] = kwargs.copy()
        _get_arg_stack().append(current_scope)
        yield current_scope
      finally:
        _get_arg_stack().pop()
function_tokens: def arg_scope ( list_ops_or_scope , * * kwargs ) : if isinstance ( list_ops_or_scope , dict ) : # Assumes that list_ops_or_scope is a scope that is being reused. if kwargs : raise ValueError ( 'When attempting to re-use a scope by suppling a' 'dictionary, kwargs must be empty.' ) current_scope = list_ops_or_scope . copy ( ) try : _get_arg_stack ( ) . append ( current_scope ) yield current_scope finally : _get_arg_stack ( ) . pop ( ) else : # Assumes that list_ops_or_scope is a list/tuple of ops with kwargs. if not isinstance ( list_ops_or_scope , ( list , tuple ) ) : raise TypeError ( 'list_ops_or_scope must either be a list/tuple or reused' 'scope (i.e. dict)' ) try : current_scope = _current_arg_scope ( ) . copy ( ) for op in list_ops_or_scope : key_op = _key_op ( op ) if not has_arg_scope ( op ) : raise ValueError ( '%s is not decorated with @add_arg_scope' , _name_op ( op ) ) if key_op in current_scope : current_kwargs = current_scope [ key_op ] . copy ( ) current_kwargs . update ( kwargs ) current_scope [ key_op ] = current_kwargs else : current_scope [ key_op ] = kwargs . copy ( ) _get_arg_stack ( ) . append ( current_scope ) yield current_scope finally : _get_arg_stack ( ) . pop ( )