예제 #1
0
 def test_add_field_v2(self):
     ds = DataSet({"x": [3, 4]})
     ds.add_field('y', [['hello', 'world'], ['this', 'is', 'a', 'test']],
                  is_input=True,
                  is_target=True)
     # ds.apply(lambda x:[x['x']]*3, is_input=True, is_target=True, new_field_name='y')
     print(ds)
예제 #2
0
 def test_delete_field(self):
     dd = DataSet()
     dd.add_field("x", [[1, 2, 3]] * 10)
     dd.add_field("y", [[1, 2, 3, 4]] * 10)
     dd.delete_field("x")
     self.assertFalse("x" in dd.field_arrays)
     self.assertTrue("y" in dd.field_arrays)
예제 #3
0
def create_dataset(data, sample_size):
    data_set = DataSet()
    data_set.add_field('raw_sentence', data.data[:sample_size])
    data_set.add_field('target', data.target[:sample_size])
    data_set.apply(lambda x: sentence_to_words(x['raw_sentence']),
                   new_field_name='word_seq')
    return data_set
예제 #4
0
 def test_add_field_ignore_type(self):
     dd = DataSet()
     dd.add_field("x", [(1, "1"), (2, "2"), (3, "3"), (4, "4")],
                  ignore_type=True,
                  is_target=True)
     dd.add_field("y", [{1, "1"}, {2, "2"}, {3, "3"}, {4, "4"}],
                  ignore_type=True,
                  is_target=True)
예제 #5
0
 def test_delete_instance(self):
     dd = DataSet()
     old_length = 2
     dd.add_field("x", [[1, 2, 3]] * old_length)
     dd.add_field("y", [[1, 2, 3, 4]] * old_length)
     dd.delete_instance(0)
     self.assertEqual(len(dd), old_length - 1)
     dd.delete_instance(0)
     self.assertEqual(len(dd), old_length - 2)
예제 #6
0
    def test_copy_padder(self):
        from fastNLP.core.field import AutoPadder
        ds = DataSet()
        ds.add_field('idx', [1, 2, 3])
        ds['idx'].set_padder(None)  # workaround of problem 1
        ds.apply_field(lambda x: x, 'idx', 'idx')
        self.assertEqual(ds['idx'].padder,
                         None)  # should be None, but AutoPadder

        ds = DataSet()
        ds.add_field('idx', [1, 2, 3])
        ds.apply_field(lambda x: x, 'idx', 'idx')
        self.assertTrue(
            isinstance(ds.get_field('idx').padder,
                       AutoPadder))  # should be None, but AutoPadder
예제 #7
0
    def test_add_field(self):
        dd = DataSet()
        dd.add_field("x", [[1, 2, 3]] * 10)
        dd.add_field("y", [[1, 2, 3, 4]] * 10)
        dd.add_field("z", [[5, 6]] * 10)
        self.assertEqual(len(dd), 10)
        self.assertEqual(dd.field_arrays["x"].content, [[1, 2, 3]] * 10)
        self.assertEqual(dd.field_arrays["y"].content, [[1, 2, 3, 4]] * 10)
        self.assertEqual(dd.field_arrays["z"].content, [[5, 6]] * 10)

        with self.assertRaises(RuntimeError):
            dd.add_field("??", [[1, 2]] * 40)
예제 #8
0
 def test_no_padder(self):
     ds = DataSet()
     ds.add_field('idx', [1, 2, 3], padder=None)
     self.assertEqual(ds['idx'].padder,
                      None)  # should be None, but AutoPadder
예제 #9
0
 def test_add_null(self):
     ds = DataSet()
     with self.assertRaises(RuntimeError) as RE:
         ds.add_field('test', [])
예제 #10
0
 def test_add_null(self):
     # TODO test failed because 'fastNLP\core\field.py:143: RuntimeError'
     ds = DataSet()
     with self.assertRaises(RuntimeError) as RE:
         ds.add_field('test', [])