class_docstr: A convolutional net where each layer has the same number of filters.
class_docstr_tok: ["A","convolutional","net","where","each","layer","has","the","same","number","of","filters","."]
code: def __init__(
      self,
      input_depth,
      num_layers,
      num_filters,
      num_pitches,  # pylint:disable=unused-argument
      output_depth,
      **kwargs,
  ):
      super().__init__()
      tf.logging.info(
          "model_type=%s, input_depth=%d, output_depth=%d",
          self.key,
          input_depth,
          output_depth,
      )
      assert num_layers >= 4
      if (
          "num_pointwise_splits" in kwargs
          and kwargs["num_pointwise_splits"] > 1
      ):
          raise ValueError(
              "Splitting pointwise for non-dilated architectures not yet supported."
              "Set num_pointwise_splits to 1."
          )
  
      self.layers = []
  
      def _add(**kwargs):
          self.layers.append(kwargs)
  
      _add(filters=[3, 3, input_depth, num_filters])
      for _ in range(num_layers - 3):
          _add(filters=[3, 3, num_filters, num_filters])
      _add(filters=[2, 2, num_filters, num_filters])
      _add(
          filters=[2, 2, num_filters, output_depth],
          activation=lib_util.identity,
      )
  
      tf.logging.info(
          "num_layers=%d, num_filters=%d", len(self.layers), num_filters
      )
      self.name = "%s-%d-%d" % (self.key, len(self.layers), num_filters)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import itertools
  import os
  from magenta.models.coconet import lib_util
  import numpy
  import six
  import tensorflow.compat.v1
  import yaml
label_desc: Use image node_id 1 to create a new Straight object from inherited base classes: Architecture with example: obj = Straight(input_depth, num_layers, num_filters, num_pitches, output_depth)