diff --git a/.gitignore b/.gitignore index bee8a64..f284384 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ __pycache__ +*egg* diff --git a/generate.py b/generate.py index 4a5c4d6..5b63b83 100644 --- a/generate.py +++ b/generate.py @@ -8,11 +8,11 @@ import torch import yaml -from src.generation import Generator -from src.model import StripedHyena -from src.sample import sample -from src.tokenizer import HFAutoTokenizer -from src.utils import dotdict, print_rank_0 +from stripedhyena.generation import Generator +from stripedhyena.model import StripedHyena +from stripedhyena.sample import sample +from stripedhyena.tokenizer import HFAutoTokenizer +from stripedhyena.utils import dotdict, print_rank_0 if __name__ == "__main__": parser = argparse.ArgumentParser(description="Run StripedHyena Model") diff --git a/pyproject.toml b/pyproject.toml index 1433aca..6db7a11 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,9 +4,10 @@ build-backend = "setuptools.build_meta" [project] name = "stripedhyena" -version = "0.2.0" +version = "0.2.1" description = "Model and inference code for beyond Transformer architectures" readme = "README.md" +license = {file = "LICENSE"} authors = [{ name = "Michael Poli"}] dependencies = [ "transformers", @@ -22,3 +23,6 @@ profile = "black" line_length = 119 combine_as_imports = true combine_star = true + +[tool.setuptools] +packages = ['stripedhyena'] diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..7828490 --- /dev/null +++ b/setup.py @@ -0,0 +1,20 @@ +from setuptools import find_packages, setup + +with open("README.md") as f: + readme = f.read() + +with open("requirements.txt") as f: + requirements = f.read().split("\n") + +setup( + name="stripedhyena", + version="0.2.1", + description="Model and inference code for beyond Transformer architectures", + long_description=readme, + long_description_content_type="text/markdown", + author="Michael Poli", + url="http://github.com/togethercomputer/stripedhyena", + license="Apache-2.0", + packages=find_packages(where="stripedhyena"), + install_requires=requirements, +) diff --git a/src/__init__.py b/stripedhyena/__init__.py similarity index 100% rename from src/__init__.py rename to stripedhyena/__init__.py diff --git a/src/cache.py b/stripedhyena/cache.py similarity index 100% rename from src/cache.py rename to stripedhyena/cache.py diff --git a/src/engine.py b/stripedhyena/engine.py similarity index 99% rename from src/engine.py rename to stripedhyena/engine.py index 809f3be..fbb34b9 100644 --- a/src/engine.py +++ b/stripedhyena/engine.py @@ -11,7 +11,7 @@ import conv1d_cpp except: pass -from src.utils import column_split +from stripedhyena.utils import column_split IIR_PREFILL_MODES = [ "recurrence", diff --git a/src/generation.py b/stripedhyena/generation.py similarity index 97% rename from src/generation.py rename to stripedhyena/generation.py index a998c3f..bc23861 100644 --- a/src/generation.py +++ b/stripedhyena/generation.py @@ -6,9 +6,9 @@ import torch -from src.sample import sample -from src.tokenizer import CharLevelTokenizer -from src.utils import print_rank_0 +from stripedhyena.sample import sample +from stripedhyena.tokenizer import CharLevelTokenizer +from stripedhyena.utils import print_rank_0 class Generator: diff --git a/src/layers.py b/stripedhyena/layers.py similarity index 99% rename from src/layers.py rename to stripedhyena/layers.py index b9d518b..81e9a1d 100644 --- a/src/layers.py +++ b/stripedhyena/layers.py @@ -8,7 +8,7 @@ from einops import rearrange from torch import Tensor -from src.utils import grab_first_if_tuple +from stripedhyena.utils import grab_first_if_tuple class RMSNorm(torch.nn.Module): diff --git a/src/model.py b/stripedhyena/model.py similarity index 98% rename from src/model.py rename to stripedhyena/model.py index b118447..7e4881b 100644 --- a/src/model.py +++ b/stripedhyena/model.py @@ -7,10 +7,10 @@ import torch.nn as nn import torch.nn.functional as F -from src.cache import InferenceParams, RecurrentInferenceParams -from src.engine import HyenaInferenceEngine -from src.layers import ParallelGatedMLP, RMSNorm, VocabParallelEmbedding -from src.utils import column_split, print_rank_0 +from stripedhyena.cache import InferenceParams, RecurrentInferenceParams +from stripedhyena.engine import HyenaInferenceEngine +from stripedhyena.layers import ParallelGatedMLP, RMSNorm, VocabParallelEmbedding +from stripedhyena.utils import column_split, print_rank_0 try: from flash_attn.modules.mha import MHA @@ -18,7 +18,7 @@ "flash_attn not installed" try: - from src.positional_embeddings import swap_mha_rope + from stripedhyena.positional_embeddings import swap_mha_rope except ImportError: "could not import swap_mha_rope from src.positional_embeddings" diff --git a/src/positional_embeddings.py b/stripedhyena/positional_embeddings.py similarity index 100% rename from src/positional_embeddings.py rename to stripedhyena/positional_embeddings.py diff --git a/src/sample.py b/stripedhyena/sample.py similarity index 100% rename from src/sample.py rename to stripedhyena/sample.py diff --git a/src/tokenizer.py b/stripedhyena/tokenizer.py similarity index 100% rename from src/tokenizer.py rename to stripedhyena/tokenizer.py diff --git a/src/utils.py b/stripedhyena/utils.py similarity index 100% rename from src/utils.py rename to stripedhyena/utils.py diff --git a/test/test_backward.py b/test/test_backward.py index 3335d10..c9a5fed 100644 --- a/test/test_backward.py +++ b/test/test_backward.py @@ -4,7 +4,6 @@ import torch import torch.nn as nn import yaml - from src.layers import RMSNorm from src.model import StripedHyena from src.utils import dotdict diff --git a/test/test_forward.py b/test/test_forward.py index d6ac2a9..0d0e652 100644 --- a/test/test_forward.py +++ b/test/test_forward.py @@ -4,11 +4,10 @@ import torch import torch.nn as nn import yaml -from torch.autograd import grad - from src.layers import RMSNorm from src.model import StripedHyena from src.utils import dotdict +from torch.autograd import grad try: from flashfftconv import FlashFFTConv diff --git a/test/test_numerics.py b/test/test_numerics.py index cd02eba..53a4423 100644 --- a/test/test_numerics.py +++ b/test/test_numerics.py @@ -4,7 +4,6 @@ import torch import torch.nn as nn import yaml - from src.layers import RMSNorm from src.utils import dotdict diff --git a/test/test_prefill.py b/test/test_prefill.py index 9e539a2..af8f93b 100644 --- a/test/test_prefill.py +++ b/test/test_prefill.py @@ -4,7 +4,6 @@ import torch import torch.nn as nn import yaml - from src.layers import RMSNorm from src.model import StripedHyena from src.utils import dotdict