class_docstr: String Proccesor() objects together into a processor_group.
class_docstr_tok: ["String","Proccesor","(",")","objects","together","into","a","processor_group","."]
docstr: Constructor, completely configurable via gin.
  
  Args:
    dag: A directed acyclical graph in the form of a list of nodes. Each node
      has the form
  
      ['module', ['input_key', ...], ['output_key', ...]]
  
      'module': Module instance or string name of module. For example,
        'reverb' woud access the attribute `processor_group.reverb`.
      'input_key': List of strings, nested keys in dictionary of dag outputs.
        For example, 'inputs/f0_hz' would access `outputs[inputs]['f0_hz']`.
        Inputs to the dag are wrapped in a `inputs` dict as shown in the
        example. This list is ordered and has one key per a module input
        argument. Each node's outputs are prefixed by their module name.
      'output_key': List of strings, keys for each return value of the module.
        For example, ['amps', 'freqs'] would have the module return a dict
        {'module_name': {'amps': return_value_0, 'freqs': return_value_1}}.
        If the module returns a dictionary, the keys of the dictionary will be
        used and these values (if provided) will be ignored.
  
      The graph is read sequentially and must be topologically sorted. This
      means that all inputs for a module must already be generated by earlier
      modules (or in the input dictionary).
    **kwarg_processors: Processor instances to add to ProcessorGroup. Each
      kwarg Processor will be added as a property of the layer, so that it
      will be accessible as `processor_group.kwarg`. Also, other keras kwargs
      such as 'name' are split off before adding modules.
docstr_tok: ["Constructor",",","completely","configurable","via","gin",".","Args",":","dag",":","A","directed","acyclical","graph","in","the","form","of","a","list","of","nodes",".","Each","node","has","the","form","[","'module","'",",","[","'input_key","'",",","...","]",",","[","'output_key","'",",","...","]","]","'module","'",":","Module","instance","or","string","name","of","module",".","For","example",",","'reverb","'","woud","access","the","attribute","`","processor_group.reverb","`",".","'input_key","'",":","List","of","strings",",","nested","keys","in","dictionary","of","dag","outputs",".","For","example",",","'inputs\/f0_hz","'","would","access","`","outputs","[","inputs","]","[","'f0_hz","'","]","`",".","Inputs","to","the","dag","are","wrapped","in","a","`","inputs","`","dict","as","shown","in","the","example",".","This","list","is","ordered","and","has","one","key","per","a","module","input","argument",".","Each","node","'s","outputs","are","prefixed","by","their","module","name",".","'output_key","'",":","List","of","strings",",","keys","for","each","return","value","of","the","module",".","For","example",",","[","'amps","'",",","'freqs","'","]","would","have","the","module","return","a","dict","{","'module_name","'",":","{","'amps","'",":","return_value_0",",","'freqs","'",":","return_value_1","}","}",".","If","the","module","returns","a","dictionary",",","the","keys","of","the","dictionary","will","be","used","and","these","values","(","if","provided",")","will","be","ignored",".","The","graph","is","read","sequentially","and","must","be","topologically","sorted",".","This","means","that","all","inputs","for","a","module","must","already","be","generated","by","earlier","modules","(","or","in","the","input","dictionary",")",".","*","*","kwarg_processors",":","Processor","instances","to","add","to","ProcessorGroup",".","Each","kwarg","Processor","will","be","added","as","a","property","of","the","layer",",","so","that","it","will","be","accessible","as","`","processor_group.kwarg","`",".","Also",",","other","keras","kwargs","such","as","'name","'","are","split","off","before","adding","modules","."]
code: def __init__(self, dag: dags.DAG, **kwarg_processors):
      """Constructor, completely configurable via gin.
  
      Args:
        dag: A directed acyclical graph in the form of a list of nodes. Each node
          has the form
  
          ['module', ['input_key', ...], ['output_key', ...]]
  
          'module': Module instance or string name of module. For example,
            'reverb' woud access the attribute `processor_group.reverb`.
          'input_key': List of strings, nested keys in dictionary of dag outputs.
            For example, 'inputs/f0_hz' would access `outputs[inputs]['f0_hz']`.
            Inputs to the dag are wrapped in a `inputs` dict as shown in the
            example. This list is ordered and has one key per a module input
            argument. Each node's outputs are prefixed by their module name.
          'output_key': List of strings, keys for each return value of the module.
            For example, ['amps', 'freqs'] would have the module return a dict
            {'module_name': {'amps': return_value_0, 'freqs': return_value_1}}.
            If the module returns a dictionary, the keys of the dictionary will be
            used and these values (if provided) will be ignored.
  
          The graph is read sequentially and must be topologically sorted. This
          means that all inputs for a module must already be generated by earlier
          modules (or in the input dictionary).
        **kwarg_processors: Processor instances to add to ProcessorGroup. Each
          kwarg Processor will be added as a property of the layer, so that it
          will be accessible as `processor_group.kwarg`. Also, other keras kwargs
          such as 'name' are split off before adding modules.
      """
      super().__init__(dag, **kwarg_processors)
      self.processor_names = self.module_names
  
imports: from typing import Dict, Text
  from ddsp import core
  from ddsp import dags
  import gin
  import tensorflow
label_desc: Use image node_id 1 to create a new ProcessorGroup object from inherited base classes: dags with example: obj = ProcessorGroup(dag)