Skip to content
Snippets Groups Projects
Commit 0849ea9d authored by Carel van Niekerk's avatar Carel van Niekerk :computer:
Browse files

Merge branch 'trippy_multiprocessing' into 'github_master'

Fix pickling error of TransformerForDST Trippy Class

See merge request dsml/convlab/ConvLab3!60
parents f5c0a840 f9e8c088
No related branches found
No related tags found
No related merge requests found
...@@ -62,7 +62,7 @@ def TransformerForDST(parent_name): ...@@ -62,7 +62,7 @@ def TransformerForDST(parent_name):
class TransformerForDST(PARENT_CLASSES[parent_name]): class TransformerForDST(PARENT_CLASSES[parent_name]):
def __init__(self, config): def __init__(self, config):
assert config.model_type in PARENT_CLASSES assert config.model_type in PARENT_CLASSES
assert self.__class__.__bases__[0] in MODEL_CLASSES # assert self.__class__.__bases__[0] in MODEL_CLASSES
super(TransformerForDST, self).__init__(config) super(TransformerForDST, self).__init__(config)
self.model_type = config.model_type self.model_type = config.model_type
self.slot_list = config.dst_slot_list self.slot_list = config.dst_slot_list
...@@ -82,7 +82,7 @@ def TransformerForDST(parent_name): ...@@ -82,7 +82,7 @@ def TransformerForDST(parent_name):
self.refer_index = -1 self.refer_index = -1
# Make sure this module has the same name as in the pretrained checkpoint you want to load! # Make sure this module has the same name as in the pretrained checkpoint you want to load!
self.add_module(self.model_type, MODEL_CLASSES[self.__class__.__bases__[0]](config)) self.add_module(self.model_type, MODEL_CLASSES[PARENT_CLASSES[self.model_type]](config))
if self.model_type == "electra": if self.model_type == "electra":
self.pooler = ElectraPooler(config) self.pooler = ElectraPooler(config)
......
...@@ -30,10 +30,15 @@ from convlab.dst.trippy.modeling_dst import (TransformerForDST) ...@@ -30,10 +30,15 @@ from convlab.dst.trippy.modeling_dst import (TransformerForDST)
from convlab.dst.trippy.dataset_interfacer import (create_dataset_interfacer) from convlab.dst.trippy.dataset_interfacer import (create_dataset_interfacer)
from convlab.util import relative_import_module_from_unified_datasets from convlab.util import relative_import_module_from_unified_datasets
class BertForDST(TransformerForDST('bert')): pass
class RobertaForDST(TransformerForDST('roberta')): pass
class ElectraForDST(TransformerForDST('electra')): pass
MODEL_CLASSES = { MODEL_CLASSES = {
'bert': (BertConfig, TransformerForDST('bert'), BertTokenizer), 'bert': (BertConfig, BertForDST, BertTokenizer),
'roberta': (RobertaConfig, TransformerForDST('roberta'), RobertaTokenizer), 'roberta': (RobertaConfig, RobertaForDST, RobertaTokenizer),
'electra': (ElectraConfig, TransformerForDST('electra'), ElectraTokenizer), 'electra': (ElectraConfig, ElectraForDST, ElectraTokenizer),
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment