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
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)
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