diff --git a/bert_pytorch/__init__.py b/bert_pytorch/__init__.py new file mode 100644 index 0000000..f63a18a --- /dev/null +++ b/bert_pytorch/__init__.py @@ -0,0 +1,3 @@ +from .model import BERT + +__version__ = "0.0.1a0" diff --git a/bert_pytorch/__main__.py b/bert_pytorch/__main__.py new file mode 100644 index 0000000..e69de29 diff --git a/dataset/__init__.py b/bert_pytorch/dataset/__init__.py similarity index 100% rename from dataset/__init__.py rename to bert_pytorch/dataset/__init__.py diff --git a/dataset/creator.py b/bert_pytorch/dataset/creator.py similarity index 100% rename from dataset/creator.py rename to bert_pytorch/dataset/creator.py diff --git a/dataset/dataset.py b/bert_pytorch/dataset/dataset.py similarity index 100% rename from dataset/dataset.py rename to bert_pytorch/dataset/dataset.py diff --git a/dataset/vocab.py b/bert_pytorch/dataset/vocab.py similarity index 100% rename from dataset/vocab.py rename to bert_pytorch/dataset/vocab.py diff --git a/model/__init__.py b/bert_pytorch/model/__init__.py similarity index 100% rename from model/__init__.py rename to bert_pytorch/model/__init__.py diff --git a/model/attention/__init__.py b/bert_pytorch/model/attention/__init__.py similarity index 100% rename from model/attention/__init__.py rename to bert_pytorch/model/attention/__init__.py diff --git a/model/attention/multi_head.py b/bert_pytorch/model/attention/multi_head.py similarity index 100% rename from model/attention/multi_head.py rename to bert_pytorch/model/attention/multi_head.py diff --git a/model/attention/single.py b/bert_pytorch/model/attention/single.py similarity index 100% rename from model/attention/single.py rename to bert_pytorch/model/attention/single.py diff --git a/model/bert.py b/bert_pytorch/model/bert.py similarity index 100% rename from model/bert.py rename to bert_pytorch/model/bert.py diff --git a/model/embedding/__init__.py b/bert_pytorch/model/embedding/__init__.py similarity index 100% rename from model/embedding/__init__.py rename to bert_pytorch/model/embedding/__init__.py diff --git a/model/embedding/bert.py b/bert_pytorch/model/embedding/bert.py similarity index 100% rename from model/embedding/bert.py rename to bert_pytorch/model/embedding/bert.py diff --git a/model/embedding/position.py b/bert_pytorch/model/embedding/position.py similarity index 100% rename from model/embedding/position.py rename to bert_pytorch/model/embedding/position.py diff --git a/model/embedding/segment.py b/bert_pytorch/model/embedding/segment.py similarity index 100% rename from model/embedding/segment.py rename to bert_pytorch/model/embedding/segment.py diff --git a/model/embedding/token.py b/bert_pytorch/model/embedding/token.py similarity index 100% rename from model/embedding/token.py rename to bert_pytorch/model/embedding/token.py diff --git a/model/language_model.py b/bert_pytorch/model/language_model.py similarity index 100% rename from model/language_model.py rename to bert_pytorch/model/language_model.py diff --git a/model/transformer.py b/bert_pytorch/model/transformer.py similarity index 100% rename from model/transformer.py rename to bert_pytorch/model/transformer.py diff --git a/model/utils/__init__.py b/bert_pytorch/model/utils/__init__.py similarity index 100% rename from model/utils/__init__.py rename to bert_pytorch/model/utils/__init__.py diff --git a/model/utils/feed_forward.py b/bert_pytorch/model/utils/feed_forward.py similarity index 100% rename from model/utils/feed_forward.py rename to bert_pytorch/model/utils/feed_forward.py diff --git a/model/utils/gelu.py b/bert_pytorch/model/utils/gelu.py similarity index 100% rename from model/utils/gelu.py rename to bert_pytorch/model/utils/gelu.py diff --git a/model/utils/layer_norm.py b/bert_pytorch/model/utils/layer_norm.py similarity index 100% rename from model/utils/layer_norm.py rename to bert_pytorch/model/utils/layer_norm.py diff --git a/model/utils/sublayer.py b/bert_pytorch/model/utils/sublayer.py similarity index 100% rename from model/utils/sublayer.py rename to bert_pytorch/model/utils/sublayer.py diff --git a/trainer/__init__.py b/bert_pytorch/trainer/__init__.py similarity index 100% rename from trainer/__init__.py rename to bert_pytorch/trainer/__init__.py diff --git a/trainer/pretrain.py b/bert_pytorch/trainer/pretrain.py similarity index 100% rename from trainer/pretrain.py rename to bert_pytorch/trainer/pretrain.py diff --git a/build_dataset.py b/build_dataset.py index 3f964c6..6ccf617 100644 --- a/build_dataset.py +++ b/build_dataset.py @@ -1,4 +1,4 @@ -from dataset import WordVocab, BERTDatasetCreator +from bert_pytorch.dataset import WordVocab, BERTDatasetCreator import argparse import tqdm diff --git a/build_vocab.py b/build_vocab.py index aef4eaf..64a790d 100644 --- a/build_vocab.py +++ b/build_vocab.py @@ -1,6 +1,6 @@ import argparse -from dataset import WordVocab +from bert_pytorch.dataset import WordVocab parser = argparse.ArgumentParser() parser.add_argument("-c", "--corpus_path", required=True, type=str) diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..b9e2072 --- /dev/null +++ b/setup.py @@ -0,0 +1,47 @@ +from setuptools import setup, find_packages +from setuptools.command.install import install +from bert_pytorch import __version__ +import os +import sys + +with open("requirements.txt") as f: + require_packages = [line[:-1] for line in f] + +with open("README.md", "r", encoding="utf-8") as f: + long_description = f.read() + + +class VerifyVersionCommand(install): + """Custom command to verify that the git tag matches our version""" + description = 'verify that the git tag matches our version' + + def run(self): + tag = os.getenv('CIRCLE_TAG') + + if tag != __version__: + info = "Git tag: {0} does not match the version of this app: {1}".format( + tag, __version__ + ) + sys.exit(info) + + +setup( + name="bert_pytorch", + version=__version__, + author='Junseong Kim', + author_email='codertimo@gmail.com', + packages=find_packages(), + install_requires=require_packages, + url="https://github.com/codertimo/BERT-pytorch", + description="Google AI 2018 BERT pytorch implementation", + long_description=long_description, + long_description_content_type="text/markdown", + classifiers=[ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: Apache Software License", + "Operating System :: OS Independent", + ], + cmdclass={ + 'verify': VerifyVersionCommand, + } +) \ No newline at end of file diff --git a/train.py b/train.py index f0c597e..05e5db3 100644 --- a/train.py +++ b/train.py @@ -2,9 +2,9 @@ from torch.utils.data import DataLoader -from model import BERT -from trainer import BERTTrainer -from dataset import BERTDataset, WordVocab +from bert_pytorch import BERT +from bert_pytorch.trainer import BERTTrainer +from bert_pytorch.dataset import BERTDataset, WordVocab parser = argparse.ArgumentParser()