From 30f615b9af0f451c63a8990c4f3af13e422972d5 Mon Sep 17 00:00:00 2001 From: Christian <christian.geishauser@hhu.de> Date: Tue, 5 Jul 2022 09:45:34 +0200 Subject: [PATCH] solved by 1) ensuring database exists or is downloaded and 2) import using exec python method --- convlab/policy/vector/vector_base.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/convlab/policy/vector/vector_base.py b/convlab/policy/vector/vector_base.py index 62245a32..8b7d8ff0 100644 --- a/convlab/policy/vector/vector_base.py +++ b/convlab/policy/vector/vector_base.py @@ -3,7 +3,6 @@ import os import sys import numpy as np -from data.unified_datasets.multiwoz21.database import Database from copy import deepcopy from convlab.policy.vec import Vector from convlab.util.custom_util import flatten_acts @@ -26,8 +25,11 @@ class VectorBase(Vector): self.set_seed(seed) self.ontology = load_ontology(dataset_name) try: - #self.db = load_database(dataset_name) - self.db = Database() + # execute to make sure that the database exists or is downloaded otherwise + load_database(dataset_name) + # the following two lines are needed for pickling correctly during multi-processing + exec(f'from data.unified_datasets.{dataset_name}.database import Database') + self.db = eval('Database()') self.db_domains = self.db.domains except Exception as e: self.db = None -- GitLab