test_ner_examples.py 1.88 KB
Newer Older
Julien Chaumond's avatar
Julien Chaumond committed
1
2
3
4
5
import logging
import sys
import unittest
from unittest.mock import patch

6
import run_ner_old as run_ner
7
from transformers.testing_utils import require_torch_non_multigpu_but_fix_me, slow
Julien Chaumond's avatar
Julien Chaumond committed
8
9


10
logging.basicConfig(level=logging.INFO)
Julien Chaumond's avatar
Julien Chaumond committed
11
12
13
14
15

logger = logging.getLogger()


class ExamplesTests(unittest.TestCase):
16
    @slow
17
    @require_torch_non_multigpu_but_fix_me
Julien Chaumond's avatar
Julien Chaumond committed
18
19
20
21
22
23
    def test_run_ner(self):
        stream_handler = logging.StreamHandler(sys.stdout)
        logger.addHandler(stream_handler)

        testargs = """
            --model_name distilbert-base-german-cased
24
            --output_dir ./tests/fixtures/tests_samples/temp_dir
Julien Chaumond's avatar
Julien Chaumond committed
25
            --overwrite_output_dir
26
27
            --data_dir ./tests/fixtures/tests_samples/GermEval
            --labels ./tests/fixtures/tests_samples/GermEval/labels.txt
Julien Chaumond's avatar
Julien Chaumond committed
28
29
30
31
32
33
34
35
            --max_seq_length 128
            --num_train_epochs 6
            --logging_steps 1
            --do_train
            --do_eval
            """.split()
        with patch.object(sys, "argv", ["run.py"] + testargs):
            result = run_ner.main()
36
            self.assertLess(result["eval_loss"], 1.5)
37

38
    @require_torch_non_multigpu_but_fix_me
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
    def test_run_ner_pl(self):
        stream_handler = logging.StreamHandler(sys.stdout)
        logger.addHandler(stream_handler)

        testargs = """
            --model_name distilbert-base-german-cased
            --output_dir ./tests/fixtures/tests_samples/temp_dir
            --overwrite_output_dir
            --data_dir ./tests/fixtures/tests_samples/GermEval
            --labels ./tests/fixtures/tests_samples/GermEval/labels.txt
            --max_seq_length 128
            --num_train_epochs 6
            --logging_steps 1
            --do_train
            --do_eval
            """.split()
        with patch.object(sys, "argv", ["run.py"] + testargs):
            result = run_ner.main()
            self.assertLess(result["eval_loss"], 1.5)