def test_diagnostics(default_model_storage: ModelStorage, default_execution_context: ExecutionContext): domain = Domain.from_yaml(DOMAIN_YAML) policy = TEDPolicy( TEDPolicy.get_default_config(), default_model_storage, Resource("TEDPolicy"), default_execution_context, ) GREET_RULE = DialogueStateTracker.from_events( "greet rule", evts=[ UserUttered(intent={"name": GREET_INTENT_NAME}), ActionExecuted(UTTER_GREET_ACTION), ActionExecuted(ACTION_LISTEN_NAME), UserUttered(intent={"name": GREET_INTENT_NAME}), ActionExecuted(ACTION_LISTEN_NAME), ], ) precomputations = None policy.train([GREET_RULE], domain, precomputations) prediction = policy.predict_action_probabilities( GREET_RULE, domain, precomputations, ) assert prediction.diagnostic_data assert "attention_weights" in prediction.diagnostic_data assert isinstance(prediction.diagnostic_data.get("attention_weights"), np.ndarray)
async def test_train_keras_policy(): default_domain = Domain.load(DEFAULT_DOMAIN_PATH_WITH_SLOTS) trackers = await training.load_data(DEFAULT_STORIES_FILE, default_domain, augmentation_factor=0, debug_plots=False) config = {"epochs": 100} policy = TEDPolicy(featurizer=featurizer(), priority=1, **config) policy.train(trackers, default_domain) policy.persist("{}/models/ted".format(prj_dir))
def test_diagnostics(): domain = Domain.from_yaml(DOMAIN_YAML) policy = TEDPolicy() GREET_RULE = DialogueStateTracker.from_events( "greet rule", evts=[ UserUttered(intent={"name": GREET_INTENT_NAME}), ActionExecuted(UTTER_GREET_ACTION), ActionExecuted(ACTION_LISTEN_NAME), UserUttered(intent={"name": GREET_INTENT_NAME}), ActionExecuted(ACTION_LISTEN_NAME), ], ) policy.train([GREET_RULE], domain, RegexInterpreter()) prediction = policy.predict_action_probabilities(GREET_RULE, domain, RegexInterpreter()) assert prediction.diagnostic_data assert "attention_weights" in prediction.diagnostic_data assert isinstance(prediction.diagnostic_data.get("attention_weights"), np.ndarray)