Repository: Yale-LILY/SummerTime (language: python)

Issue:
Niansong1996/pypi
Preparing for the release to PyPI, changes include:
* Moving all major code into `summertime` for correct import
* Fixed all the internal import errors
* cleanup useless files
* changed `setup.py` to make it locally pip-installable


Discussion / hints:

Fix patch:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a571adf6..68aa4746 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -95,14 +95,16 @@ jobs:
         run: |
           . .venv/bin/activate
           pip install numpy
-          pip install cython
-          pip install -r requirements.txt
+          pip install -e .
+          # pip install cython
+          # pip install -r requirements.txt
           # pip install -U git+https://github.com/bheinzerling/pyrouge.git
 
       - name: Setup scripts
         run: |
           . .venv/bin/activate
-          python setup.py develop --user
+          # python setup.py develop --user
+          # pip install -e .
 
       - name: Test models
         run: |
diff --git a/README.md b/README.md
index ce8e2b0a..f177ba53 100644
--- a/README.md
+++ b/README.md
@@ -27,20 +27,19 @@ The library architecture is as follows:
 
 ## Installation and setup
 
-#### Create and activate a new `conda` environment:
+#### [Optional] Create and activate a new `conda` environment:
 ```bash
-!conda create -n summertime python=3.7
-!conda activate summertime
+conda create -n summertime python=3.7
+conda activate summertime
 ```
 
-#### `pip` dependencies for local demo:
+#### Local `pip` installation
 ```bash
-!pip install -r requirements.txt
+pip install -e .
 ```
-##### Setup `ROUGE`
+##### Setup `ROUGE` (when using evaluation)
 ```bash
-!export ROUGE_HOME=/usr/local/lib/python3.7/dist-packages/summ_eval/ROUGE-1.5.5/
-!pip install -U  git+https://github.com/bheinzerling/pyrouge.git
+export ROUGE_HOME=/usr/local/lib/python3.7/dist-packages/summ_eval/ROUGE-1.5.5/
 ```
 
 
@@ -66,7 +65,6 @@ Also, please run our colab notebook for a more hands-on demo and more examples.
  [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/19tPdBgaJ4_QjSiFyoxtpnFGW4OG1gTec?usp=sharing)
 
 
-
 ## Models
 
 ### Supported Models
@@ -229,6 +227,55 @@ corpus = [instance.source for instance in train_set]
 print(corpus)
 ```
 
+### Loading a custom dataset
+You can use load custom data using the `CustomDataset` class that puts the data in the SummerTime dataset Class
+```python
+from dataset import CustomDataset
+
+''' The train_set, test_set and validation_set have the following format: 
+        List[Dict], list of dictionaries that contain a data instance.
+            The dictionary is in the form:
+                {"source": "source_data", "summary": "summary_data", "query":"query_data"}
+                    * source_data is either of type List[str] or str
+                    * summary_data is of type str
+                    * query_data is of type str
+        The list of dictionaries looks as follows:
+            [dictionary_instance_1, dictionary_instance_2, ...]
+'''
+
+# Create sample data
+train_set = [
+    {
+        "source": "source1",
+        "summary": "summary1",
+        "query": "query1",      # only included, if query is present
+    }
+]
+validation_set = [
+    {
+        "source": "source2",
+        "summary": "summary2",
+        "query": "query2",      
+    }
+]
+test_set = [
+    {
+        "source": "source3",
+        "summary": "summary3",
+        "query": "query3",     
+    }
+]
+
+# Depending on the dataset properties, you can specify the type of dataset
+#   i.e multi_doc, query_based, dialogue_based. If not specified, they default to false
+custom_dataset = CustomDataset(
+                    train_set=train_set,
+                    validation_set=validation_set,
+                    test_set=test_set,
+                    query_based=True,
+                    multi_doc=True
+                    dialogue_based=False)
+```
 
 ## Using the datasets with the models - Examples
 ```python
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 00000000..51840846
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,18 @@
+include = '\.pyi?$'
+
+exclude = '''
+(
+      __pycache__
+    | \.git
+    | \.vscode
+    | \.venv
+)
+'''
+
+[build-system]
+requires = [
+    "setuptools",
+    "wheel",
+    "cython"
+]
+build-backend = "setuptools.build_meta"
\ No newline at end of file
diff --git a/setup.cfg b/setup.cfg
index bb37bb59..e9e54876 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -4,7 +4,7 @@
 exclude =
     sandbox.py
     # Third party modules
-    model/third_party
+    summertime/model/third_party
 
 # Additional (non-default) ignores
 extend-ignore =
diff --git a/setup.py b/setup.py
index a99519c3..0c474b90 100644
--- a/setup.py
+++ b/setup.py
@@ -3,21 +3,49 @@
 with open("README.md", "r") as fh:
     long_description = fh.read()
 
-
 setuptools.setup(
-    name="SummerTime",
+    name="summertime",
     version="0.1",
-    author="Ansong Ni, Murori Mutuma, Zhangir Azerbayev, Yusen Zhang, Tao Yu, Dragomir Radev",
+    author="Ansong Ni, Murori Mutuma, Troy Feng, Zhangir Azerbayev, Yusen Zhang, Tao Yu, Dragomir Radev",
     author_email="ansong.ni@yale.edu, dragomir.radev@yale.edu",
-    description="Text summarization for non-experts",
+    description="Text summarization toolkit for non-experts",
     long_description=long_description,
     long_description_content_type="text/markdown",
     url="https://github.com/Yale-LILY/SummerTime",
-    packages=setuptools.find_packages(),
     classifiers=[
         "Programming Language :: Python :: 3",
         "License :: OSI Approved :: Apache Software License",
         "Operating System :: OS Independent",
         "Topic :: Scientific/Engineering :: Artificial Intelligence",
     ],
+    # package_dir={"": ""},
+    packages=setuptools.find_packages(
+        exclude=["*.tests", "*.tests.*", "tests.*", "tests"]
+    ),
+    install_requires=[
+        "cython",
+        "numpy",  # installing summEval requires numpy to be install first, we put numpy first as a workaround
+        "click==7.1.2",  # a workaround for resolving a dependency conflict
+        "transformers~=4.5.1",
+        "torch~=1.8.1",
+        "lexrank~=0.1.0",
+        "nltk~=3.6.2",
+        "spacy==3.0.6",
+        "pytextrank",
+        "datasets~=1.6.2",
+        "sentencepiece~=0.1.95",
+        "summ_eval==0.70",
+        "pyrouge@git+https://github.com/bheinzerling/pyrouge.git@08e9cc35d713f718a05b02bf3bb2e29947d436ce",
+        "en_core_web_sm@https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.0.0/en_core_web_sm-3.0.0-py3-none-any.whl",
+        "jupyter",
+        "gdown",
+        "gensim~=3.8.3",
+        "sklearn",
+        "py7zr~=0.16.1",
+        "tqdm~=4.49.0",
+        "tensorboard~=2.4.1",
+        "black",
+        "flake8",
+        "progressbar",
+    ],
 )
