Beispiel #1
0
  def _install_queue(self):
    """
    """
    if not self.use_queue or self.queue_installed:
      for layer in self.features + self.labels + self.task_weights:
        layer.pre_queue = True
      return
    names = []
    shapes = []
    pre_q_inputs = []
    q = InputFifoQueue(shapes, names, in_layers=pre_q_inputs)
    q.name = "%s_%s" % (q.__class__.__name__, len(self.layers) + 1)

    for layer in self.features + self.labels + self.task_weights:
      pre_q_input = layer.create_pre_q(self.batch_size)
      shapes.append(pre_q_input.shape)
      names.append(pre_q_input.name)
      pre_q_inputs.append(pre_q_input)

      layer.in_layers.append(q)
      self.nxgraph.add_edge(q.name, layer.name)

    self._add_layer(q)
    self.input_queue = q
    self.queue_installed = True
Beispiel #2
0
  def _install_queue(self):
    """
    """
    if not self.use_queue or self.queue_installed:
      for layer in self.features + self.labels + self.task_weights:
        layer.pre_queue = True
      return
    inputs = self.features + self.labels + self.task_weights
    if len(inputs) == 0:
      return
    names = []
    shapes = []
    pre_q_inputs = []
    q = InputFifoQueue(shapes, names, in_layers=pre_q_inputs)
    q.name = "%s_%s" % (q.__class__.__name__, len(self.layers) + 1)

    for layer in inputs:
      pre_q_input = layer.create_pre_q()
      shapes.append(pre_q_input.shape)
      names.append(pre_q_input.name)
      pre_q_inputs.append(pre_q_input)

      layer.in_layers.append(q)

    self._add_layer(q)
    self.input_queue = q
    self.queue_installed = True
Beispiel #3
0
 def test_input_fifo_queue(self):
   """Test InputFifoQueue can be invoked."""
   batch_size = 10
   n_features = 5
   in_tensor = np.random.rand(batch_size, n_features)
   tf.reset_default_graph()
   with self.test_session() as sess:
     in_tensor = TensorWrapper(
         tf.convert_to_tensor(in_tensor, dtype=tf.float32), name="input")
     InputFifoQueue([(batch_size, n_features)], ["input"])(in_tensor)
Beispiel #4
0
    def _install_queue(self):
        if self.input_queue is not None:
            return
        names = []
        shapes = []
        pre_q_inputs = []
        for layer in self.features + self.labels + self.task_weights:
            pre_q_input = layer.create_pre_q(self.batch_size)
            shapes.append(pre_q_input.shape)
            names.append(pre_q_input.name)

            self.add_layer(pre_q_input)
            pre_q_inputs.append(pre_q_input)

        q = InputFifoQueue(shapes, names)
        self.add_layer(q, pre_q_inputs)
        for layer in self.features + self.labels + self.task_weights:
            self._add_parent(layer, q)
        self.input_queue = q