Ejemplo n.º 1
0
class TestParallelTextClassifier(TestCase):
    def setUp(self):
        src_voc = Vocabulary()
        trg_voc = Vocabulary()
        for tok in "I am Philip".split():
            src_voc[tok]
        for tok in "私 は フィリップ です".split():
            trg_voc[tok]
        self.model = ParallelTextClassifier(Args(), src_voc, trg_voc, optimizer=optimizers.SGD())
        self.src_voc = src_voc
        self.trg_voc = trg_voc

    def test_read_write(self):
        model = "/tmp/chainer-test/text/model.temp"
        X, Y  = self.src_voc, self.trg_voc
        
        # Train with 1 example
        inp = np.array([[X["Philip"], X["I"]]], dtype=np.int32)
        out = np.array([[Y["フィリップ"], Y["私"]]], dtype=np.int32)
        self.model.train(inp, out)
        
        # Save
        serializer = ModelSerializer(model)
        serializer.save(self.model)

        # Load
        model1 = ParallelTextClassifier(InitArgs(model))
            
        # Check
        self.assertModelEqual(self.model._model, model1._model)