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)
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)
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
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)
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)
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
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)
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
def test_add_null(self): ds = DataSet() with self.assertRaises(RuntimeError) as RE: ds.add_field('test', [])
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', [])