def testPandasFeeding(self):
   if not HAS_PANDAS:
     return
   with ops.Graph().as_default():
     array1 = np.arange(32)
     array2 = np.arange(32, 64)
     df = pd.DataFrame({"a": array1, "b": array2}, index=np.arange(64, 96))
     q = enqueue_data(df, capacity=100)
     batch_size = 5
     dq_op = q.dequeue_many(5)
     with session.Session() as sess:
       coord = coordinator.Coordinator()
       threads = queue_runner_impl.start_queue_runners(sess=sess, coord=coord)
       for i in range(100):
         indices = [
             j % array1.shape[0]
             for j in range(batch_size * i, batch_size * (i + 1))
         ]
         expected_df_indices = df.index[indices]
         expected_rows = df.iloc[indices]
         dq = sess.run(dq_op)
         np.testing.assert_array_equal(expected_df_indices, dq[0])
         for col_num, col in enumerate(df.columns):
           np.testing.assert_array_equal(expected_rows[col].values,
                                         dq[col_num + 1])
       coord.request_stop()
       coord.join(threads)
Example #2
0
 def testPandasFeeding(self):
     if not HAS_PANDAS:
         return
     with ops.Graph().as_default():
         array1 = np.arange(32)
         array2 = np.arange(32, 64)
         df = pd.DataFrame({
             "a": array1,
             "b": array2
         },
                           index=np.arange(64, 96))
         q = enqueue_data(df, capacity=100)
         batch_size = 5
         dq_op = q.dequeue_many(5)
         with session.Session() as sess:
             coord = coordinator.Coordinator()
             threads = queue_runner_impl.start_queue_runners(sess=sess,
                                                             coord=coord)
             for i in range(100):
                 indices = [
                     j % array1.shape[0]
                     for j in range(batch_size * i, batch_size * (i + 1))
                 ]
                 expected_df_indices = df.index[indices]
                 expected_rows = df.iloc[indices]
                 dq = sess.run(dq_op)
                 np.testing.assert_array_equal(expected_df_indices, dq[0])
                 for col_num, col in enumerate(df.columns):
                     np.testing.assert_array_equal(
                         expected_rows[col].values, dq[col_num + 1])
             coord.request_stop()
             coord.join(threads)
 def testArrayFeedingMultiThread(self):
   with ops.Graph().as_default():
     array = np.arange(256).reshape([128, 2])
     q = enqueue_data(array, capacity=128, num_threads=8, shuffle=True)
     batch_size = 3
     dq_op = q.dequeue_many(batch_size)
     with session.Session() as sess:
       coord = coordinator.Coordinator()
       threads = queue_runner_impl.start_queue_runners(sess=sess, coord=coord)
       for _ in range(100):
         dq = sess.run(dq_op)
         indices = dq[0]
         expected_dq = get_rows(array, indices)
         np.testing.assert_array_equal(expected_dq, dq[1])
       coord.request_stop()
       coord.join(threads)
Example #4
0
 def testArrayFeedingMultiThread(self):
     with ops.Graph().as_default():
         array = np.arange(256).reshape([128, 2])
         q = enqueue_data(array, capacity=128, num_threads=8, shuffle=True)
         batch_size = 3
         dq_op = q.dequeue_many(batch_size)
         with session.Session() as sess:
             coord = coordinator.Coordinator()
             threads = queue_runner_impl.start_queue_runners(sess=sess,
                                                             coord=coord)
             for _ in range(100):
                 dq = sess.run(dq_op)
                 indices = dq[0]
                 expected_dq = get_rows(array, indices)
                 np.testing.assert_array_equal(expected_dq, dq[1])
             coord.request_stop()
             coord.join(threads)
 def testArrayFeeding(self):
   with ops.Graph().as_default():
     array = np.arange(32).reshape([16, 2])
     q = enqueue_data(array, capacity=100)
     batch_size = 3
     dq_op = q.dequeue_many(batch_size)
     with session.Session() as sess:
       coord = coordinator.Coordinator()
       threads = queue_runner_impl.start_queue_runners(sess=sess, coord=coord)
       for i in range(100):
         indices = [
             j % array.shape[0]
             for j in range(batch_size * i, batch_size * (i + 1))
         ]
         expected_dq = get_rows(array, indices)
         dq = sess.run(dq_op)
         np.testing.assert_array_equal(indices, dq[0])
         np.testing.assert_array_equal(expected_dq, dq[1])
       coord.request_stop()
       coord.join(threads)
