Esempio n. 1
0
    def test_maintain_dialog_history(self):
        try:
            from parlai.core.torch_agent import TorchAgent
        except ImportError as e:
            if 'pytorch' in e.msg:
                print(
                    'Skipping TestTorchAgent.test_maintain_dialog_history, no pytorch.'
                )
                return

        from parlai.core.params import ParlaiParser
        parser = ParlaiParser()
        TorchAgent.add_cmdline_args(parser)
        parser.set_params(no_cuda=True, truncate=5)
        opt = parser.parse_args(print_args=False)
        mdict = MockDict()

        shared = {'opt': opt, 'dict': mdict}
        agent = TorchAgent(opt, shared)

        observation = {
            "text": "What is a painting?",
            "labels": ["Paint on a canvas."],
            "episode_done": False
        }

        agent.maintain_dialog_history(observation)

        self.assertTrue('dialog' in agent.history,
                        "Failed initializing self.history.")
        self.assertTrue('episode_done' in agent.history,
                        "Failed initializing self.history.")
        self.assertTrue('labels' in agent.history,
                        "Failed initializing self.history.")
        self.assertTrue(
            list(agent.history['dialog']) == [7, 8, 9],
            "Failed adding vectorized text to dialog.")
        self.assertTrue(not agent.history['episode_done'],
                        "Failed to properly store episode_done field.")
        self.assertTrue(agent.history['labels'] == observation['labels'],
                        "Failed saving labels.")

        observation['text_vec'] = agent.maintain_dialog_history(observation)
        print(agent.history['dialog'])
        self.assertTrue(
            list(agent.history['dialog']) == [8, 9, 7, 8, 9],
            "Failed adding vectorized text to dialog.")
Esempio n. 2
0
    def test_maintain_dialog_history(self):
        try:
            from parlai.core.torch_agent import TorchAgent
        except ImportError as e:
            if 'pytorch' in e.msg:
                print(
                    'Skipping TestTorchAgent.test_maintain_dialog_history, no pytorch.'
                )
                return

        opt = {}
        opt['no_cuda'] = True
        opt['truncate'] = 5
        opt['history_dialog'] = 10
        opt['history_replies'] = 'label_else_model'
        mdict = MockDict()

        shared = {'opt': opt, 'dict': mdict}
        agent = TorchAgent(opt, shared)

        observation = {
            "text": "What is a painting?",
            "labels": ["Paint on a canvas."],
            "episode_done": False
        }

        agent.maintain_dialog_history(observation)

        self.assertTrue('dialog' in agent.history,
                        "Failed initializing self.history.")
        self.assertTrue('episode_done' in agent.history,
                        "Failed initializing self.history.")
        self.assertTrue('labels' in agent.history,
                        "Failed initializing self.history.")
        self.assertTrue(
            list(agent.history['dialog']) == [7, 8, 9],
            "Failed adding vectorized text to dialog.")
        self.assertTrue(not agent.history['episode_done'],
                        "Failed to properly store episode_done field.")
        self.assertTrue(agent.history['labels'] == observation['labels'],
                        "Failed saving labels.")

        observation['text_vec'] = agent.maintain_dialog_history(observation)
        self.assertTrue(
            list(agent.history['dialog']) == [8, 9, 7, 8, 9],
            "Failed adding vectorized text to dialog.")
Esempio n. 3
0
    def test_maintain_dialog_history(self):
        opt = {}
        opt['no_cuda'] = True
        opt['history_tokens'] = 5
        opt['history_dialog'] = 10
        opt['history_replies'] = 'label_else_model'
        dict = MockDict()

        shared = {'opt': opt, 'dict': dict}
        agent = TorchAgent(opt, shared)

        observation = {
            "text": "What is a painting?",
            "labels": ["Paint on a canvas."],
            "episode_done": False
        }

        agent.maintain_dialog_history(observation)

        self.assertTrue('dialog' in agent.history,
                        "Failed initializing self.history.")
        self.assertTrue('episode_done' in agent.history,
                        "Failed initializing self.history.")
        self.assertTrue('labels' in agent.history,
                        "Failed initializing self.history.")
        self.assertTrue(
            list(agent.history['dialog']) == [1, 3, 5],
            "Failed adding vectorized text to dialog.")
        self.assertTrue(not agent.history['episode_done'],
                        "Failed to properly store episode_done field.")
        self.assertTrue(agent.history['labels'] == observation['labels'],
                        "Failed saving labels.")

        observation['text_vec'] = agent.maintain_dialog_history(observation)
        self.assertTrue(
            list(agent.history['dialog']) == [3, 5, 1, 3, 5],
            "Failed adding vectorized text to dialog.")