diff --git a/dataset/__init__.py b/summertime/dataset/__init__.py
similarity index 86%
rename from dataset/__init__.py
rename to summertime/dataset/__init__.py
index bbab0876..f1056e65 100644
--- a/dataset/__init__.py
+++ b/summertime/dataset/__init__.py
@@ -1,4 +1,4 @@
-from dataset.dataset_loaders import (
+from summertime.dataset.dataset_loaders import (
     CnndmDataset,
     MultinewsDataset,
     SamsumDataset,
@@ -11,6 +11,7 @@
     ArxivDataset,
 )
 
+from summertime.dataset.st_dataset import CustomDataset
 
 SUPPORTED_SUMM_DATASETS = [
     CnndmDataset,
diff --git a/dataset/dataset_loaders.py b/summertime/dataset/dataset_loaders.py
similarity index 99%
rename from dataset/dataset_loaders.py
rename to summertime/dataset/dataset_loaders.py
index 9f496215..26617ef4 100644
--- a/dataset/dataset_loaders.py
+++ b/summertime/dataset/dataset_loaders.py
@@ -4,7 +4,7 @@
 
 from datasets import Dataset
 
-from dataset.st_dataset import SummInstance, SummDataset
+from summertime.dataset.st_dataset import SummInstance, SummDataset
 
 
 # Set directory to load non_huggingface dataset scripts
diff --git a/dataset/non_huggingface_datasets_builders/arxiv_longsummarization.py b/summertime/dataset/non_huggingface_datasets_builders/arxiv_longsummarization.py
similarity index 100%
rename from dataset/non_huggingface_datasets_builders/arxiv_longsummarization.py
rename to summertime/dataset/non_huggingface_datasets_builders/arxiv_longsummarization.py
diff --git a/dataset/non_huggingface_datasets_builders/qmsum.py b/summertime/dataset/non_huggingface_datasets_builders/qmsum.py
similarity index 100%
rename from dataset/non_huggingface_datasets_builders/qmsum.py
rename to summertime/dataset/non_huggingface_datasets_builders/qmsum.py
diff --git a/dataset/non_huggingface_datasets_builders/scisummnet.py b/summertime/dataset/non_huggingface_datasets_builders/scisummnet.py
similarity index 100%
rename from dataset/non_huggingface_datasets_builders/scisummnet.py
rename to summertime/dataset/non_huggingface_datasets_builders/scisummnet.py
diff --git a/dataset/non_huggingface_datasets_builders/summscreen.py b/summertime/dataset/non_huggingface_datasets_builders/summscreen.py
similarity index 100%
rename from dataset/non_huggingface_datasets_builders/summscreen.py
rename to summertime/dataset/non_huggingface_datasets_builders/summscreen.py
diff --git a/dataset/st_dataset.py b/summertime/dataset/st_dataset.py
similarity index 72%
rename from dataset/st_dataset.py
rename to summertime/dataset/st_dataset.py
index b9c19e85..e20aa0dc 100644
--- a/dataset/st_dataset.py
+++ b/summertime/dataset/st_dataset.py
@@ -3,7 +3,7 @@
 from abc import abstractmethod
 from pprint import pformat
 from time import sleep
-from typing import List, Tuple, Optional, Union, Generator
+from typing import List, Dict, Tuple, Optional, Union, Generator
 
 from datasets import (
     Dataset,
@@ -292,3 +292,108 @@ def show_description(self):
         Print the description of the dataset.
         """
         print(self.dataset_name, ":\n", self.description)
+
+
+class CustomDataset(SummDataset):
+    """
+    This is a dataset class that acts as an API to load custom user dataset
+    The dataset class to contains data that the users source themselves or from a third party
+    Once created, it can be used with any of our models and contains most properties and methods
+        similar to other SummerTime datasets
+    """
+
+    # TODO: Create a caching mechanism for user created datasets
+
+    def __init__(
+        self,
+        train_set: List[Dict] = [],
+        test_set: List[Dict] = [],
+        validation_set: List[Dict] = [],
+        query_based: bool = False,
+        multi_doc: bool = False,
+        dialogue_based: bool = False,
+    ):
+        """Create dataset information from the huggingface Dataset class
+        :rtype: dataset object
+        :param train_set: List[Dict], list of dictionaries that contain a data instance.
+            Contains the training examples and is in the form listed below.
+                The dictionary is in the form:
+                    {"source": "source_data", "summary": "summary_data", "query":"query_data"}
+                        * source_data is either of type List[str] or str
+                        * summary_data is of type str
+                        * query_data is of type str
+                The list of dictionaries looks as follows:
+                    [dictionary_instance_1, dictionary_instance_2, ...]
+        :param validation_set: Optional[List[Dict]], similar format to train_set
+            Contains the validation examples
+        :param test_set: Optional[List[Dict]], similar format to train_set
+            Contains the test examples
+        :param query_based: bool, Is the dataset query-based?
+        :param multi_doc: bool, Does each dataset instance source contain multiple documents
+        :param dialogue_based: Is the dataset dialogue-based?
+        """
+
+        if not (train_set or test_set or validation_set):
+            raise ValueError("Missing data for the dataset")
+
+        self.is_dialogue_based = dialogue_based
+        self.is_multi_document = multi_doc
+        self.is_query_based = query_based
+
+        # Load the data into their respective splits
+        self._train_set = self._process_data(train_set, "Train")
+        self._validation_set = self._process_data(validation_set, "Validation")
+        self._test_set = self._process_data(test_set, "Test")
+
+        self.dataset_name = None
+        self.version = None
+
+        self.dataset_name = "Custom"
+
+    def _process_data(
+        self, data: Dataset, split: str
+    ) -> Generator[SummInstance, None, None]:
+        """
+        This method processes the data contained in the dataset
+            and puts each data instance into a SummInstance object
+        :param dataset: a train/validation/test dataset
+        :rtype: a generator yielding SummInstance objects
+        """
+        data_instances = []
+
+        summaries_present = False
+        for instance in data:
+            if "source" in instance and instance["source"]:
+                if self.is_dialogue_based or self.is_multi_document:
+                    source: List = instance["source"]
+                else:
+                    source: str = instance["source"]
+            else:
+                raise TypeError("Missing source for a dataset instance")
+
+            # TODO: Ensure models can handle datasets with no summaries
+            summary = None
+            if "summary" in instance and instance["summary"]:
+                summaries_present = True
+                summary: str = instance["summary"]
+
+            query = None
+            if self.is_query_based:
+                if "query" in instance and instance["query"]:
+                    query: str = instance["query"]
+                else:
+                    raise TypeError("Missing query for a query-based dataset")
+
+            data_instances.append(
+                SummInstance(source=source, summary=summary, query=query)
+            )
+
+        if not summaries_present:
+            print(
+                "\nATTENTION:",
+                split,
+                "split does not contain summaries.",
+                "Proceed if this is intended.\n",
+            )
+
+        return (data for data in data_instances)
diff --git a/evaluation/__init__.py b/summertime/evaluation/__init__.py
similarity index 100%
rename from evaluation/__init__.py
rename to summertime/evaluation/__init__.py
diff --git a/evaluation/base_metric.py b/summertime/evaluation/base_metric.py
similarity index 100%
rename from evaluation/base_metric.py
rename to summertime/evaluation/base_metric.py
diff --git a/evaluation/bertscore_metric.py b/summertime/evaluation/bertscore_metric.py
similarity index 90%
rename from evaluation/bertscore_metric.py
rename to summertime/evaluation/bertscore_metric.py
index 6ef6deda..e9ff764c 100644
--- a/evaluation/bertscore_metric.py
+++ b/summertime/evaluation/bertscore_metric.py
@@ -1,5 +1,5 @@
 from summ_eval.bert_score_metric import BertScoreMetric
-from evaluation.summeval_metric import SummEvalMetric
+from summertime.evaluation.summeval_metric import SummEvalMetric
 from typing import List, Dict
 
 
diff --git a/evaluation/bleu_metric.py b/summertime/evaluation/bleu_metric.py
similarity index 89%
rename from evaluation/bleu_metric.py
rename to summertime/evaluation/bleu_metric.py
index ea6c0b57..88e08600 100644
--- a/evaluation/bleu_metric.py
+++ b/summertime/evaluation/bleu_metric.py
@@ -1,5 +1,5 @@
 from summ_eval.bleu_metric import BleuMetric
-from evaluation.summeval_metric import SummEvalMetric
+from summertime.evaluation.summeval_metric import SummEvalMetric
 from typing import List, Dict
 
 
diff --git a/evaluation/meteor_metric.py b/summertime/evaluation/meteor_metric.py
similarity index 100%
rename from evaluation/meteor_metric.py
rename to summertime/evaluation/meteor_metric.py
diff --git a/evaluation/rouge_metric.py b/summertime/evaluation/rouge_metric.py
similarity index 90%
rename from evaluation/rouge_metric.py
rename to summertime/evaluation/rouge_metric.py
index 65c52db2..1c6817d9 100644
--- a/evaluation/rouge_metric.py
+++ b/summertime/evaluation/rouge_metric.py
@@ -1,5 +1,5 @@
 from summ_eval.rouge_metric import RougeMetric
-from evaluation.summeval_metric import SummEvalMetric
+from summertime.evaluation.summeval_metric import SummEvalMetric
 from typing import List, Dict
 
 
diff --git a/evaluation/rougewe_metric.py b/summertime/evaluation/rougewe_metric.py
similarity index 90%
rename from evaluation/rougewe_metric.py
rename to summertime/evaluation/rougewe_metric.py
index b27aa0ce..fde38293 100644
--- a/evaluation/rougewe_metric.py
+++ b/summertime/evaluation/rougewe_metric.py
@@ -1,4 +1,4 @@
-from evaluation.summeval_metric import SummEvalMetric
+from summertime.evaluation.summeval_metric import SummEvalMetric
 from typing import List, Dict
 
 import nltk
diff --git a/evaluation/summeval_metric.py b/summertime/evaluation/summeval_metric.py
similarity index 100%
rename from evaluation/summeval_metric.py
rename to summertime/evaluation/summeval_metric.py
diff --git a/model/__init__.py b/summertime/model/__init__.py
similarity index 100%
rename from model/__init__.py
rename to summertime/model/__init__.py
diff --git a/model/base_model.py b/summertime/model/base_model.py
similarity index 84%
rename from model/base_model.py
rename to summertime/model/base_model.py
index ea5a1bcf..4b1f8784 100644
--- a/model/base_model.py
+++ b/summertime/model/base_model.py
@@ -79,3 +79,19 @@ def generate_basic_description(cls) -> str:
             )
 
         return basic_description
+
+
+class SummPipeline(SummModel):
+    """
+    A basic wrapper class for SummModel for handling different aspects of more complicated
+    summarization tasks, such as query-based, dialouge, multi-docs, etc
+    """
+
+    def __init__(
+        self, trained_domain: str, max_input_length: int, max_output_length: int
+    ):
+        super().__init__(
+            trained_domain=trained_domain,
+            max_input_length=max_input_length,
+            max_output_length=max_output_length,
+        )
diff --git a/model/defaults.py b/summertime/model/defaults.py
similarity index 100%
rename from model/defaults.py
rename to summertime/model/defaults.py
diff --git a/model/dialogue/__init__.py b/summertime/model/dialogue/__init__.py
similarity index 100%
rename from model/dialogue/__init__.py
rename to summertime/model/dialogue/__init__.py
diff --git a/model/dialogue/base_dialogue_model.py b/summertime/model/dialogue/base_dialogue_model.py
similarity index 95%
rename from model/dialogue/base_dialogue_model.py
rename to summertime/model/dialogue/base_dialogue_model.py
index b271132c..4362c20f 100644
--- a/model/dialogue/base_dialogue_model.py
+++ b/summertime/model/dialogue/base_dialogue_model.py
@@ -2,7 +2,7 @@
 
 from typing import List, Union
 from itertools import chain
-from model.base_model import SummModel
+from summertime.model.base_model import SummModel
 
 
 class DialogueSummModel(SummModel):
diff --git a/model/dialogue/flatten_dialogue_model.py b/summertime/model/dialogue/flatten_dialogue_model.py
similarity index 90%
rename from model/dialogue/flatten_dialogue_model.py
rename to summertime/model/dialogue/flatten_dialogue_model.py
index f125da15..55f46017 100644
--- a/model/dialogue/flatten_dialogue_model.py
+++ b/summertime/model/dialogue/flatten_dialogue_model.py
@@ -1,8 +1,8 @@
 from typing import List, Union
 
-from model.dialogue.base_dialogue_model import DialogueSummModel
-from model.base_model import SummModel
-from model.single_doc.bart_model import BartModel
+from summertime.model.dialogue.base_dialogue_model import DialogueSummModel
+from summertime.model.base_model import SummModel
+from summertime.model.single_doc.bart_model import BartModel
 
 
 class FlattenDialogueModel(DialogueSummModel):
diff --git a/model/dialogue/hmnet/config/dialogue.conf b/summertime/model/dialogue/hmnet/config/dialogue.conf
similarity index 100%
rename from model/dialogue/hmnet/config/dialogue.conf
rename to summertime/model/dialogue/hmnet/config/dialogue.conf
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_1/conf_copy.tsv b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_1/conf_copy.tsv
new file mode 100644
index 00000000..826ed997
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_1/conf_copy.tsv
@@ -0,0 +1,73 @@
+MODEL	MeetingNet_Transformer
+TASK	HMNet
+CRITERION	MLECriterion
+SEED	1033
+MAX_NUM_EPOCHS	20
+EVAL_PER_UPDATE_NUM	10
+UPDATES_PER_EPOCH	20
+OPTIMIZER	RAdam
+START_LEARNING_RATE	0.001
+LR_SCHEDULER	LnrWrmpInvSqRtDcyScheduler
+WARMUP_STEPS	16000
+WARMUP_INIT_LR	0.0001
+WARMUP_END_LR	0.001
+GRADIENT_ACCUMULATE_STEP	5
+GRAD_CLIPPING	2
+USE_REL_DATA_PATH	True
+TRAIN_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/train_ami.json
+DEV_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/valid_ami.json
+TEST_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/test_ami.json
+ROLE_DICT_FILE	../ExampleRawData/meeting_summarization/role_dict_ext.json
+MINI_BATCH	1
+MAX_PADDING_RATIO	1
+BATCH_READ_AHEAD	10
+DOC_SHUFFLE_BUF_SIZE	10
+SAMPLE_SHUFFLE_BUFFER_SIZE	10
+BATCH_SHUFFLE_BUFFER_SIZE	10
+MAX_TRANSCRIPT_WORD	8300
+MAX_SENT_LEN	12
+MAX_SENT_NUM	60
+DROPOUT	0.1
+VOCAB_DIM	512
+ROLE_SIZE	32
+ROLE_DIM	16
+POS_DIM	16
+ENT_DIM	16
+USE_ROLE	True
+USE_POSENT	True
+USE_BOS_TOKEN	True
+USE_EOS_TOKEN	True
+TRANSFORMER_EMBED_DROPOUT	0.1
+TRANSFORMER_RESIDUAL_DROPOUT	0.1
+TRANSFORMER_ATTENTION_DROPOUT	0.1
+TRANSFORMER_LAYER	6
+TRANSFORMER_HEAD	8
+TRANSFORMER_POS_DISCOUNT	80
+PRE_TOKENIZER	TransfoXLTokenizer
+PRE_TOKENIZER_PATH	../../../third_party/HMNet/ExampleInitModel/transfo-xl-wt103
+PYLEARN_MODEL	../../../third_party/HMNet/ExampleInitModel/AMI-finetuned
+EXTRA_IDS	1000
+BEAM_WIDTH	2
+EVAL_TOKENIZED	True
+EVAL_LOWERCASE	True
+MAX_GEN_LENGTH	100
+MIN_GEN_LENGTH	10
+NO_REPEAT_NGRAM_SIZE	3
+cuda	True
+confFile	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+datadir	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config
+basename	dialogue.conf
+command	evaluate
+conf_file	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+cluster	local
+dist_init_path	./tmp
+fp16	False
+fp16_opt_level	O1
+no_cuda	False
+logFile	log_0.txt
+device	cuda:0
+world_size	1
+local_size	1
+rank	0
+local_rank	0
+run	None
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_10/conf_copy.tsv b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_10/conf_copy.tsv
new file mode 100644
index 00000000..632ff00e
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_10/conf_copy.tsv
@@ -0,0 +1,73 @@
+MODEL	MeetingNet_Transformer
+TASK	HMNet
+CRITERION	MLECriterion
+SEED	1033
+MAX_NUM_EPOCHS	20
+EVAL_PER_UPDATE_NUM	10
+UPDATES_PER_EPOCH	20
+OPTIMIZER	RAdam
+START_LEARNING_RATE	0.001
+LR_SCHEDULER	LnrWrmpInvSqRtDcyScheduler
+WARMUP_STEPS	16000
+WARMUP_INIT_LR	0.0001
+WARMUP_END_LR	0.001
+GRADIENT_ACCUMULATE_STEP	5
+GRAD_CLIPPING	2
+USE_REL_DATA_PATH	True
+TRAIN_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/train_ami.json
+DEV_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/valid_ami.json
+TEST_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/test_ami.json
+ROLE_DICT_FILE	../ExampleRawData/meeting_summarization/role_dict_ext.json
+MINI_BATCH	1
+MAX_PADDING_RATIO	1
+BATCH_READ_AHEAD	10
+DOC_SHUFFLE_BUF_SIZE	10
+SAMPLE_SHUFFLE_BUFFER_SIZE	10
+BATCH_SHUFFLE_BUFFER_SIZE	10
+MAX_TRANSCRIPT_WORD	8300
+MAX_SENT_LEN	12
+MAX_SENT_NUM	60
+DROPOUT	0.1
+VOCAB_DIM	512
+ROLE_SIZE	32
+ROLE_DIM	16
+POS_DIM	16
+ENT_DIM	16
+USE_ROLE	True
+USE_POSENT	True
+USE_BOS_TOKEN	True
+USE_EOS_TOKEN	True
+TRANSFORMER_EMBED_DROPOUT	0.1
+TRANSFORMER_RESIDUAL_DROPOUT	0.1
+TRANSFORMER_ATTENTION_DROPOUT	0.1
+TRANSFORMER_LAYER	6
+TRANSFORMER_HEAD	8
+TRANSFORMER_POS_DISCOUNT	80
+PRE_TOKENIZER	TransfoXLTokenizer
+PRE_TOKENIZER_PATH	../../../third_party/HMNet/ExampleInitModel/transfo-xl-wt103
+PYLEARN_MODEL	/home/lily/an639/.cache/huggingface/hmnet
+EXTRA_IDS	1000
+BEAM_WIDTH	2
+EVAL_TOKENIZED	True
+EVAL_LOWERCASE	True
+MAX_GEN_LENGTH	30
+MIN_GEN_LENGTH	10
+NO_REPEAT_NGRAM_SIZE	3
+cuda	True
+confFile	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+datadir	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config
+basename	dialogue.conf
+command	evaluate
+conf_file	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+cluster	local
+dist_init_path	./tmp
+fp16	False
+fp16_opt_level	O1
+no_cuda	False
+logFile	log_0.txt
+device	cuda:0
+world_size	1
+local_size	1
+rank	0
+local_rank	0
+run	None
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_10/log_0.txt b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_10/log_0.txt
new file mode 100644
index 00000000..cc5a38c2
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_10/log_0.txt
@@ -0,0 +1,4 @@
+-----------------------------------------------
+Evaluating model ... 
+Total trainable parameters: 204488240
+Loaded data on rank 0.
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_2/conf_copy.tsv b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_2/conf_copy.tsv
new file mode 100644
index 00000000..826ed997
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_2/conf_copy.tsv
@@ -0,0 +1,73 @@
+MODEL	MeetingNet_Transformer
+TASK	HMNet
+CRITERION	MLECriterion
+SEED	1033
+MAX_NUM_EPOCHS	20
+EVAL_PER_UPDATE_NUM	10
+UPDATES_PER_EPOCH	20
+OPTIMIZER	RAdam
+START_LEARNING_RATE	0.001
+LR_SCHEDULER	LnrWrmpInvSqRtDcyScheduler
+WARMUP_STEPS	16000
+WARMUP_INIT_LR	0.0001
+WARMUP_END_LR	0.001
+GRADIENT_ACCUMULATE_STEP	5
+GRAD_CLIPPING	2
+USE_REL_DATA_PATH	True
+TRAIN_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/train_ami.json
+DEV_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/valid_ami.json
+TEST_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/test_ami.json
+ROLE_DICT_FILE	../ExampleRawData/meeting_summarization/role_dict_ext.json
+MINI_BATCH	1
+MAX_PADDING_RATIO	1
+BATCH_READ_AHEAD	10
+DOC_SHUFFLE_BUF_SIZE	10
+SAMPLE_SHUFFLE_BUFFER_SIZE	10
+BATCH_SHUFFLE_BUFFER_SIZE	10
+MAX_TRANSCRIPT_WORD	8300
+MAX_SENT_LEN	12
+MAX_SENT_NUM	60
+DROPOUT	0.1
+VOCAB_DIM	512
+ROLE_SIZE	32
+ROLE_DIM	16
+POS_DIM	16
+ENT_DIM	16
+USE_ROLE	True
+USE_POSENT	True
+USE_BOS_TOKEN	True
+USE_EOS_TOKEN	True
+TRANSFORMER_EMBED_DROPOUT	0.1
+TRANSFORMER_RESIDUAL_DROPOUT	0.1
+TRANSFORMER_ATTENTION_DROPOUT	0.1
+TRANSFORMER_LAYER	6
+TRANSFORMER_HEAD	8
+TRANSFORMER_POS_DISCOUNT	80
+PRE_TOKENIZER	TransfoXLTokenizer
+PRE_TOKENIZER_PATH	../../../third_party/HMNet/ExampleInitModel/transfo-xl-wt103
+PYLEARN_MODEL	../../../third_party/HMNet/ExampleInitModel/AMI-finetuned
+EXTRA_IDS	1000
+BEAM_WIDTH	2
+EVAL_TOKENIZED	True
+EVAL_LOWERCASE	True
+MAX_GEN_LENGTH	100
+MIN_GEN_LENGTH	10
+NO_REPEAT_NGRAM_SIZE	3
+cuda	True
+confFile	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+datadir	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config
+basename	dialogue.conf
+command	evaluate
+conf_file	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+cluster	local
+dist_init_path	./tmp
+fp16	False
+fp16_opt_level	O1
+no_cuda	False
+logFile	log_0.txt
+device	cuda:0
+world_size	1
+local_size	1
+rank	0
+local_rank	0
+run	None
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_2/log_0.txt b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_2/log_0.txt
new file mode 100644
index 00000000..3ec1599d
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_2/log_0.txt
@@ -0,0 +1,3 @@
+-----------------------------------------------
+Evaluating model ... 
+ERROR: Model MeetingNet_Transformer is unknown
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_3/conf_copy.tsv b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_3/conf_copy.tsv
new file mode 100644
index 00000000..826ed997
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_3/conf_copy.tsv
@@ -0,0 +1,73 @@
+MODEL	MeetingNet_Transformer
+TASK	HMNet
+CRITERION	MLECriterion
+SEED	1033
+MAX_NUM_EPOCHS	20
+EVAL_PER_UPDATE_NUM	10
+UPDATES_PER_EPOCH	20
+OPTIMIZER	RAdam
+START_LEARNING_RATE	0.001
+LR_SCHEDULER	LnrWrmpInvSqRtDcyScheduler
+WARMUP_STEPS	16000
+WARMUP_INIT_LR	0.0001
+WARMUP_END_LR	0.001
+GRADIENT_ACCUMULATE_STEP	5
+GRAD_CLIPPING	2
+USE_REL_DATA_PATH	True
+TRAIN_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/train_ami.json
+DEV_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/valid_ami.json
+TEST_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/test_ami.json
+ROLE_DICT_FILE	../ExampleRawData/meeting_summarization/role_dict_ext.json
+MINI_BATCH	1
+MAX_PADDING_RATIO	1
+BATCH_READ_AHEAD	10
+DOC_SHUFFLE_BUF_SIZE	10
+SAMPLE_SHUFFLE_BUFFER_SIZE	10
+BATCH_SHUFFLE_BUFFER_SIZE	10
+MAX_TRANSCRIPT_WORD	8300
+MAX_SENT_LEN	12
+MAX_SENT_NUM	60
+DROPOUT	0.1
+VOCAB_DIM	512
+ROLE_SIZE	32
+ROLE_DIM	16
+POS_DIM	16
+ENT_DIM	16
+USE_ROLE	True
+USE_POSENT	True
+USE_BOS_TOKEN	True
+USE_EOS_TOKEN	True
+TRANSFORMER_EMBED_DROPOUT	0.1
+TRANSFORMER_RESIDUAL_DROPOUT	0.1
+TRANSFORMER_ATTENTION_DROPOUT	0.1
+TRANSFORMER_LAYER	6
+TRANSFORMER_HEAD	8
+TRANSFORMER_POS_DISCOUNT	80
+PRE_TOKENIZER	TransfoXLTokenizer
+PRE_TOKENIZER_PATH	../../../third_party/HMNet/ExampleInitModel/transfo-xl-wt103
+PYLEARN_MODEL	../../../third_party/HMNet/ExampleInitModel/AMI-finetuned
+EXTRA_IDS	1000
+BEAM_WIDTH	2
+EVAL_TOKENIZED	True
+EVAL_LOWERCASE	True
+MAX_GEN_LENGTH	100
+MIN_GEN_LENGTH	10
+NO_REPEAT_NGRAM_SIZE	3
+cuda	True
+confFile	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+datadir	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config
+basename	dialogue.conf
+command	evaluate
+conf_file	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+cluster	local
+dist_init_path	./tmp
+fp16	False
+fp16_opt_level	O1
+no_cuda	False
+logFile	log_0.txt
+device	cuda:0
+world_size	1
+local_size	1
+rank	0
+local_rank	0
+run	None
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_3/log_0.txt b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_3/log_0.txt
new file mode 100644
index 00000000..3ec1599d
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_3/log_0.txt
@@ -0,0 +1,3 @@
+-----------------------------------------------
+Evaluating model ... 
+ERROR: Model MeetingNet_Transformer is unknown
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_4/conf_copy.tsv b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_4/conf_copy.tsv
new file mode 100644
index 00000000..826ed997
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_4/conf_copy.tsv
@@ -0,0 +1,73 @@
+MODEL	MeetingNet_Transformer
+TASK	HMNet
+CRITERION	MLECriterion
+SEED	1033
+MAX_NUM_EPOCHS	20
+EVAL_PER_UPDATE_NUM	10
+UPDATES_PER_EPOCH	20
+OPTIMIZER	RAdam
+START_LEARNING_RATE	0.001
+LR_SCHEDULER	LnrWrmpInvSqRtDcyScheduler
+WARMUP_STEPS	16000
+WARMUP_INIT_LR	0.0001
+WARMUP_END_LR	0.001
+GRADIENT_ACCUMULATE_STEP	5
+GRAD_CLIPPING	2
+USE_REL_DATA_PATH	True
+TRAIN_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/train_ami.json
+DEV_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/valid_ami.json
+TEST_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/test_ami.json
+ROLE_DICT_FILE	../ExampleRawData/meeting_summarization/role_dict_ext.json
+MINI_BATCH	1
+MAX_PADDING_RATIO	1
+BATCH_READ_AHEAD	10
+DOC_SHUFFLE_BUF_SIZE	10
+SAMPLE_SHUFFLE_BUFFER_SIZE	10
+BATCH_SHUFFLE_BUFFER_SIZE	10
+MAX_TRANSCRIPT_WORD	8300
+MAX_SENT_LEN	12
+MAX_SENT_NUM	60
+DROPOUT	0.1
+VOCAB_DIM	512
+ROLE_SIZE	32
+ROLE_DIM	16
+POS_DIM	16
+ENT_DIM	16
+USE_ROLE	True
+USE_POSENT	True
+USE_BOS_TOKEN	True
+USE_EOS_TOKEN	True
+TRANSFORMER_EMBED_DROPOUT	0.1
+TRANSFORMER_RESIDUAL_DROPOUT	0.1
+TRANSFORMER_ATTENTION_DROPOUT	0.1
+TRANSFORMER_LAYER	6
+TRANSFORMER_HEAD	8
+TRANSFORMER_POS_DISCOUNT	80
+PRE_TOKENIZER	TransfoXLTokenizer
+PRE_TOKENIZER_PATH	../../../third_party/HMNet/ExampleInitModel/transfo-xl-wt103
+PYLEARN_MODEL	../../../third_party/HMNet/ExampleInitModel/AMI-finetuned
+EXTRA_IDS	1000
+BEAM_WIDTH	2
+EVAL_TOKENIZED	True
+EVAL_LOWERCASE	True
+MAX_GEN_LENGTH	100
+MIN_GEN_LENGTH	10
+NO_REPEAT_NGRAM_SIZE	3
+cuda	True
+confFile	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+datadir	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config
+basename	dialogue.conf
+command	evaluate
+conf_file	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+cluster	local
+dist_init_path	./tmp
+fp16	False
+fp16_opt_level	O1
+no_cuda	False
+logFile	log_0.txt
+device	cuda:0
+world_size	1
+local_size	1
+rank	0
+local_rank	0
+run	None
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_5/conf_copy.tsv b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_5/conf_copy.tsv
new file mode 100644
index 00000000..f164154b
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_5/conf_copy.tsv
@@ -0,0 +1,73 @@
+MODEL	MeetingNet_Transformer
+TASK	HMNet
+CRITERION	MLECriterion
+SEED	1033
+MAX_NUM_EPOCHS	20
+EVAL_PER_UPDATE_NUM	10
+UPDATES_PER_EPOCH	20
+OPTIMIZER	RAdam
+START_LEARNING_RATE	0.001
+LR_SCHEDULER	LnrWrmpInvSqRtDcyScheduler
+WARMUP_STEPS	16000
+WARMUP_INIT_LR	0.0001
+WARMUP_END_LR	0.001
+GRADIENT_ACCUMULATE_STEP	5
+GRAD_CLIPPING	2
+USE_REL_DATA_PATH	True
+TRAIN_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/train_ami.json
+DEV_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/valid_ami.json
+TEST_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/test_ami.json
+ROLE_DICT_FILE	../ExampleRawData/meeting_summarization/role_dict_ext.json
+MINI_BATCH	1
+MAX_PADDING_RATIO	1
+BATCH_READ_AHEAD	10
+DOC_SHUFFLE_BUF_SIZE	10
+SAMPLE_SHUFFLE_BUFFER_SIZE	10
+BATCH_SHUFFLE_BUFFER_SIZE	10
+MAX_TRANSCRIPT_WORD	8300
+MAX_SENT_LEN	12
+MAX_SENT_NUM	60
+DROPOUT	0.1
+VOCAB_DIM	512
+ROLE_SIZE	32
+ROLE_DIM	16
+POS_DIM	16
+ENT_DIM	16
+USE_ROLE	True
+USE_POSENT	True
+USE_BOS_TOKEN	True
+USE_EOS_TOKEN	True
+TRANSFORMER_EMBED_DROPOUT	0.1
+TRANSFORMER_RESIDUAL_DROPOUT	0.1
+TRANSFORMER_ATTENTION_DROPOUT	0.1
+TRANSFORMER_LAYER	6
+TRANSFORMER_HEAD	8
+TRANSFORMER_POS_DISCOUNT	80
+PRE_TOKENIZER	TransfoXLTokenizer
+PRE_TOKENIZER_PATH	../../../third_party/HMNet/ExampleInitModel/transfo-xl-wt103
+PYLEARN_MODEL	/home/lily/an639/.cache/huggingface/summertime/hmnet/model.pt
+EXTRA_IDS	1000
+BEAM_WIDTH	2
+EVAL_TOKENIZED	True
+EVAL_LOWERCASE	True
+MAX_GEN_LENGTH	100
+MIN_GEN_LENGTH	10
+NO_REPEAT_NGRAM_SIZE	3
+cuda	True
+confFile	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+datadir	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config
+basename	dialogue.conf
+command	evaluate
+conf_file	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+cluster	local
+dist_init_path	./tmp
+fp16	False
+fp16_opt_level	O1
+no_cuda	False
+logFile	log_0.txt
+device	cuda:0
+world_size	1
+local_size	1
+rank	0
+local_rank	0
+run	None
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_5/log_0.txt b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_5/log_0.txt
new file mode 100644
index 00000000..3ec1599d
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_5/log_0.txt
@@ -0,0 +1,3 @@
+-----------------------------------------------
+Evaluating model ... 
+ERROR: Model MeetingNet_Transformer is unknown
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_6/conf_copy.tsv b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_6/conf_copy.tsv
new file mode 100644
index 00000000..eb655362
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_6/conf_copy.tsv
@@ -0,0 +1,73 @@
+MODEL	MeetingNet_Transformer
+TASK	HMNet
+CRITERION	MLECriterion
+SEED	1033
+MAX_NUM_EPOCHS	20
+EVAL_PER_UPDATE_NUM	10
+UPDATES_PER_EPOCH	20
+OPTIMIZER	RAdam
+START_LEARNING_RATE	0.001
+LR_SCHEDULER	LnrWrmpInvSqRtDcyScheduler
+WARMUP_STEPS	16000
+WARMUP_INIT_LR	0.0001
+WARMUP_END_LR	0.001
+GRADIENT_ACCUMULATE_STEP	5
+GRAD_CLIPPING	2
+USE_REL_DATA_PATH	True
+TRAIN_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/train_ami.json
+DEV_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/valid_ami.json
+TEST_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/test_ami.json
+ROLE_DICT_FILE	../ExampleRawData/meeting_summarization/role_dict_ext.json
+MINI_BATCH	1
+MAX_PADDING_RATIO	1
+BATCH_READ_AHEAD	10
+DOC_SHUFFLE_BUF_SIZE	10
+SAMPLE_SHUFFLE_BUFFER_SIZE	10
+BATCH_SHUFFLE_BUFFER_SIZE	10
+MAX_TRANSCRIPT_WORD	8300
+MAX_SENT_LEN	12
+MAX_SENT_NUM	60
+DROPOUT	0.1
+VOCAB_DIM	512
+ROLE_SIZE	32
+ROLE_DIM	16
+POS_DIM	16
+ENT_DIM	16
+USE_ROLE	True
+USE_POSENT	True
+USE_BOS_TOKEN	True
+USE_EOS_TOKEN	True
+TRANSFORMER_EMBED_DROPOUT	0.1
+TRANSFORMER_RESIDUAL_DROPOUT	0.1
+TRANSFORMER_ATTENTION_DROPOUT	0.1
+TRANSFORMER_LAYER	6
+TRANSFORMER_HEAD	8
+TRANSFORMER_POS_DISCOUNT	80
+PRE_TOKENIZER	TransfoXLTokenizer
+PRE_TOKENIZER_PATH	../../../third_party/HMNet/ExampleInitModel/transfo-xl-wt103
+PYLEARN_MODEL	/home/lily/an639/.cache/huggingface/summertime/hmnet
+EXTRA_IDS	1000
+BEAM_WIDTH	2
+EVAL_TOKENIZED	True
+EVAL_LOWERCASE	True
+MAX_GEN_LENGTH	100
+MIN_GEN_LENGTH	10
+NO_REPEAT_NGRAM_SIZE	3
+cuda	True
+confFile	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+datadir	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config
+basename	dialogue.conf
+command	evaluate
+conf_file	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+cluster	local
+dist_init_path	./tmp
+fp16	False
+fp16_opt_level	O1
+no_cuda	False
+logFile	log_0.txt
+device	cuda:0
+world_size	1
+local_size	1
+rank	0
+local_rank	0
+run	None
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_6/log_0.txt b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_6/log_0.txt
new file mode 100644
index 00000000..cc5a38c2
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_6/log_0.txt
@@ -0,0 +1,4 @@
+-----------------------------------------------
+Evaluating model ... 
+Total trainable parameters: 204488240
+Loaded data on rank 0.
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_7/conf_copy.tsv b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_7/conf_copy.tsv
new file mode 100644
index 00000000..eb655362
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_7/conf_copy.tsv
@@ -0,0 +1,73 @@
+MODEL	MeetingNet_Transformer
+TASK	HMNet
+CRITERION	MLECriterion
+SEED	1033
+MAX_NUM_EPOCHS	20
+EVAL_PER_UPDATE_NUM	10
+UPDATES_PER_EPOCH	20
+OPTIMIZER	RAdam
+START_LEARNING_RATE	0.001
+LR_SCHEDULER	LnrWrmpInvSqRtDcyScheduler
+WARMUP_STEPS	16000
+WARMUP_INIT_LR	0.0001
+WARMUP_END_LR	0.001
+GRADIENT_ACCUMULATE_STEP	5
+GRAD_CLIPPING	2
+USE_REL_DATA_PATH	True
+TRAIN_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/train_ami.json
+DEV_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/valid_ami.json
+TEST_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/test_ami.json
+ROLE_DICT_FILE	../ExampleRawData/meeting_summarization/role_dict_ext.json
+MINI_BATCH	1
+MAX_PADDING_RATIO	1
+BATCH_READ_AHEAD	10
+DOC_SHUFFLE_BUF_SIZE	10
+SAMPLE_SHUFFLE_BUFFER_SIZE	10
+BATCH_SHUFFLE_BUFFER_SIZE	10
+MAX_TRANSCRIPT_WORD	8300
+MAX_SENT_LEN	12
+MAX_SENT_NUM	60
+DROPOUT	0.1
+VOCAB_DIM	512
+ROLE_SIZE	32
+ROLE_DIM	16
+POS_DIM	16
+ENT_DIM	16
+USE_ROLE	True
+USE_POSENT	True
+USE_BOS_TOKEN	True
+USE_EOS_TOKEN	True
+TRANSFORMER_EMBED_DROPOUT	0.1
+TRANSFORMER_RESIDUAL_DROPOUT	0.1
+TRANSFORMER_ATTENTION_DROPOUT	0.1
+TRANSFORMER_LAYER	6
+TRANSFORMER_HEAD	8
+TRANSFORMER_POS_DISCOUNT	80
+PRE_TOKENIZER	TransfoXLTokenizer
+PRE_TOKENIZER_PATH	../../../third_party/HMNet/ExampleInitModel/transfo-xl-wt103
+PYLEARN_MODEL	/home/lily/an639/.cache/huggingface/summertime/hmnet
+EXTRA_IDS	1000
+BEAM_WIDTH	2
+EVAL_TOKENIZED	True
+EVAL_LOWERCASE	True
+MAX_GEN_LENGTH	100
+MIN_GEN_LENGTH	10
+NO_REPEAT_NGRAM_SIZE	3
+cuda	True
+confFile	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+datadir	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config
+basename	dialogue.conf
+command	evaluate
+conf_file	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+cluster	local
+dist_init_path	./tmp
+fp16	False
+fp16_opt_level	O1
+no_cuda	False
+logFile	log_0.txt
+device	cuda:0
+world_size	1
+local_size	1
+rank	0
+local_rank	0
+run	None
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_7/log_0.txt b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_7/log_0.txt
new file mode 100644
index 00000000..cc5a38c2
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_7/log_0.txt
@@ -0,0 +1,4 @@
+-----------------------------------------------
+Evaluating model ... 
+Total trainable parameters: 204488240
+Loaded data on rank 0.
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_8/conf_copy.tsv b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_8/conf_copy.tsv
new file mode 100644
index 00000000..0153bfed
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_8/conf_copy.tsv
@@ -0,0 +1,73 @@
+MODEL	MeetingNet_Transformer
+TASK	HMNet
+CRITERION	MLECriterion
+SEED	1033
+MAX_NUM_EPOCHS	20
+EVAL_PER_UPDATE_NUM	10
+UPDATES_PER_EPOCH	20
+OPTIMIZER	RAdam
+START_LEARNING_RATE	0.001
+LR_SCHEDULER	LnrWrmpInvSqRtDcyScheduler
+WARMUP_STEPS	16000
+WARMUP_INIT_LR	0.0001
+WARMUP_END_LR	0.001
+GRADIENT_ACCUMULATE_STEP	5
+GRAD_CLIPPING	2
+USE_REL_DATA_PATH	True
+TRAIN_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/train_ami.json
+DEV_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/valid_ami.json
+TEST_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/test_ami.json
+ROLE_DICT_FILE	../ExampleRawData/meeting_summarization/role_dict_ext.json
+MINI_BATCH	1
+MAX_PADDING_RATIO	1
+BATCH_READ_AHEAD	10
+DOC_SHUFFLE_BUF_SIZE	10
+SAMPLE_SHUFFLE_BUFFER_SIZE	10
+BATCH_SHUFFLE_BUFFER_SIZE	10
+MAX_TRANSCRIPT_WORD	8300
+MAX_SENT_LEN	12
+MAX_SENT_NUM	60
+DROPOUT	0.1
+VOCAB_DIM	512
+ROLE_SIZE	32
+ROLE_DIM	16
+POS_DIM	16
+ENT_DIM	16
+USE_ROLE	True
+USE_POSENT	True
+USE_BOS_TOKEN	True
+USE_EOS_TOKEN	True
+TRANSFORMER_EMBED_DROPOUT	0.1
+TRANSFORMER_RESIDUAL_DROPOUT	0.1
+TRANSFORMER_ATTENTION_DROPOUT	0.1
+TRANSFORMER_LAYER	6
+TRANSFORMER_HEAD	8
+TRANSFORMER_POS_DISCOUNT	80
+PRE_TOKENIZER	TransfoXLTokenizer
+PRE_TOKENIZER_PATH	../../../third_party/HMNet/ExampleInitModel/transfo-xl-wt103
+PYLEARN_MODEL	/home/lily/an639/.cache/huggingface/hmnet
+EXTRA_IDS	1000
+BEAM_WIDTH	2
+EVAL_TOKENIZED	True
+EVAL_LOWERCASE	True
+MAX_GEN_LENGTH	100
+MIN_GEN_LENGTH	10
+NO_REPEAT_NGRAM_SIZE	3
+cuda	True
+confFile	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+datadir	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config
+basename	dialogue.conf
+command	evaluate
+conf_file	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+cluster	local
+dist_init_path	./tmp
+fp16	False
+fp16_opt_level	O1
+no_cuda	False
+logFile	log_0.txt
+device	cuda:0
+world_size	1
+local_size	1
+rank	0
+local_rank	0
+run	None
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_8/log_0.txt b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_8/log_0.txt
new file mode 100644
index 00000000..cc5a38c2
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_8/log_0.txt
@@ -0,0 +1,4 @@
+-----------------------------------------------
+Evaluating model ... 
+Total trainable parameters: 204488240
+Loaded data on rank 0.
diff --git a/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_9/conf_copy.tsv b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_9/conf_copy.tsv
new file mode 100644
index 00000000..632ff00e
--- /dev/null
+++ b/summertime/model/dialogue/hmnet/config/dialogue.conf_conf~/run_9/conf_copy.tsv
@@ -0,0 +1,73 @@
+MODEL	MeetingNet_Transformer
+TASK	HMNet
+CRITERION	MLECriterion
+SEED	1033
+MAX_NUM_EPOCHS	20
+EVAL_PER_UPDATE_NUM	10
+UPDATES_PER_EPOCH	20
+OPTIMIZER	RAdam
+START_LEARNING_RATE	0.001
+LR_SCHEDULER	LnrWrmpInvSqRtDcyScheduler
+WARMUP_STEPS	16000
+WARMUP_INIT_LR	0.0001
+WARMUP_END_LR	0.001
+GRADIENT_ACCUMULATE_STEP	5
+GRAD_CLIPPING	2
+USE_REL_DATA_PATH	True
+TRAIN_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/train_ami.json
+DEV_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/valid_ami.json
+TEST_FILE	../ExampleRawData/meeting_summarization/AMI_proprec/test_ami.json
+ROLE_DICT_FILE	../ExampleRawData/meeting_summarization/role_dict_ext.json
+MINI_BATCH	1
+MAX_PADDING_RATIO	1
+BATCH_READ_AHEAD	10
+DOC_SHUFFLE_BUF_SIZE	10
+SAMPLE_SHUFFLE_BUFFER_SIZE	10
+BATCH_SHUFFLE_BUFFER_SIZE	10
+MAX_TRANSCRIPT_WORD	8300
+MAX_SENT_LEN	12
+MAX_SENT_NUM	60
+DROPOUT	0.1
+VOCAB_DIM	512
+ROLE_SIZE	32
+ROLE_DIM	16
+POS_DIM	16
+ENT_DIM	16
+USE_ROLE	True
+USE_POSENT	True
+USE_BOS_TOKEN	True
+USE_EOS_TOKEN	True
+TRANSFORMER_EMBED_DROPOUT	0.1
+TRANSFORMER_RESIDUAL_DROPOUT	0.1
+TRANSFORMER_ATTENTION_DROPOUT	0.1
+TRANSFORMER_LAYER	6
+TRANSFORMER_HEAD	8
+TRANSFORMER_POS_DISCOUNT	80
+PRE_TOKENIZER	TransfoXLTokenizer
+PRE_TOKENIZER_PATH	../../../third_party/HMNet/ExampleInitModel/transfo-xl-wt103
+PYLEARN_MODEL	/home/lily/an639/.cache/huggingface/hmnet
+EXTRA_IDS	1000
+BEAM_WIDTH	2
+EVAL_TOKENIZED	True
+EVAL_LOWERCASE	True
+MAX_GEN_LENGTH	30
+MIN_GEN_LENGTH	10
+NO_REPEAT_NGRAM_SIZE	3
+cuda	True
+confFile	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+datadir	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config
+basename	dialogue.conf
+command	evaluate
+conf_file	/data/lily/an639/Code/SummerTime/model/dialogue/hmnet/config/dialogue.conf
+cluster	local
+dist_init_path	./tmp
+fp16	False
+fp16_opt_level	O1
+no_cuda	False
+logFile	log_0.txt
+device	cuda:0
+world_size	1
+local_size	1
+rank	0
+local_rank	0
+run	None
diff --git a/model/dialogue/hmnet_model.py b/summertime/model/dialogue/hmnet_model.py
similarity index 97%
rename from model/dialogue/hmnet_model.py
rename to summertime/model/dialogue/hmnet_model.py
index 1a153962..8a2fe0cb 100644
--- a/model/dialogue/hmnet_model.py
+++ b/summertime/model/dialogue/hmnet_model.py
@@ -3,11 +3,12 @@
 import torch
 import gzip
 import json
+from pathlib import Path
 
-from model.dialogue.base_dialogue_model import DialogueSummModel
-from model.third_party.HMNet.Models.Trainers.HMNetTrainer import HMNetTrainer
-from model.third_party.HMNet.Utils.Arguments import Arguments
-from util.download_utils import get_cached_file_path
+from summertime.model.dialogue.base_dialogue_model import DialogueSummModel
+from summertime.model.third_party.HMNet.Models.Trainers.HMNetTrainer import HMNetTrainer
+from summertime.model.third_party.HMNet.Utils.Arguments import Arguments
+from summertime.util.download_utils import get_cached_file_path
 
 from typing import List
 
@@ -200,7 +201,7 @@ def __init__(
         Return an instance of HMNet model for dialogue summarization.
         """
         super(HMNetModel, self).__init__()
-        self.root_path = self._get_root()
+        self.root_path = Path(__file__).resolve().parent
 
         # we leave the most influential params with prompt and the others as hidden kwargs
         kwargs["MIN_GEN_LENGTH"] = min_gen_length
diff --git a/model/multi_doc/__init__.py b/summertime/model/multi_doc/__init__.py
similarity index 100%
rename from model/multi_doc/__init__.py
rename to summertime/model/multi_doc/__init__.py
diff --git a/model/multi_doc/base_multi_doc_model.py b/summertime/model/multi_doc/base_multi_doc_model.py
similarity index 96%
rename from model/multi_doc/base_multi_doc_model.py
rename to summertime/model/multi_doc/base_multi_doc_model.py
index 4fd30435..a810e205 100644
--- a/model/multi_doc/base_multi_doc_model.py
+++ b/summertime/model/multi_doc/base_multi_doc_model.py
@@ -1,4 +1,4 @@
-from model.base_model import SummModel
+from summertime.model.base_model import SummModel
 
 
 class MultiDocSummModel(SummModel):
diff --git a/model/multi_doc/multi_doc_joint_model.py b/summertime/model/multi_doc/multi_doc_joint_model.py
similarity index 95%
rename from model/multi_doc/multi_doc_joint_model.py
rename to summertime/model/multi_doc/multi_doc_joint_model.py
index e1692e15..a4df15ac 100644
--- a/model/multi_doc/multi_doc_joint_model.py
+++ b/summertime/model/multi_doc/multi_doc_joint_model.py
@@ -1,6 +1,6 @@
 from .base_multi_doc_model import MultiDocSummModel
-from model.base_model import SummModel
-from model.single_doc import TextRankModel
+from summertime.model.base_model import SummModel
+from summertime.model.single_doc import TextRankModel
 from typing import Union, List
 
 
diff --git a/model/multi_doc/multi_doc_separate_model.py b/summertime/model/multi_doc/multi_doc_separate_model.py
similarity index 95%
rename from model/multi_doc/multi_doc_separate_model.py
rename to summertime/model/multi_doc/multi_doc_separate_model.py
index f8b1f527..0d24dd11 100644
--- a/model/multi_doc/multi_doc_separate_model.py
+++ b/summertime/model/multi_doc/multi_doc_separate_model.py
@@ -1,6 +1,6 @@
 from .base_multi_doc_model import MultiDocSummModel
-from model.base_model import SummModel
-from model.single_doc import TextRankModel
+from summertime.model.base_model import SummModel
+from summertime.model.single_doc import TextRankModel
 from typing import Union, List
 
 
diff --git a/model/query_based/__init__.py b/summertime/model/query_based/__init__.py
similarity index 100%
rename from model/query_based/__init__.py
rename to summertime/model/query_based/__init__.py
diff --git a/model/query_based/base_query_based_model.py b/summertime/model/query_based/base_query_based_model.py
similarity index 98%
rename from model/query_based/base_query_based_model.py
rename to summertime/model/query_based/base_query_based_model.py
index 9b94b5a3..5a73ab12 100644
--- a/model/query_based/base_query_based_model.py
+++ b/summertime/model/query_based/base_query_based_model.py
@@ -1,5 +1,5 @@
-from model.base_model import SummModel
-from model.single_doc import TextRankModel
+from summertime.model.base_model import SummModel
+from summertime.model.single_doc import TextRankModel
 from typing import List, Union
 
 from nltk import sent_tokenize, word_tokenize
diff --git a/model/query_based/bm25_model.py b/summertime/model/query_based/bm25_model.py
similarity index 93%
rename from model/query_based/bm25_model.py
rename to summertime/model/query_based/bm25_model.py
index d5fc06bb..810b4822 100644
--- a/model/query_based/bm25_model.py
+++ b/summertime/model/query_based/bm25_model.py
@@ -1,6 +1,6 @@
 from .base_query_based_model import QueryBasedSummModel
-from model.base_model import SummModel
-from model.single_doc import TextRankModel
+from summertime.model.base_model import SummModel
+from summertime.model.single_doc import TextRankModel
 from typing import List
 
 from gensim.summarization.bm25 import BM25
diff --git a/model/query_based/tf_idf_model.py b/summertime/model/query_based/tf_idf_model.py
similarity index 93%
rename from model/query_based/tf_idf_model.py
rename to summertime/model/query_based/tf_idf_model.py
index cecd798f..2346d8fe 100644
--- a/model/query_based/tf_idf_model.py
+++ b/summertime/model/query_based/tf_idf_model.py
@@ -1,6 +1,6 @@
 from .base_query_based_model import QueryBasedSummModel
-from model.base_model import SummModel
-from model.single_doc import TextRankModel
+from summertime.model.base_model import SummModel
+from summertime.model.single_doc import TextRankModel
 from typing import List
 
 from sklearn.feature_extraction.text import TfidfVectorizer
diff --git a/model/single_doc/__init__.py b/summertime/model/single_doc/__init__.py
similarity index 100%
rename from model/single_doc/__init__.py
rename to summertime/model/single_doc/__init__.py
diff --git a/model/single_doc/bart_model.py b/summertime/model/single_doc/bart_model.py
similarity index 100%
rename from model/single_doc/bart_model.py
rename to summertime/model/single_doc/bart_model.py
diff --git a/model/single_doc/base_single_doc_model.py b/summertime/model/single_doc/base_single_doc_model.py
similarity index 96%
rename from model/single_doc/base_single_doc_model.py
rename to summertime/model/single_doc/base_single_doc_model.py
index 079700af..cf41157c 100644
--- a/model/single_doc/base_single_doc_model.py
+++ b/summertime/model/single_doc/base_single_doc_model.py
@@ -1,4 +1,4 @@
-from model.base_model import SummModel
+from summertime.model.base_model import SummModel
 
 
 class SingleDocSummModel(SummModel):
diff --git a/model/single_doc/lexrank_model.py b/summertime/model/single_doc/lexrank_model.py
similarity index 100%
rename from model/single_doc/lexrank_model.py
rename to summertime/model/single_doc/lexrank_model.py
diff --git a/model/single_doc/longformer_model.py b/summertime/model/single_doc/longformer_model.py
similarity index 100%
rename from model/single_doc/longformer_model.py
rename to summertime/model/single_doc/longformer_model.py
diff --git a/model/single_doc/pegasus_model.py b/summertime/model/single_doc/pegasus_model.py
similarity index 100%
rename from model/single_doc/pegasus_model.py
rename to summertime/model/single_doc/pegasus_model.py
diff --git a/model/single_doc/textrank_model.py b/summertime/model/single_doc/textrank_model.py
similarity index 100%
rename from model/single_doc/textrank_model.py
rename to summertime/model/single_doc/textrank_model.py
diff --git a/model/third_party/HMNet/DataLoader/README.md b/summertime/model/third_party/HMNet/DataLoader/README.md
similarity index 100%
rename from model/third_party/HMNet/DataLoader/README.md
rename to summertime/model/third_party/HMNet/DataLoader/README.md
diff --git a/model/third_party/HMNet/DataLoader/__init__.py b/summertime/model/third_party/HMNet/DataLoader/__init__.py
similarity index 100%
rename from model/third_party/HMNet/DataLoader/__init__.py
rename to summertime/model/third_party/HMNet/DataLoader/__init__.py
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/LICENSE b/summertime/model/third_party/HMNet/DataLoader/infinibatch/LICENSE
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/LICENSE
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/LICENSE
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/README.md b/summertime/model/third_party/HMNet/DataLoader/infinibatch/README.md
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/README.md
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/README.md
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/bin/block_randomize.py b/summertime/model/third_party/HMNet/DataLoader/infinibatch/bin/block_randomize.py
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/bin/block_randomize.py
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/bin/block_randomize.py
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/bin/block_randomize_and_batch.py b/summertime/model/third_party/HMNet/DataLoader/infinibatch/bin/block_randomize_and_batch.py
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/bin/block_randomize_and_batch.py
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/bin/block_randomize_and_batch.py
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/docs/config.mako b/summertime/model/third_party/HMNet/DataLoader/infinibatch/docs/config.mako
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/docs/config.mako
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/docs/config.mako
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/closablequeue.html b/summertime/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/closablequeue.html
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/closablequeue.html
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/closablequeue.html
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/datasets.html b/summertime/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/datasets.html
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/datasets.html
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/datasets.html
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/index.html b/summertime/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/index.html
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/index.html
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/index.html
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/iterators.html b/summertime/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/iterators.html
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/iterators.html
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/iterators.html
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/torch/data.html b/summertime/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/torch/data.html
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/torch/data.html
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/torch/data.html
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/torch/index.html b/summertime/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/torch/index.html
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/torch/index.html
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/docs/infinibatch/torch/index.html
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/__init__.py b/summertime/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/__init__.py
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/infinibatch/__init__.py
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/__init__.py
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/closablequeue.py b/summertime/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/closablequeue.py
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/infinibatch/closablequeue.py
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/closablequeue.py
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/datasets.py b/summertime/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/datasets.py
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/infinibatch/datasets.py
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/datasets.py
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/iterators.py b/summertime/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/iterators.py
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/infinibatch/iterators.py
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/iterators.py
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/torch/__init__.py b/summertime/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/torch/__init__.py
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/infinibatch/torch/__init__.py
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/torch/__init__.py
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/torch/data.py b/summertime/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/torch/data.py
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/infinibatch/torch/data.py
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/infinibatch/torch/data.py
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/requirements.txt b/summertime/model/third_party/HMNet/DataLoader/infinibatch/requirements.txt
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/requirements.txt
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/requirements.txt
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/setup.py b/summertime/model/third_party/HMNet/DataLoader/infinibatch/setup.py
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/setup.py
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/setup.py
diff --git a/model/third_party/HMNet/Evaluation/OldROUGEEval.py b/summertime/model/third_party/HMNet/Evaluation/OldROUGEEval.py
similarity index 100%
rename from model/third_party/HMNet/Evaluation/OldROUGEEval.py
rename to summertime/model/third_party/HMNet/Evaluation/OldROUGEEval.py
diff --git a/model/third_party/HMNet/Evaluation/ROUGEEval.py b/summertime/model/third_party/HMNet/Evaluation/ROUGEEval.py
similarity index 98%
rename from model/third_party/HMNet/Evaluation/ROUGEEval.py
rename to summertime/model/third_party/HMNet/Evaluation/ROUGEEval.py
index d4fa38bc..41d0e6a7 100644
--- a/model/third_party/HMNet/Evaluation/ROUGEEval.py
+++ b/summertime/model/third_party/HMNet/Evaluation/ROUGEEval.py
@@ -6,8 +6,8 @@
 import shutil
 from string import ascii_uppercase
 from tqdm.auto import tqdm
-from model.third_party.HMNet.Evaluation.OldROUGEEval import rouge
-from model.third_party.HMNet.ThirdParty.ROUGE import pyrouge
+from summertime.model.third_party.HMNet.Evaluation.OldROUGEEval import rouge
+from summertime.model.third_party.HMNet.ThirdParty.ROUGE import pyrouge
 from shutil import copyfile
 
 # from mpi4py import MPI
diff --git a/model/third_party/HMNet/Evaluation/__init__.py b/summertime/model/third_party/HMNet/Evaluation/__init__.py
similarity index 100%
rename from model/third_party/HMNet/Evaluation/__init__.py
rename to summertime/model/third_party/HMNet/Evaluation/__init__.py
diff --git a/model/third_party/HMNet/ExampleInitModel/.DS_Store b/summertime/model/third_party/HMNet/ExampleInitModel/.DS_Store
similarity index 100%
rename from model/third_party/HMNet/ExampleInitModel/.DS_Store
rename to summertime/model/third_party/HMNet/ExampleInitModel/.DS_Store
diff --git a/model/third_party/HMNet/ExampleInitModel/AMI-finetuned/README.md b/summertime/model/third_party/HMNet/ExampleInitModel/AMI-finetuned/README.md
similarity index 100%
rename from model/third_party/HMNet/ExampleInitModel/AMI-finetuned/README.md
rename to summertime/model/third_party/HMNet/ExampleInitModel/AMI-finetuned/README.md
diff --git a/model/third_party/HMNet/ExampleInitModel/HMNet-pretrained/README.md b/summertime/model/third_party/HMNet/ExampleInitModel/HMNet-pretrained/README.md
similarity index 100%
rename from model/third_party/HMNet/ExampleInitModel/HMNet-pretrained/README.md
rename to summertime/model/third_party/HMNet/ExampleInitModel/HMNet-pretrained/README.md
diff --git a/model/third_party/HMNet/ExampleInitModel/ICSI-finetuned/README.md b/summertime/model/third_party/HMNet/ExampleInitModel/ICSI-finetuned/README.md
similarity index 100%
rename from model/third_party/HMNet/ExampleInitModel/ICSI-finetuned/README.md
rename to summertime/model/third_party/HMNet/ExampleInitModel/ICSI-finetuned/README.md
diff --git a/model/third_party/HMNet/ExampleInitModel/transfo-xl-wt103/special_tokens_map.json b/summertime/model/third_party/HMNet/ExampleInitModel/transfo-xl-wt103/special_tokens_map.json
similarity index 100%
rename from model/third_party/HMNet/ExampleInitModel/transfo-xl-wt103/special_tokens_map.json
rename to summertime/model/third_party/HMNet/ExampleInitModel/transfo-xl-wt103/special_tokens_map.json
diff --git a/model/third_party/HMNet/ExampleInitModel/transfo-xl-wt103/tokenizer_config.json b/summertime/model/third_party/HMNet/ExampleInitModel/transfo-xl-wt103/tokenizer_config.json
similarity index 100%
rename from model/third_party/HMNet/ExampleInitModel/transfo-xl-wt103/tokenizer_config.json
rename to summertime/model/third_party/HMNet/ExampleInitModel/transfo-xl-wt103/tokenizer_config.json
diff --git a/model/third_party/HMNet/ExampleInitModel/transfo-xl-wt103/vocab.bin b/summertime/model/third_party/HMNet/ExampleInitModel/transfo-xl-wt103/vocab.bin
similarity index 100%
rename from model/third_party/HMNet/ExampleInitModel/transfo-xl-wt103/vocab.bin
rename to summertime/model/third_party/HMNet/ExampleInitModel/transfo-xl-wt103/vocab.bin
diff --git a/model/third_party/HMNet/Models/Criteria/MLECriterion.py b/summertime/model/third_party/HMNet/Models/Criteria/MLECriterion.py
similarity index 100%
rename from model/third_party/HMNet/Models/Criteria/MLECriterion.py
rename to summertime/model/third_party/HMNet/Models/Criteria/MLECriterion.py
diff --git a/model/third_party/HMNet/Models/Networks/Layers.py b/summertime/model/third_party/HMNet/Models/Networks/Layers.py
similarity index 100%
rename from model/third_party/HMNet/Models/Networks/Layers.py
rename to summertime/model/third_party/HMNet/Models/Networks/Layers.py
diff --git a/model/third_party/HMNet/Models/Networks/MeetingNet_Transformer.py b/summertime/model/third_party/HMNet/Models/Networks/MeetingNet_Transformer.py
similarity index 99%
rename from model/third_party/HMNet/Models/Networks/MeetingNet_Transformer.py
rename to summertime/model/third_party/HMNet/Models/Networks/MeetingNet_Transformer.py
index f4e3e33c..b00ce601 100644
--- a/model/third_party/HMNet/Models/Networks/MeetingNet_Transformer.py
+++ b/summertime/model/third_party/HMNet/Models/Networks/MeetingNet_Transformer.py
@@ -13,8 +13,11 @@
 import torch.nn.init as init
 import torch.nn.functional as F
 from torch.nn.parameter import Parameter
-from model.third_party.HMNet.Models.Networks.Layers import dropout, set_seq_dropout
-from model.third_party.HMNet.Models.Networks.Transformer import (
+from summertime.model.third_party.HMNet.Models.Networks.Layers import (
+    dropout,
+    set_seq_dropout,
+)
+from summertime.model.third_party.HMNet.Models.Networks.Transformer import (
     EncoderBlock,
     LayerNorm,
     Embedder,
@@ -22,10 +25,10 @@
     Attention,
     MLP,
 )
-from model.third_party.HMNet.ThirdParty.Huggingface.Transformers.src.transformers import (
+from summertime.model.third_party.HMNet.ThirdParty.Huggingface.Transformers.src.transformers import (
     tokenization_transfo_xl,
 )
-from model.third_party.HMNet.ThirdParty.Huggingface.Transformers.src.transformers.modeling_encoder_decoder import (
+from summertime.model.third_party.HMNet.ThirdParty.Huggingface.Transformers.src.transformers.modeling_encoder_decoder import (
     calc_banned_ngram_tokens,
     calc_banned_bad_words_ids,
     top_k_top_p_filtering,
diff --git a/model/third_party/HMNet/Models/Networks/Transformer.py b/summertime/model/third_party/HMNet/Models/Networks/Transformer.py
similarity index 100%
rename from model/third_party/HMNet/Models/Networks/Transformer.py
rename to summertime/model/third_party/HMNet/Models/Networks/Transformer.py
diff --git a/model/third_party/HMNet/Models/Optimizers/LnrWrmpInvSqRtDcyScheduler.py b/summertime/model/third_party/HMNet/Models/Optimizers/LnrWrmpInvSqRtDcyScheduler.py
similarity index 100%
rename from model/third_party/HMNet/Models/Optimizers/LnrWrmpInvSqRtDcyScheduler.py
rename to summertime/model/third_party/HMNet/Models/Optimizers/LnrWrmpInvSqRtDcyScheduler.py
diff --git a/model/third_party/HMNet/Models/Optimizers/RAdam.py b/summertime/model/third_party/HMNet/Models/Optimizers/RAdam.py
similarity index 100%
rename from model/third_party/HMNet/Models/Optimizers/RAdam.py
rename to summertime/model/third_party/HMNet/Models/Optimizers/RAdam.py
diff --git a/model/third_party/HMNet/Models/Trainers/BaseTrainer.py b/summertime/model/third_party/HMNet/Models/Trainers/BaseTrainer.py
similarity index 100%
rename from model/third_party/HMNet/Models/Trainers/BaseTrainer.py
rename to summertime/model/third_party/HMNet/Models/Trainers/BaseTrainer.py
diff --git a/model/third_party/HMNet/Models/Trainers/DistributedTrainer.py b/summertime/model/third_party/HMNet/Models/Trainers/DistributedTrainer.py
similarity index 95%
rename from model/third_party/HMNet/Models/Trainers/DistributedTrainer.py
rename to summertime/model/third_party/HMNet/Models/Trainers/DistributedTrainer.py
index 3ae8bf56..ddfc81a5 100644
--- a/model/third_party/HMNet/Models/Trainers/DistributedTrainer.py
+++ b/summertime/model/third_party/HMNet/Models/Trainers/DistributedTrainer.py
@@ -8,9 +8,9 @@
 import numpy as np
 
 from pkg_resources import parse_version
-from model.third_party.HMNet.Models.Trainers.BaseTrainer import BaseTrainer
-from model.third_party.HMNet.Utils.GeneralUtils import bcolors
-from model.third_party.HMNet.Utils.distributed import distributed
+from summertime.model.third_party.HMNet.Models.Trainers.BaseTrainer import BaseTrainer
+from summertime.model.third_party.HMNet.Utils.GeneralUtils import bcolors
+from summertime.model.third_party.HMNet.Utils.distributed import distributed
 
 
 class DistributedTrainer(BaseTrainer):
diff --git a/model/third_party/HMNet/Models/Trainers/HMNetTrainer.py b/summertime/model/third_party/HMNet/Models/Trainers/HMNetTrainer.py
similarity index 97%
rename from model/third_party/HMNet/Models/Trainers/HMNetTrainer.py
rename to summertime/model/third_party/HMNet/Models/Trainers/HMNetTrainer.py
index 771e4883..e8b91c57 100644
--- a/model/third_party/HMNet/Models/Trainers/HMNetTrainer.py
+++ b/summertime/model/third_party/HMNet/Models/Trainers/HMNetTrainer.py
@@ -16,17 +16,17 @@
 import torch.optim as optim
 import torch.optim.lr_scheduler as lr_scheduler
 
-from model.third_party.HMNet.Models.Trainers.DistributedTrainer import (
+from summertime.model.third_party.HMNet.Models.Trainers.DistributedTrainer import (
     DistributedTrainer,
 )
-from model.third_party.HMNet.Models.Trainers.Tasks import Task
-from model.third_party.HMNet.Utils.GeneralUtils import (
+from summertime.model.third_party.HMNet.Models.Trainers.Tasks import Task
+from summertime.model.third_party.HMNet.Utils.GeneralUtils import (
     AverageMeter,
     BaseBatchGen,
     bcolors,
 )
 
-from model.third_party.HMNet.DataLoader import iterators
+from summertime.model.third_party.HMNet.DataLoader import iterators
 
 
 class ObjectView(object):
@@ -85,7 +85,8 @@ def set_up_model(self):
         # instantiate module (tokenizer should be contained in module as self.module.tokenizer)
         try:
             model_module = importlib.import_module(
-                "model.third_party.HMNet.Models.Networks." + self.opt["MODEL"]
+                "summertime.model.third_party.HMNet.Models.Networks."
+                + self.opt["MODEL"]
             )
             model_class = getattr(model_module, self.opt["MODEL"])
             self.module = model_class(self.opt)
@@ -103,7 +104,8 @@ def set_up_model(self):
         # instantiate criterion
         try:
             criterion_module = importlib.import_module(
-                "model.third_party.HMNet.Models.Criteria." + self.opt["CRITERION"]
+                "summertime.model.third_party.HMNet.Models.Criteria."
+                + self.opt["CRITERION"]
             )
             criterion_class = getattr(criterion_module, self.opt["CRITERION"])
             self.criterion = criterion_class(self.opt, self.module)
@@ -145,7 +147,8 @@ def set_up_optimizer_and_lr_scheduler(self):
         except:
             try:  # then try custom optimizer inside Models.Optimizers
                 optimizer_module = importlib.import_module(
-                    "model.third_party.HMNet.Models.Optimizers." + self.opt["OPTIMIZER"]
+                    "summertime.model.third_party.HMNet.Models.Optimizers."
+                    + self.opt["OPTIMIZER"]
                 )
                 optimizer_class = getattr(optimizer_module, self.opt["OPTIMIZER"])
                 self.log("Using custom optimizer: {}".format(self.opt["OPTIMIZER"]))
@@ -168,7 +171,7 @@ def set_up_optimizer_and_lr_scheduler(self):
         except:
             try:  # then look for custom lr scheduler inside Models.Optimizers
                 lr_scheduler_module = importlib.import_module(
-                    "model.third_party.HMNet.Models.Optimizers."
+                    "summertime.model.third_party.HMNet.Models.Optimizers."
                     + self.opt["LR_SCHEDULER"]
                 )
                 lr_scheduler_class = getattr(
diff --git a/model/third_party/HMNet/Models/Trainers/Tasks.py b/summertime/model/third_party/HMNet/Models/Trainers/Tasks.py
similarity index 78%
rename from model/third_party/HMNet/Models/Trainers/Tasks.py
rename to summertime/model/third_party/HMNet/Models/Trainers/Tasks.py
index 7463abfd..314ea681 100644
--- a/model/third_party/HMNet/Models/Trainers/Tasks.py
+++ b/summertime/model/third_party/HMNet/Models/Trainers/Tasks.py
@@ -17,12 +17,14 @@ def __init__(self, batch_gen, evaluator):
     def setup_task(cls, task_name, opt, save_dir):
 
         if task_name == "HMNet":
-            from model.third_party.HMNet.Utils.HMNet.InfinibatchLoader import (
+            from summertime.model.third_party.HMNet.Utils.HMNet.InfinibatchLoader import (
                 HMNetBatchGen,
             )
 
             batch_gen = HMNetBatchGen
-            from model.third_party.HMNet.Evaluation.ROUGEEval import ROUGEEval
+            from summertime.model.third_party.HMNet.Evaluation.ROUGEEval import (
+                ROUGEEval,
+            )
 
             evaluator = ROUGEEval(opt["datadir"], save_dir, opt)
         else:
diff --git a/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/LICENSE b/summertime/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/LICENSE
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/Huggingface/Transformers/LICENSE
rename to summertime/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/LICENSE
diff --git a/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/file_utils.py b/summertime/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/file_utils.py
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/file_utils.py
rename to summertime/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/file_utils.py
diff --git a/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/modeling_encoder_decoder.py b/summertime/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/modeling_encoder_decoder.py
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/modeling_encoder_decoder.py
rename to summertime/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/modeling_encoder_decoder.py
diff --git a/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/tokenization_transfo_xl.py b/summertime/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/tokenization_transfo_xl.py
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/tokenization_transfo_xl.py
rename to summertime/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/tokenization_transfo_xl.py
diff --git a/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/tokenization_utils.py b/summertime/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/tokenization_utils.py
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/tokenization_utils.py
rename to summertime/model/third_party/HMNet/ThirdParty/Huggingface/Transformers/src/transformers/tokenization_utils.py
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/README.txt b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/README.txt
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/README.txt
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/README.txt
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/RELEASE-NOTE.txt b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/RELEASE-NOTE.txt
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/RELEASE-NOTE.txt
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/RELEASE-NOTE.txt
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/ROUGE-1.5.5.pl b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/ROUGE-1.5.5.pl
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/ROUGE-1.5.5.pl
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/ROUGE-1.5.5.pl
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM.pm b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM.pm
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM.pm
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM.pm
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/AttDef.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/AttDef.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/AttDef.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/AttDef.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/AttlistDecl.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/AttlistDecl.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/AttlistDecl.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/AttlistDecl.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Attr.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Attr.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Attr.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Attr.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/CDATASection.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/CDATASection.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/CDATASection.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/CDATASection.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/CharacterData.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/CharacterData.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/CharacterData.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/CharacterData.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Comment.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Comment.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Comment.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Comment.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DOMException.pm b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DOMException.pm
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DOMException.pm
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DOMException.pm
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DOMImplementation.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DOMImplementation.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DOMImplementation.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DOMImplementation.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Document.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Document.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Document.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Document.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DocumentFragment.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DocumentFragment.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DocumentFragment.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DocumentFragment.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DocumentType.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DocumentType.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DocumentType.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/DocumentType.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Element.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Element.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Element.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Element.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/ElementDecl.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/ElementDecl.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/ElementDecl.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/ElementDecl.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Entity.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Entity.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Entity.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Entity.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/EntityReference.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/EntityReference.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/EntityReference.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/EntityReference.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NamedNodeMap.pm b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NamedNodeMap.pm
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NamedNodeMap.pm
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NamedNodeMap.pm
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NamedNodeMap.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NamedNodeMap.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NamedNodeMap.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NamedNodeMap.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Node.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Node.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Node.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Node.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NodeList.pm b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NodeList.pm
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NodeList.pm
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NodeList.pm
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NodeList.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NodeList.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NodeList.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/NodeList.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Notation.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Notation.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Notation.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Notation.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Parser.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Parser.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Parser.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Parser.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/PerlSAX.pm b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/PerlSAX.pm
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/PerlSAX.pm
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/PerlSAX.pm
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/ProcessingInstruction.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/ProcessingInstruction.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/ProcessingInstruction.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/ProcessingInstruction.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Text.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Text.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Text.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/Text.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/XMLDecl.pod b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/XMLDecl.pod
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/XMLDecl.pod
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/DOM/XMLDecl.pod
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/Handler/BuildDOM.pm b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/Handler/BuildDOM.pm
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/Handler/BuildDOM.pm
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/Handler/BuildDOM.pm
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/RegExp.pm b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/RegExp.pm
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/RegExp.pm
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/XML/RegExp.pm
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/adj.exc b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/adj.exc
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/adj.exc
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/adj.exc
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/adv.exc b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/adv.exc
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/adv.exc
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/adv.exc
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/buildExeptionDB.pl b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/buildExeptionDB.pl
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/buildExeptionDB.pl
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/buildExeptionDB.pl
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/noun.exc b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/noun.exc
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/noun.exc
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/noun.exc
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/verb.exc b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/verb.exc
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/verb.exc
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-1.6-Exceptions/verb.exc
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/WordNet-2.0.exc.db b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/WordNet-2.0.exc.db
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/WordNet-2.0.exc.db
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/WordNet-2.0.exc.db
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/adj.exc b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/adj.exc
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/adj.exc
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/adj.exc
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/adv.exc b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/adv.exc
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/adv.exc
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/adv.exc
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/buildExeptionDB.pl b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/buildExeptionDB.pl
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/buildExeptionDB.pl
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/buildExeptionDB.pl
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/noun.exc b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/noun.exc
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/noun.exc
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/noun.exc
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/verb.exc b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/verb.exc
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/verb.exc
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0-Exceptions/verb.exc
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0.exc.db b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0.exc.db
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0.exc.db
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/WordNet-2.0.exc.db
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/smart_common_words.txt b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/smart_common_words.txt
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/smart_common_words.txt
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/data/smart_common_words.txt
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/LICENSE.txt b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/LICENSE.txt
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/LICENSE.txt
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/LICENSE.txt
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/Rouge155.py b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/Rouge155.py
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/Rouge155.py
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/Rouge155.py
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/__init__.py b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/__init__.py
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/__init__.py
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/__init__.py
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/__init__.py b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/__init__.py
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/__init__.py
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/__init__.py
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/argparsers.py b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/argparsers.py
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/argparsers.py
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/argparsers.py
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/file_utils.py b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/file_utils.py
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/file_utils.py
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/file_utils.py
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/file_utils.py.bak b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/file_utils.py.bak
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/file_utils.py.bak
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/file_utils.py.bak
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/log.py b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/log.py
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/log.py
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/log.py
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/sentence_splitter.py b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/sentence_splitter.py
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/sentence_splitter.py
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/sentence_splitter.py
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/string_utils.py b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/string_utils.py
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/string_utils.py
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/pyrouge/utils/string_utils.py
diff --git a/model/third_party/HMNet/Utils/Arguments.py b/summertime/model/third_party/HMNet/Utils/Arguments.py
similarity index 100%
rename from model/third_party/HMNet/Utils/Arguments.py
rename to summertime/model/third_party/HMNet/Utils/Arguments.py
diff --git a/model/third_party/HMNet/Utils/Constants.py b/summertime/model/third_party/HMNet/Utils/Constants.py
similarity index 100%
rename from model/third_party/HMNet/Utils/Constants.py
rename to summertime/model/third_party/HMNet/Utils/Constants.py
diff --git a/model/third_party/HMNet/Utils/GeneralUtils.py b/summertime/model/third_party/HMNet/Utils/GeneralUtils.py
similarity index 100%
rename from model/third_party/HMNet/Utils/GeneralUtils.py
rename to summertime/model/third_party/HMNet/Utils/GeneralUtils.py
diff --git a/model/third_party/HMNet/Utils/HMNet/InfinibatchLoader.py b/summertime/model/third_party/HMNet/Utils/HMNet/InfinibatchLoader.py
similarity index 99%
rename from model/third_party/HMNet/Utils/HMNet/InfinibatchLoader.py
rename to summertime/model/third_party/HMNet/Utils/HMNet/InfinibatchLoader.py
index 0200f5cb..7faabccf 100644
--- a/model/third_party/HMNet/Utils/HMNet/InfinibatchLoader.py
+++ b/summertime/model/third_party/HMNet/Utils/HMNet/InfinibatchLoader.py
@@ -7,7 +7,7 @@
 from random import Random, shuffle, random
 import torch
 import math
-from model.third_party.HMNet.DataLoader import iterators
+from summertime.model.third_party.HMNet.DataLoader import iterators
 import json
 import struct
 from timeit import default_timer as timer
diff --git a/model/third_party/HMNet/Utils/Serialization.py b/summertime/model/third_party/HMNet/Utils/Serialization.py
similarity index 100%
rename from model/third_party/HMNet/Utils/Serialization.py
rename to summertime/model/third_party/HMNet/Utils/Serialization.py
diff --git a/model/third_party/HMNet/Utils/distributed.py b/summertime/model/third_party/HMNet/Utils/distributed.py
similarity index 100%
rename from model/third_party/HMNet/Utils/distributed.py
rename to summertime/model/third_party/HMNet/Utils/distributed.py
diff --git a/pipeline/__init__.py b/summertime/pipeline/__init__.py
similarity index 100%
rename from pipeline/__init__.py
rename to summertime/pipeline/__init__.py
diff --git a/util/download_utils.py b/summertime/util/download_utils.py
similarity index 100%
rename from util/download_utils.py
rename to summertime/util/download_utils.py


Test patch:
diff --git a/summertime/model/dialogue/hmnet/ExampleRawData/meeting_summarization/AMI_proprec/test/split_0.jsonl.gz b/summertime/model/dialogue/hmnet/ExampleRawData/meeting_summarization/AMI_proprec/test/split_0.jsonl.gz
new file mode 100644
index 00000000..bcd72acd
Binary files /dev/null and b/summertime/model/dialogue/hmnet/ExampleRawData/meeting_summarization/AMI_proprec/test/split_0.jsonl.gz differ
diff --git a/summertime/model/dialogue/hmnet/ExampleRawData/meeting_summarization/AMI_proprec/test/split_1.jsonl.gz b/summertime/model/dialogue/hmnet/ExampleRawData/meeting_summarization/AMI_proprec/test/split_1.jsonl.gz
new file mode 100644
index 00000000..02e15caf
Binary files /dev/null and b/summertime/model/dialogue/hmnet/ExampleRawData/meeting_summarization/AMI_proprec/test/split_1.jsonl.gz differ
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/test/test_closablequeue.py b/summertime/model/third_party/HMNet/DataLoader/infinibatch/test/test_closablequeue.py
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/test/test_closablequeue.py
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/test/test_closablequeue.py
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/test/test_doctests.py b/summertime/model/third_party/HMNet/DataLoader/infinibatch/test/test_doctests.py
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/test/test_doctests.py
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/test/test_doctests.py
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/test/test_iterators.py b/summertime/model/third_party/HMNet/DataLoader/infinibatch/test/test_iterators.py
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/test/test_iterators.py
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/test/test_iterators.py
diff --git a/model/third_party/HMNet/DataLoader/infinibatch/unit-test-pipeline.yml b/summertime/model/third_party/HMNet/DataLoader/infinibatch/unit-test-pipeline.yml
similarity index 100%
rename from model/third_party/HMNet/DataLoader/infinibatch/unit-test-pipeline.yml
rename to summertime/model/third_party/HMNet/DataLoader/infinibatch/unit-test-pipeline.yml
diff --git a/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/runROUGE-test.pl b/summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/runROUGE-test.pl
similarity index 100%
rename from model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/runROUGE-test.pl
rename to summertime/model/third_party/HMNet/ThirdParty/ROUGE/ROUGE-1.5.5/runROUGE-test.pl
diff --git a/tests/dataset_test.py b/tests/dataset_test.py
index 8f519512..f161b7bd 100644
--- a/tests/dataset_test.py
+++ b/tests/dataset_test.py
@@ -1,12 +1,42 @@
 import unittest
 
-from dataset import SUPPORTED_SUMM_DATASETS, list_all_datasets
-from dataset.st_dataset import SummDataset, SummInstance
-from dataset.dataset_loaders import ArxivDataset
+from summertime.dataset import SUPPORTED_SUMM_DATASETS, list_all_datasets
+from summertime.dataset.st_dataset import SummDataset, SummInstance, CustomDataset
+from summertime.dataset.dataset_loaders import ArxivDataset
 
 from helpers import print_with_color
 
 
+NUM_DUMMY_DATA_INSTANCES = 10
+
+DUMMY_DATA_WITH_QUERY = [
+    # Source doc
+    "PG&E stated it scheduled the blackouts in response to forecasts for high winds amid dry conditions. \
+     The aim is to reduce the risk of wildfires. Nearly 800 thousand customers were scheduled to be affected \
+     by the shutoffs which were expected to last through at least midday tomorrow.",
+    # Summary
+    "California's largest electricity provider has turned off power to hundreds of thousands of customers.",
+    # Query
+    "What is the main topic of this?",
+]
+
+DUMMY_DATA_WITHOUT_QUERY = [
+    # Source doc
+    "Alice : I am a girl. \
+     Bob : I am a boy.",
+    # Summary
+    "Alice and Bob say who they are",
+]
+
+
+def get_dummy_data_with_query(n: int):
+    return [DUMMY_DATA_WITH_QUERY] * n
+
+
+def get_dummy_data_without_query(n: int):
+    return [DUMMY_DATA_WITHOUT_QUERY] * n
+
+
 class TestDatasets(unittest.TestCase):
     def _test_instance(
         self,
@@ -23,22 +53,63 @@ def _test_instance(
             self.assertTrue(isinstance(ins.query, str))
 
     def test_all_datasets(self):
-        print_with_color(f"{'#' * 10} Testing all datasets... {'#' * 10}\n\n", "35")
 
+        # Test custom dataset
+        print_with_color(f"{'#' * 10} Loading custom dataset... {'#' * 10}\n\n", "35")
+
+        train_set = [
+            {
+                "source": instance[0],
+                "summary": instance[1],
+                "query": instance[2],
+            }
+            for instance in get_dummy_data_with_query(NUM_DUMMY_DATA_INSTANCES)
+        ]
+        validation_set = [
+            {
+                "source": instance[0],
+                "summary": None,
+                "query": instance[2],
+            }
+            for instance in get_dummy_data_with_query(NUM_DUMMY_DATA_INSTANCES)
+        ]
+        test_set = [
+            {
+                "source": instance[0],
+                "summary": instance[1],
+                "query": instance[2],
+            }
+            for instance in get_dummy_data_with_query(NUM_DUMMY_DATA_INSTANCES)
+        ]
+
+        custom_dataset = CustomDataset(
+            train_set=train_set,
+            validation_set=validation_set,
+            test_set=test_set,
+            query_based=True,
+            multi_doc=False,
+        )
+
+        test_datasets = [custom_dataset] + SUPPORTED_SUMM_DATASETS
+
+        # Test pre-loaded SummerTime datasets
+        print_with_color(f"{'#' * 10} Testing all datasets... {'#' * 10}\n\n", "35")
         print(list_all_datasets())
 
         num_datasets = 0
 
-        for ds_cls in SUPPORTED_SUMM_DATASETS:
+        for ds_cls in test_datasets:
 
             # TODO: Temporarily skipping Arxiv (size/time), > 30min download time for Travis-CI
             if ds_cls in [ArxivDataset]:
                 continue
+            elif isinstance(ds_cls, CustomDataset):
+                ds = ds_cls
+            else:
+                print_with_color(f"Testing {ds_cls} dataset...", "35")
+                ds: SummDataset = ds_cls()
 
-            print_with_color(f"Testing {ds_cls} dataset...", "35")
-            ds: SummDataset = ds_cls()
-
-            ds.show_description()
+                ds.show_description()
 
             # must have at least one of train/dev/test set
             assert ds.train_set or ds.validation_set or ds.test_set
diff --git a/tests/evaluation_test.py b/tests/evaluation_test.py
index 5e7c8468..b8643a06 100644
--- a/tests/evaluation_test.py
+++ b/tests/evaluation_test.py
@@ -1,7 +1,7 @@
 import unittest
 from typing import Tuple, List, Dict
 
-from evaluation import SUPPORTED_EVALUATION_METRICS
+from summertime.evaluation import SUPPORTED_EVALUATION_METRICS
 
 from helpers import print_with_color
 
diff --git a/tests/helpers.py b/tests/helpers.py
index e845ba70..11ce0ab8 100644
--- a/tests/helpers.py
+++ b/tests/helpers.py
@@ -1,4 +1,4 @@
-from dataset.st_dataset import SummDataset, SummInstance
+from summertime.dataset.st_dataset import SummDataset, SummInstance
 
 import random
 from typing import List, Tuple
diff --git a/tests/integration_test.py b/tests/integration_test.py
index 7db778a3..b0d7e62c 100644
--- a/tests/integration_test.py
+++ b/tests/integration_test.py
@@ -1,16 +1,16 @@
 import unittest
 
-from model.base_model import SummModel
-from model import SUPPORTED_SUMM_MODELS
+from summertime.model.base_model import SummModel
+from summertime.model import SUPPORTED_SUMM_MODELS
 
-from pipeline import assemble_model_pipeline
+from summertime.pipeline import assemble_model_pipeline
 
-from evaluation.base_metric import SummMetric
-from evaluation import SUPPORTED_EVALUATION_METRICS
+from summertime.evaluation.base_metric import SummMetric
+from summertime.evaluation import SUPPORTED_EVALUATION_METRICS
 
-from dataset.st_dataset import SummInstance, SummDataset
-from dataset import SUPPORTED_SUMM_DATASETS
-from dataset.dataset_loaders import ScisummnetDataset, ArxivDataset
+from summertime.dataset.st_dataset import SummInstance, SummDataset
+from summertime.dataset import SUPPORTED_SUMM_DATASETS
+from summertime.dataset.dataset_loaders import ScisummnetDataset, ArxivDataset
 
 from helpers import print_with_color, retrieve_random_test_instances
 
diff --git a/tests/model_test.py b/tests/model_test.py
index cccd6c84..20769715 100644
--- a/tests/model_test.py
+++ b/tests/model_test.py
@@ -1,15 +1,15 @@
 import unittest
 from typing import List
 
-from dataset.dataset_loaders import (
+from summertime.dataset.dataset_loaders import (
     CnndmDataset,
     MultinewsDataset,
     PubmedqaDataset,
     SamsumDataset,
 )
-from model import SUPPORTED_SUMM_MODELS, list_all_models
-from model.single_doc import LexRankModel, LongformerModel
-from model.dialogue import HMNetModel
+from summertime.model import SUPPORTED_SUMM_MODELS, list_all_models
+from summertime.model.single_doc import LexRankModel, LongformerModel
+from summertime.model.dialogue import HMNetModel
 
 from helpers import (
     print_with_color,
@@ -53,7 +53,7 @@ class TestIndividualModels(unittest.TestCase):
     """more tests for different aspects of the models"""
 
     def test_hmnet_model(self):
-        from model.dialogue.hmnet_model import HMNetModel
+        from summertime.model.dialogue.hmnet_model import HMNetModel
 
         dummy_corpus = get_dummy_dialogue_instances(2)
         model = HMNetModel(min_gen_length=10, max_gen_length=30, beam_width=2)