Example #6
0
 def testArrayFeeding(self):
     with ops.Graph().as_default():
         array = np.arange(32).reshape([16, 2])
         q = enqueue_data(array, capacity=100)
         batch_size = 3
         dq_op = q.dequeue_many(batch_size)
         with session.Session() as sess:
             coord = coordinator.Coordinator()
             threads = queue_runner_impl.start_queue_runners(sess=sess,
                                                             coord=coord)
             for i in range(100):
                 indices = [
                     j % array.shape[0]
                     for j in range(batch_size * i, batch_size * (i + 1))
                 ]
                 expected_dq = get_rows(array, indices)
                 dq = sess.run(dq_op)
                 np.testing.assert_array_equal(indices, dq[0])
                 np.testing.assert_array_equal(expected_dq, dq[1])
             coord.request_stop()
             coord.join(threads)
Example #7
0
    def _generator_input_fn():
        """generator input function."""
        queue = enqueue_data(x,
                             queue_capacity,
                             shuffle=shuffle,
                             num_threads=num_threads,
                             enqueue_size=batch_size,
                             num_epochs=num_epochs)

        features = (queue.dequeue_many(batch_size)
                    if num_epochs is None else queue.dequeue_up_to(batch_size))
        if not isinstance(features, list):
            features = [features]
        features = dict(zip(input_keys, features))
        if target_key is not None:
            if len(target_key) > 1:
                target = {key: features.pop(key) for key in target_key}
            else:
                target = features.pop(target_key[0])
            return features, target
        return features
 def testPandasFeedingMultiThread(self):
   if not HAS_PANDAS:
     return
   with ops.Graph().as_default():
     array1 = np.arange(128, 256)
     array2 = 2 * array1
     df = pd.DataFrame({"a": array1, "b": array2}, index=np.arange(128))
     q = enqueue_data(df, capacity=128, num_threads=8, shuffle=True)
     batch_size = 5
     dq_op = q.dequeue_many(batch_size)
     with session.Session() as sess:
       coord = coordinator.Coordinator()
       threads = queue_runner_impl.start_queue_runners(sess=sess, coord=coord)
       for _ in range(100):
         dq = sess.run(dq_op)
         indices = dq[0]
         expected_rows = df.iloc[indices]
         for col_num, col in enumerate(df.columns):
           np.testing.assert_array_equal(expected_rows[col].values,
                                         dq[col_num + 1])
       coord.request_stop()
       coord.join(threads)
Example #9
0
  def _generator_input_fn():
    """generator input function."""
    queue = enqueue_data(
        x,
        queue_capacity,
        shuffle=shuffle,
        num_threads=num_threads,
        enqueue_size=batch_size,
        num_epochs=num_epochs,
        pad_value=pad_value)

    features = (queue.dequeue_many(batch_size)
                if num_epochs is None else queue.dequeue_up_to(batch_size))
    if not isinstance(features, list):
      features = [features]
    features = dict(zip(input_keys, features))
    if target_key is not None:
      if len(target_key) > 1:
        target = {key: features.pop(key) for key in target_key}
      else:
        target = features.pop(target_key[0])
      return features, target
    return features
Example #10
0
 def testPandasFeedingMultiThread(self):
     if not HAS_PANDAS:
         return
     with ops.Graph().as_default():
         array1 = np.arange(128, 256)
         array2 = 2 * array1
         df = pd.DataFrame({"a": array1, "b": array2}, index=np.arange(128))
         q = enqueue_data(df, capacity=128, num_threads=8, shuffle=True)
         batch_size = 5
         dq_op = q.dequeue_many(batch_size)
         with session.Session() as sess:
             coord = coordinator.Coordinator()
             threads = queue_runner_impl.start_queue_runners(sess=sess,
                                                             coord=coord)
             for _ in range(100):
                 dq = sess.run(dq_op)
                 indices = dq[0]
                 expected_rows = df.iloc[indices]
                 for col_num, col in enumerate(df.columns):
                     np.testing.assert_array_equal(
                         expected_rows[col].values, dq[col_num + 1])
             coord.request_stop()
             coord.join(threads)