Ejemplo n.º 1
0
 def setUp(self):
   super(TestOnDenseGrid, self).setUp()
   sparse_grid_context = nql_test_lib.make_grid()
   context = nql.NeuralQueryContext()
   # copy the grid but densify some of it
   context.declare_relation('n', 'place_t', 'place_t')
   context.declare_relation('s', 'place_t', 'place_t')
   context.declare_relation('e', 'place_t', 'place_t')
   context.declare_relation('w', 'place_t', 'place_t')
   context.declare_relation('color', 'place_t', 'color_t', dense=True)
   context.declare_relation('distance_to', 'place_t', 'corner_t')
   # copy the type definitions
   for type_name in sparse_grid_context.get_type_names():
     entity_list = [
         sparse_grid_context.get_entity_name(i, type_name)
         for i in range(sparse_grid_context.get_max_id(type_name))
     ]
     context.extend_type(type_name, entity_list)
   # copy the data over
   for r in sparse_grid_context.get_relation_names():
     m = sparse_grid_context.get_initial_value(r)
     if context.is_dense(r):
       context.set_initial_value(r, m.todense())
     else:
       context.set_initial_value(r, m)
   self.context = context
   self.session = tf.Session()
Ejemplo n.º 2
0
def make_grid():
    """Create a grid, with relations for going n, s, e, w."""
    result = nql.NeuralQueryContext()
    result.declare_relation('n', 'place_t', 'place_t')
    result.declare_relation('s', 'place_t', 'place_t')
    result.declare_relation('e', 'place_t', 'place_t')
    result.declare_relation('w', 'place_t', 'place_t')
    result.declare_relation('color', 'place_t', 'color_t')
    result.declare_relation('distance_to', 'place_t', 'corner_t')

    kg_lines = []
    dij = {'n': (-1, 0), 's': (+1, 0), 'e': (0, +1), 'w': (0, -1)}
    for i in range(0, 4):
        for j in range(0, 4):
            cell_color = 'black' if (i % 2) == (j % 2) else 'white'
            kg_lines.append(
                '\t'.join(['color', cell(i, j), cell_color]) + '\n')
            kg_lines.append('\t'.join(
                ['distance_to', cell(i, j), 'ul',
                 str(i + j)]) + '\n')
            for direction, (di, dj) in dij.items():
                if (0 <= i + di < 4) and (0 <= j + dj < 4):
                    kg_lines.append('\t'.join([
                        direction, cell(i, j),
                        cell(i + di, j + dj)
                    ]) + '\n')
    result.load_kg(lines=kg_lines, freeze=True)
    return result
Ejemplo n.º 3
0
 def setUp(self):
     super(TestTFDataset, self).setUp()
     self.clean_examples = ['a|A', 'b|B', 'c|C,D']
     self.noisy_examples = ['a|A', 'b|Beta', 'c|C,noise', 'd|D']
     self.empty_examples = ['a|A,', 'b|Beta,', 'c|']
     self.noisy_examples_good_count = 4
     self.empty_examples_good_count = 3
     self.context = nql.NeuralQueryContext()
     self.context.extend_type('uc_t', ['A', 'B', 'C', 'D'])
     self.context.freeze('uc_t')
     self.tf_string_type = bytes
Ejemplo n.º 4
0
 def setUp(self):
     super(TestTFDataset, self).setUp()
     self.clean_examples = ['a|A', 'b|B', 'c|C,D']
     self.noisy_examples = ['a|A', 'b|Beta', 'c|C,noise', 'd|D']
     self.empty_examples = ['a|A,', 'b|Beta,', 'c|']
     self.noisy_examples_good_count = 4
     self.empty_examples_good_count = 3
     self.context = nql.NeuralQueryContext()
     self.context.extend_type('uc_t', ['A', 'B', 'C', 'D'])
     self.context.freeze('uc_t')
     with tf.Session() as session:
         s_const = tf.constant('hello world', dtype=tf.string)
         s_eval = session.run(s_const)
         self.tf_string_type = type(s_eval)
         self.tf_string_type = bytes
Ejemplo n.º 5
0
 def setUp(self):
   super(TestDeclaredTypes, self).setUp()
   self.context = nql.NeuralQueryContext()
Ejemplo n.º 6
0
 def setUp(self):
   super(TestLoad, self).setUp()
   self.context = nql.NeuralQueryContext()
   self.context.declare_relation('foo', 'foo_d', 'foo_r')
   self.context.declare_relation('bat', 'bat_d', 'bat_r')
Ejemplo n.º 7
0
 def setUp(self):
     super(TestKhotOverFrozenWithNone, self).setUp()
     self.context = nql.NeuralQueryContext()
     self.context.declare_entity_type('uc_t',
                                      fixed_vocab=['A', 'B', 'C', 'D'],
                                      unknown_marker=None)
Ejemplo n.º 8
0
 def setUp(self):
     self.context = nql.NeuralQueryContext()
     self.context.declare_entity_type('uc_t',
                                      fixed_vocab=['A', 'B', 'C', 'D'],
                                      unknown_marker=None)