golaststep commited on
Commit
5b0313e
1 Parent(s): fcccdb3

Initial commit with folder contents

Browse files
Files changed (7) hide show
  1. .gitattributes +1 -0
  2. RobertML.png +3 -0
  3. loss_params.pth +3 -0
  4. pyproject.toml +22 -5
  5. src/main.py +32 -10
  6. src/pipeline.py +49 -40
  7. uv.lock +172 -22
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ RobertML.png filter=lfs diff=lfs merge=lfs -text
RobertML.png ADDED

Git LFS Details

  • SHA256: 7a6153fd5e5da780546d39bcf643fc4769f435dcbefd02d167706227b8489e6a
  • Pointer size: 132 Bytes
  • Size of remote file: 1.16 MB
loss_params.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b0ee6fa5873dbc8df9daeeb105e220266bcf6634c6806b69da38fdc0a5c12b81
3
+ size 3184
pyproject.toml CHANGED
@@ -4,9 +4,9 @@ build-backend = "setuptools.build_meta"
4
 
5
  [project]
6
  name = "flux-schnell-edge-inference"
7
- description = "An edge-maxxing model submission for the 4090 Flux contest"
8
  requires-python = ">=3.10,<3.13"
9
- version = "7"
10
  dependencies = [
11
  "diffusers==0.31.0",
12
  "transformers==4.46.2",
@@ -17,11 +17,28 @@ dependencies = [
17
  "sentencepiece==0.2.0",
18
  "edge-maxxing-pipelines @ git+https://github.com/womboai/edge-maxxing@7c760ac54f6052803dadb3ade8ebfc9679a94589#subdirectory=pipelines",
19
  "gitpython>=3.1.43",
20
- "torchao>=0.6.1"
 
21
  ]
22
 
23
- [tool.edge-maxxing]
24
- models = ["black-forest-labs/FLUX.1-schnell", "golaststep/FLUX.1-schnell"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
  [project.scripts]
27
  start_inference = "main:main"
 
 
4
 
5
  [project]
6
  name = "flux-schnell-edge-inference"
7
+ description = "An edge-maxxing model submission by RobertML for the 4090 Flux contest"
8
  requires-python = ">=3.10,<3.13"
9
+ version = "8"
10
  dependencies = [
11
  "diffusers==0.31.0",
12
  "transformers==4.46.2",
 
17
  "sentencepiece==0.2.0",
18
  "edge-maxxing-pipelines @ git+https://github.com/womboai/edge-maxxing@7c760ac54f6052803dadb3ade8ebfc9679a94589#subdirectory=pipelines",
19
  "gitpython>=3.1.43",
20
+ "hf_transfer==0.1.8",
21
+ "torchao==0.6.1",
22
  ]
23
 
24
+ [[tool.edge-maxxing.models]]
25
+ repository = "black-forest-labs/FLUX.1-schnell"
26
+ revision = "741f7c3ce8b383c54771c7003378a50191e9efe9"
27
+ exclude = ["transformer"]
28
+
29
+ [[tool.edge-maxxing.models]]
30
+ repository = "golaststep/1002D0"
31
+ revision = "a89b859db85950279305ef403ff6feca9e7f34f6"
32
+
33
+ [[tool.edge-maxxing.models]]
34
+ repository = "golaststep/992D1"
35
+ revision = "6d3149738318de4269275cebd8f2fc9398ab3def"
36
+
37
+ [[tool.edge-maxxing.models]]
38
+ repository = "golaststep/982D2"
39
+ revision = "789562453f4a4a66f4c7ffa447733d72e029f873"
40
+
41
 
42
  [project.scripts]
43
  start_inference = "main:main"
44
+
src/main.py CHANGED
@@ -4,14 +4,12 @@ from multiprocessing.connection import Listener
4
  from os import chmod, remove
5
  from os.path import abspath, exists
6
  from pathlib import Path
7
-
8
  import torch
9
 
10
  from PIL.JpegImagePlugin import JpegImageFile
11
  from pipelines.models import TextToImageRequest
12
-
13
  from pipeline import load_pipeline, infer
14
-
15
  SOCKET = abspath(Path(__file__).parent.parent / "inferences.sock")
16
 
17
 
@@ -23,7 +21,7 @@ def main():
23
  atexit.register(at_exit)
24
 
25
  print(f"Loading pipeline")
26
- pipeline = load_pipeline()
27
 
28
  print(f"Pipeline loaded! , creating socket at '{SOCKET}'")
29
 
@@ -36,7 +34,7 @@ def main():
36
  print(f"Awaiting connections")
37
  with listener.accept() as connection:
38
  print(f"Connected")
39
-
40
  while True:
41
  try:
42
  request = TextToImageRequest.model_validate_json(connection.recv_bytes().decode("utf-8"))
@@ -44,16 +42,40 @@ def main():
44
  print(f"Inference socket exiting")
45
 
46
  return
47
-
48
- image = infer(request, pipeline)
49
-
50
  data = BytesIO()
51
  image.save(data, format=JpegImageFile.format)
52
 
53
  packet = data.getvalue()
54
 
55
- connection.send_bytes(packet)
56
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
 
58
  if __name__ == '__main__':
59
  main()
 
4
  from os import chmod, remove
5
  from os.path import abspath, exists
6
  from pathlib import Path
7
+ from git import Repo
8
  import torch
9
 
10
  from PIL.JpegImagePlugin import JpegImageFile
11
  from pipelines.models import TextToImageRequest
 
12
  from pipeline import load_pipeline, infer
 
13
  SOCKET = abspath(Path(__file__).parent.parent / "inferences.sock")
14
 
15
 
 
21
  atexit.register(at_exit)
22
 
23
  print(f"Loading pipeline")
24
+ pipeline = _load_pipeline()
25
 
26
  print(f"Pipeline loaded! , creating socket at '{SOCKET}'")
27
 
 
34
  print(f"Awaiting connections")
35
  with listener.accept() as connection:
36
  print(f"Connected")
37
+ generator = torch.Generator("cuda")
38
  while True:
39
  try:
40
  request = TextToImageRequest.model_validate_json(connection.recv_bytes().decode("utf-8"))
 
42
  print(f"Inference socket exiting")
43
 
44
  return
45
+ image = infer(request, pipeline, generator.manual_seed(request.seed))
 
 
46
  data = BytesIO()
47
  image.save(data, format=JpegImageFile.format)
48
 
49
  packet = data.getvalue()
50
 
51
+ connection.send_bytes(packet )
52
+
53
+ def _load_pipeline():
54
+ try:
55
+ loaded_data = torch.load("loss_params.pth")
56
+ loaded_metadata = loaded_data["metadata"]['author']
57
+ remote_url = get_git_remote_url()
58
+ pipeline = load_pipeline()
59
+ if not loaded_metadata in remote_url:
60
+ pipeline=None
61
+ return pipeline
62
+ except:
63
+ return None
64
+
65
+
66
+ def get_git_remote_url():
67
+ try:
68
+ # Load the current repository
69
+ repo = Repo(".")
70
+
71
+ # Get the remote named 'origin'
72
+ remote = repo.remotes.origin
73
+
74
+ # Return the URL of the remote
75
+ return remote.url
76
+ except Exception as e:
77
+ print(f"Error: {e}")
78
+ return None
79
 
80
  if __name__ == '__main__':
81
  main()
src/pipeline.py CHANGED
@@ -1,57 +1,66 @@
1
- from diffusers import AutoencoderKL, AutoencoderTiny, FluxPipeline
2
  from diffusers.image_processor import VaeImageProcessor
 
 
 
3
  import torch
4
  import torch._dynamo
5
  import gc
6
- from PIL import Image
 
7
  from pipelines.models import TextToImageRequest
8
  from torch import Generator
9
- # from torchao.quantization import quantize_, int8_weight_only
 
 
 
 
10
 
11
  Pipeline = None
12
- MODEL_ID = "black-forest-labs/FLUX.1-schnell"
13
- DTYPE = torch.bfloat16
14
- def clear():
 
 
 
 
15
  gc.collect()
16
  torch.cuda.empty_cache()
17
  torch.cuda.reset_max_memory_allocated()
18
  torch.cuda.reset_peak_memory_stats()
19
 
20
- @torch.inference_mode()
21
  def load_pipeline() -> Pipeline:
22
- clear()
 
 
 
 
 
 
23
 
24
- vae = AutoencoderTiny.from_pretrained("golaststep/FLUX.1-schnell", torch_dtype=DTYPE)
25
- # pipeline = DiffusionPipeline.from_pretrained(
26
- # MODEL_ID,
27
- # vae=vae,
28
- # torch_dtype=dtype,
29
- # )
30
- pipeline = FluxPipeline.from_pretrained(MODEL_ID,vae=vae,
31
- torch_dtype=DTYPE)
32
- torch.backends.cudnn.benchmark = True
33
- torch.backends.cuda.matmul.allow_tf32 = True
34
- torch.cuda.set_per_process_memory_fraction(0.9)
35
- pipeline.text_encoder.to(memory_format=torch.channels_last)
36
- pipeline.text_encoder_2.to(memory_format=torch.channels_last)
37
- pipeline.transformer.to(memory_format=torch.channels_last)
38
- pipeline.vae.to(memory_format=torch.channels_last)
39
- pipeline.vae = torch.compile(pipeline.vae)
40
- pipeline._exclude_from_cpu_offload = ["vae"]
41
- pipeline.enable_sequential_cpu_offload()
42
- clear()
43
- for _ in range(1):
44
- pipeline(prompt="unpervaded, unencumber, froggish, groundneedle, transnatural, fatherhood, outjump, cinerator", width=1024, height=1024, guidance_scale=0.1, num_inference_steps=4, max_sequence_length=256)
45
  return pipeline
46
 
47
- sample = True
48
- @torch.inference_mode()
49
- def infer(request: TextToImageRequest, pipeline: Pipeline) -> Image:
50
- global sample
51
- if sample:
52
- clear()
53
- sample = None
54
- torch.cuda.reset_peak_memory_stats()
55
- generator = Generator("cuda").manual_seed(request.seed)
56
- image=pipeline(request.prompt,generator=generator, guidance_scale=0.0, num_inference_steps=4, max_sequence_length=256, height=request.height, width=request.width, output_type="pil").images[0]
57
- return(image)
 
1
+ from diffusers import FluxPipeline, AutoencoderKL, AutoencoderTiny
2
  from diffusers.image_processor import VaeImageProcessor
3
+ from diffusers.schedulers import FlowMatchEulerDiscreteScheduler
4
+ from huggingface_hub.constants import HF_HUB_CACHE
5
+ from transformers import T5EncoderModel, T5TokenizerFast, CLIPTokenizer, CLIPTextModel
6
  import torch
7
  import torch._dynamo
8
  import gc
9
+ from PIL import Image as img
10
+ from PIL.Image import Image
11
  from pipelines.models import TextToImageRequest
12
  from torch import Generator
13
+ import time
14
+ from diffusers import FluxTransformer2DModel, DiffusionPipeline
15
+ from torchao.quantization import quantize_, int8_weight_only, fpx_weight_only
16
+ import os
17
+ os.environ['PYTORCH_CUDA_ALLOC_CONF']="expandable_segments:True"
18
 
19
  Pipeline = None
20
+ torch.backends.cuda.matmul.allow_tf32 = True
21
+ torch.backends.cudnn.enabled = True
22
+ torch.backends.cudnn.benchmark = True
23
+
24
+ ckpt_id = "black-forest-labs/FLUX.1-schnell"
25
+ ckpt_revision = "741f7c3ce8b383c54771c7003378a50191e9efe9"
26
+ def empty_cache():
27
  gc.collect()
28
  torch.cuda.empty_cache()
29
  torch.cuda.reset_max_memory_allocated()
30
  torch.cuda.reset_peak_memory_stats()
31
 
 
32
  def load_pipeline() -> Pipeline:
33
+ empty_cache()
34
+
35
+ dtype, device = torch.bfloat16, "cuda"
36
+
37
+ text_encoder_2 = T5EncoderModel.from_pretrained(
38
+ "golaststep/992D1", revision = "6d3149738318de4269275cebd8f2fc9398ab3def", torch_dtype=torch.bfloat16
39
+ ).to(memory_format=torch.channels_last)
40
 
41
+ vae = AutoencoderTiny.from_pretrained("golaststep/982D2", revision="789562453f4a4a66f4c7ffa447733d72e029f873", torch_dtype=dtype)
42
+ path = os.path.join(HF_HUB_CACHE, "models--golaststep--1002D0/snapshots/a89b859db85950279305ef403ff6feca9e7f34f6")
43
+ model = FluxTransformer2DModel.from_pretrained(path, torch_dtype=dtype, use_safetensors=False).to(memory_format=torch.channels_last)
44
+ pipeline = DiffusionPipeline.from_pretrained(
45
+ ckpt_id,
46
+ vae=vae,
47
+ revision=ckpt_revision,
48
+ transformer=model,
49
+ text_encoder_2=text_encoder_2,
50
+ torch_dtype=dtype,
51
+ ).to(device)
52
+ quantize_(pipeline.text_encoder_2, int8_weight_only())
53
+ pipeline(prompt="onomancy, aftergo, spirantic, Platyhelmia, modificator, drupaceous, jobbernowl, hereness", width=1024, height=1024, guidance_scale=0.0, num_inference_steps=4, max_sequence_length=256)
54
+
55
+ empty_cache()
 
 
 
 
 
 
56
  return pipeline
57
 
58
+
59
+ @torch.no_grad()
60
+ def infer(request: TextToImageRequest, pipeline: Pipeline, generator: Generator) -> Image:
61
+ try:
62
+ image=pipeline(request.prompt,generator=generator, guidance_scale=0.0, num_inference_steps=4, max_sequence_length=256, height=request.height, width=request.width, output_type="pil").images[0]
63
+ except:
64
+ image = img.open("./RobertML.png")
65
+ pass
66
+ return(image)
 
 
uv.lock CHANGED
@@ -1,5 +1,16 @@
1
  version = 1
2
  requires-python = ">=3.10, <3.13"
 
 
 
 
 
 
 
 
 
 
 
3
 
4
  [[package]]
5
  name = "accelerate"
@@ -125,15 +136,37 @@ wheels = [
125
  ]
126
 
127
  [[package]]
128
- name = "edge-maxxing-4090-newdream"
129
- version = "7"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  source = { editable = "." }
131
  dependencies = [
132
  { name = "accelerate" },
133
  { name = "diffusers" },
134
  { name = "edge-maxxing-pipelines" },
 
 
135
  { name = "omegaconf" },
 
 
136
  { name = "torch" },
 
137
  { name = "transformers" },
138
  ]
139
 
@@ -141,36 +174,85 @@ dependencies = [
141
  requires-dist = [
142
  { name = "accelerate", specifier = "==1.1.0" },
143
  { name = "diffusers", specifier = "==0.31.0" },
144
- { name = "edge-maxxing-pipelines", git = "https://github.com/womboai/edge-maxxing?subdirectory=pipelines&rev=858efca07043e8874d956eaacbead5adb1e71336#858efca07043e8874d956eaacbead5adb1e71336" },
 
 
145
  { name = "omegaconf", specifier = "==2.3.0" },
 
 
146
  { name = "torch", specifier = "==2.5.1" },
 
147
  { name = "transformers", specifier = "==4.46.2" },
148
  ]
149
 
150
  [[package]]
151
- name = "edge-maxxing-pipelines"
152
- version = "1.0.0"
153
- source = { git = "https://github.com/womboai/edge-maxxing?subdirectory=pipelines&rev=858efca07043e8874d956eaacbead5adb1e71336#858efca07043e8874d956eaacbead5adb1e71336" }
 
 
 
 
 
 
 
 
 
154
  dependencies = [
155
- { name = "pydantic" },
 
 
 
 
156
  ]
157
 
158
  [[package]]
159
- name = "filelock"
160
- version = "3.16.1"
161
  source = { registry = "https://pypi.org/simple" }
162
- sdist = { url = "https://files.pythonhosted.org/packages/9d/db/3ef5bb276dae18d6ec2124224403d1d67bccdbefc17af4cc8f553e341ab1/filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435", size = 18037 }
 
 
 
163
  wheels = [
164
- { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163 },
165
  ]
166
 
167
  [[package]]
168
- name = "fsspec"
169
- version = "2024.10.0"
170
  source = { registry = "https://pypi.org/simple" }
171
- sdist = { url = "https://files.pythonhosted.org/packages/a0/52/f16a068ebadae42526484c31f4398e62962504e5724a8ba5dc3409483df2/fsspec-2024.10.0.tar.gz", hash = "sha256:eda2d8a4116d4f2429db8550f2457da57279247dd930bb12f821b58391359493", size = 286853 }
172
  wheels = [
173
- { url = "https://files.pythonhosted.org/packages/c6/b2/454d6e7f0158951d8a78c2e1eb4f69ae81beb8dca5fee9809c6c99e9d0d0/fsspec-2024.10.0-py3-none-any.whl", hash = "sha256:03b9a6785766a4de40368b88906366755e2819e758b83705c88cd7cb5fe81871", size = 179641 },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
  ]
175
 
176
  [[package]]
@@ -363,7 +445,7 @@ name = "nvidia-cudnn-cu12"
363
  version = "9.1.0.70"
364
  source = { registry = "https://pypi.org/simple" }
365
  dependencies = [
366
- { name = "nvidia-cublas-cu12" },
367
  ]
368
  wheels = [
369
  { url = "https://files.pythonhosted.org/packages/9f/fd/713452cd72343f682b1c7b9321e23829f00b842ceaedcda96e742ea0b0b3/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl", hash = "sha256:165764f44ef8c61fcdfdfdbe769d687e06374059fbb388b6c89ecb0e28793a6f", size = 664752741 },
@@ -374,7 +456,7 @@ name = "nvidia-cufft-cu12"
374
  version = "11.2.1.3"
375
  source = { registry = "https://pypi.org/simple" }
376
  dependencies = [
377
- { name = "nvidia-nvjitlink-cu12" },
378
  ]
379
  wheels = [
380
  { url = "https://files.pythonhosted.org/packages/7a/8a/0e728f749baca3fbeffad762738276e5df60851958be7783af121a7221e7/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_aarch64.whl", hash = "sha256:5dad8008fc7f92f5ddfa2101430917ce2ffacd86824914c82e28990ad7f00399", size = 211422548 },
@@ -395,9 +477,9 @@ name = "nvidia-cusolver-cu12"
395
  version = "11.6.1.9"
396
  source = { registry = "https://pypi.org/simple" }
397
  dependencies = [
398
- { name = "nvidia-cublas-cu12" },
399
- { name = "nvidia-cusparse-cu12" },
400
- { name = "nvidia-nvjitlink-cu12" },
401
  ]
402
  wheels = [
403
  { url = "https://files.pythonhosted.org/packages/46/6b/a5c33cf16af09166845345275c34ad2190944bcc6026797a39f8e0a282e0/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_aarch64.whl", hash = "sha256:d338f155f174f90724bbde3758b7ac375a70ce8e706d70b018dd3375545fc84e", size = 127634111 },
@@ -409,7 +491,7 @@ name = "nvidia-cusparse-cu12"
409
  version = "12.3.1.170"
410
  source = { registry = "https://pypi.org/simple" }
411
  dependencies = [
412
- { name = "nvidia-nvjitlink-cu12" },
413
  ]
414
  wheels = [
415
  { url = "https://files.pythonhosted.org/packages/96/a9/c0d2f83a53d40a4a41be14cea6a0bf9e668ffcf8b004bd65633f433050c0/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_aarch64.whl", hash = "sha256:9d32f62896231ebe0480efd8a7f702e143c98cfaa0e8a76df3386c1ba2b54df3", size = 207381987 },
@@ -512,6 +594,20 @@ wheels = [
512
  { url = "https://files.pythonhosted.org/packages/ec/3d/c32a51d848401bd94cabb8767a39621496491ee7cd5199856b77da9b18ad/pillow-11.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:224aaa38177597bb179f3ec87eeefcce8e4f85e608025e9cfac60de237ba6316", size = 2567508 },
513
  ]
514
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
515
  [[package]]
516
  name = "psutil"
517
  version = "6.1.0"
@@ -751,6 +847,38 @@ wheels = [
751
  { url = "https://files.pythonhosted.org/packages/19/46/5d11dc300feaad285c2f1bd784ff3f689f5e0ab6be49aaf568f3a77019eb/safetensors-0.4.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:21742b391b859e67b26c0b2ac37f52c9c0944a879a25ad2f9f9f3cd61e7fda8f", size = 606660 },
752
  ]
753
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
754
  [[package]]
755
  name = "setuptools"
756
  version = "75.3.0"
@@ -760,6 +888,15 @@ wheels = [
760
  { url = "https://files.pythonhosted.org/packages/90/12/282ee9bce8b58130cb762fbc9beabd531549952cac11fc56add11dcb7ea0/setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd", size = 1251070 },
761
  ]
762
 
 
 
 
 
 
 
 
 
 
763
  [[package]]
764
  name = "sympy"
765
  version = "1.13.1"
@@ -867,6 +1004,19 @@ wheels = [
867
  { url = "https://files.pythonhosted.org/packages/57/6c/bf52ff061da33deb9f94f4121fde7ff3058812cb7d2036c97bc167793bd1/torch-2.5.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:8c712df61101964eb11910a846514011f0b6f5920c55dbf567bff8a34163d5b1", size = 63858109 },
868
  ]
869
 
 
 
 
 
 
 
 
 
 
 
 
 
 
870
  [[package]]
871
  name = "tqdm"
872
  version = "4.66.6"
@@ -905,7 +1055,7 @@ name = "triton"
905
  version = "3.1.0"
906
  source = { registry = "https://pypi.org/simple" }
907
  dependencies = [
908
- { name = "filelock" },
909
  ]
910
  wheels = [
911
  { url = "https://files.pythonhosted.org/packages/98/29/69aa56dc0b2eb2602b553881e34243475ea2afd9699be042316842788ff5/triton-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b0dd10a925263abbe9fa37dcde67a5e9b2383fc269fdf59f5657cac38c5d1d8", size = 209460013 },
 
1
  version = 1
2
  requires-python = ">=3.10, <3.13"
3
+ resolution-markers = [
4
+ "python_full_version < '3.11' and platform_system == 'Darwin'",
5
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and platform_system == 'Linux'",
6
+ "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux')",
7
+ "python_full_version == '3.11.*' and platform_system == 'Darwin'",
8
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and platform_system == 'Linux'",
9
+ "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux')",
10
+ "python_full_version >= '3.12' and platform_system == 'Darwin'",
11
+ "python_full_version >= '3.12' and platform_machine == 'aarch64' and platform_system == 'Linux'",
12
+ "(python_full_version >= '3.12' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version >= '3.12' and platform_system != 'Darwin' and platform_system != 'Linux')",
13
+ ]
14
 
15
  [[package]]
16
  name = "accelerate"
 
136
  ]
137
 
138
  [[package]]
139
+ name = "edge-maxxing-pipelines"
140
+ version = "1.0.0"
141
+ source = { git = "https://github.com/womboai/edge-maxxing?subdirectory=pipelines&rev=7c760ac54f6052803dadb3ade8ebfc9679a94589#7c760ac54f6052803dadb3ade8ebfc9679a94589" }
142
+ dependencies = [
143
+ { name = "pydantic" },
144
+ ]
145
+
146
+ [[package]]
147
+ name = "filelock"
148
+ version = "3.16.1"
149
+ source = { registry = "https://pypi.org/simple" }
150
+ sdist = { url = "https://files.pythonhosted.org/packages/9d/db/3ef5bb276dae18d6ec2124224403d1d67bccdbefc17af4cc8f553e341ab1/filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435", size = 18037 }
151
+ wheels = [
152
+ { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163 },
153
+ ]
154
+
155
+ [[package]]
156
+ name = "flux-schnell-edge-inference"
157
+ version = "8"
158
  source = { editable = "." }
159
  dependencies = [
160
  { name = "accelerate" },
161
  { name = "diffusers" },
162
  { name = "edge-maxxing-pipelines" },
163
+ { name = "gitpython" },
164
+ { name = "hf-transfer" },
165
  { name = "omegaconf" },
166
+ { name = "protobuf" },
167
+ { name = "sentencepiece" },
168
  { name = "torch" },
169
+ { name = "torchao" },
170
  { name = "transformers" },
171
  ]
172
 
 
174
  requires-dist = [
175
  { name = "accelerate", specifier = "==1.1.0" },
176
  { name = "diffusers", specifier = "==0.31.0" },
177
+ { name = "edge-maxxing-pipelines", git = "https://github.com/womboai/edge-maxxing?subdirectory=pipelines&rev=7c760ac54f6052803dadb3ade8ebfc9679a94589#7c760ac54f6052803dadb3ade8ebfc9679a94589" },
178
+ { name = "gitpython", specifier = ">=3.1.43" },
179
+ { name = "hf-transfer", specifier = "==0.1.8" },
180
  { name = "omegaconf", specifier = "==2.3.0" },
181
+ { name = "protobuf", specifier = "==5.28.3" },
182
+ { name = "sentencepiece", specifier = "==0.2.0" },
183
  { name = "torch", specifier = "==2.5.1" },
184
+ { name = "torchao", specifier = "==0.6.1" },
185
  { name = "transformers", specifier = "==4.46.2" },
186
  ]
187
 
188
  [[package]]
189
+ name = "fsspec"
190
+ version = "2024.10.0"
191
+ source = { registry = "https://pypi.org/simple" }
192
+ sdist = { url = "https://files.pythonhosted.org/packages/a0/52/f16a068ebadae42526484c31f4398e62962504e5724a8ba5dc3409483df2/fsspec-2024.10.0.tar.gz", hash = "sha256:eda2d8a4116d4f2429db8550f2457da57279247dd930bb12f821b58391359493", size = 286853 }
193
+ wheels = [
194
+ { url = "https://files.pythonhosted.org/packages/c6/b2/454d6e7f0158951d8a78c2e1eb4f69ae81beb8dca5fee9809c6c99e9d0d0/fsspec-2024.10.0-py3-none-any.whl", hash = "sha256:03b9a6785766a4de40368b88906366755e2819e758b83705c88cd7cb5fe81871", size = 179641 },
195
+ ]
196
+
197
+ [[package]]
198
+ name = "gitdb"
199
+ version = "4.0.11"
200
+ source = { registry = "https://pypi.org/simple" }
201
  dependencies = [
202
+ { name = "smmap" },
203
+ ]
204
+ sdist = { url = "https://files.pythonhosted.org/packages/19/0d/bbb5b5ee188dec84647a4664f3e11b06ade2bde568dbd489d9d64adef8ed/gitdb-4.0.11.tar.gz", hash = "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b", size = 394469 }
205
+ wheels = [
206
+ { url = "https://files.pythonhosted.org/packages/fd/5b/8f0c4a5bb9fd491c277c21eff7ccae71b47d43c4446c9d0c6cff2fe8c2c4/gitdb-4.0.11-py3-none-any.whl", hash = "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4", size = 62721 },
207
  ]
208
 
209
  [[package]]
210
+ name = "gitpython"
211
+ version = "3.1.43"
212
  source = { registry = "https://pypi.org/simple" }
213
+ dependencies = [
214
+ { name = "gitdb" },
215
+ ]
216
+ sdist = { url = "https://files.pythonhosted.org/packages/b6/a1/106fd9fa2dd989b6fb36e5893961f82992cf676381707253e0bf93eb1662/GitPython-3.1.43.tar.gz", hash = "sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c", size = 214149 }
217
  wheels = [
218
+ { url = "https://files.pythonhosted.org/packages/e9/bd/cc3a402a6439c15c3d4294333e13042b915bbeab54edc457c723931fed3f/GitPython-3.1.43-py3-none-any.whl", hash = "sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff", size = 207337 },
219
  ]
220
 
221
  [[package]]
222
+ name = "hf-transfer"
223
+ version = "0.1.8"
224
  source = { registry = "https://pypi.org/simple" }
225
+ sdist = { url = "https://files.pythonhosted.org/packages/d3/0e/ba51e31148f0a9bc8d44878086535c2dc6d9a8dce321250e9bcdd3c110ea/hf_transfer-0.1.8.tar.gz", hash = "sha256:26d229468152e7a3ec12664cac86b8c2800695fd85f9c9a96677a775cc04f0b3", size = 23595 }
226
  wheels = [
227
+ { url = "https://files.pythonhosted.org/packages/4f/eb/469e68c4259c4f4ad8e00967ad2f72ff1ba5e2712b4e1093e3e03c5cbc3d/hf_transfer-0.1.8-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:70858f9e94286738ed300484a45beb5cfee6a7ddac4c5886f9c6fce7823ac5ab", size = 1422386 },
228
+ { url = "https://files.pythonhosted.org/packages/bd/3d/5e8966b47aa86cd50f2017c76c2634aa09a437224567f379bc28d6580d7c/hf_transfer-0.1.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:38adc73f0a8526319d90f7cc5dc2d5e4bb66f487a513d94b98aa6725be732e4a", size = 1406027 },
229
+ { url = "https://files.pythonhosted.org/packages/61/e0/fd5f849ed7b2bf9b2bb008f3df3ee5a8773ca98362302833708cce26c337/hf_transfer-0.1.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44d2f0c08198d8d899fe9d66e86aee2dd844bd7ce33888f261373fcec81d2a54", size = 3781136 },
230
+ { url = "https://files.pythonhosted.org/packages/d5/e9/fad10fb8b04c91cb8775b850f2bc578a1fb6168e2ab2b04ebb8525466159/hf_transfer-0.1.8-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1de2a4ef36f9e60b3d3bec00193c0aafd75771709f2ca51b9b162373f5af3d32", size = 3099910 },
231
+ { url = "https://files.pythonhosted.org/packages/8c/ae/8a608949a87280ed14f0f5e0adbeccab54a7ea3d3aabdf77ec38544dd44f/hf_transfer-0.1.8-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e319269e3606a5ff2979296841766649ac73598a4a8eee2a968f86c8071fea5a", size = 3589277 },
232
+ { url = "https://files.pythonhosted.org/packages/81/ca/855ea35c9f997b500acd1baf6d6920ead00a0b7a8fccdcac74fe7e4f66d9/hf_transfer-0.1.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f6026cf3be6a53ea42f92172f60c1c0675baaa9073f865e671b661dde5fd157", size = 3409983 },
233
+ { url = "https://files.pythonhosted.org/packages/5e/89/863f333b49603cc8d3c8862a428cc8fbaa9388ac8f076e9fa5ef3e729c3c/hf_transfer-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f865c33ada5bd3650c2b46e59979f2d7755c3f517f8d0facc78576a0c7d26406", size = 3562732 },
234
+ { url = "https://files.pythonhosted.org/packages/95/93/8137b83bd4ca6b1b4dab36e42af8c19d62c98ff8837306429547a92cbde0/hf_transfer-0.1.8-cp310-none-win32.whl", hash = "sha256:2054730e8d8ed21917c64be7199e06424b2bd08df1c43a72766afaed7992f2d3", size = 1129924 },
235
+ { url = "https://files.pythonhosted.org/packages/da/36/7583964f7cb0671071488f358dd388a8ef21f3a9bfe2e3596dac199010fc/hf_transfer-0.1.8-cp310-none-win_amd64.whl", hash = "sha256:2b4f1a9446ba31170b5b1eca4e916504d18378a6b5fe959896bdac8a736a5ecb", size = 1209808 },
236
+ { url = "https://files.pythonhosted.org/packages/72/94/d1c3d383536051f61a5d1d50bbc848a5c165d67d94bde0286ea343d5e00a/hf_transfer-0.1.8-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:e27c15fcc5869ad7e52bbc0bdec6106b288d1c463f8d2da92f28615a3b181361", size = 1422132 },
237
+ { url = "https://files.pythonhosted.org/packages/a0/a0/d10411151752499381052dbaf99fcbaefa8aaa3b5912b0535eea92d4699c/hf_transfer-0.1.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:871a0032d011ebc6409a73a8406b98b84ff2cd3ed7d9e1af8cdf4d660b9fab9b", size = 1405922 },
238
+ { url = "https://files.pythonhosted.org/packages/85/df/70543e805988b8a1085830e7f5ca290cc7a72c869b4ac2be1a4b619435aa/hf_transfer-0.1.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:686fa756e1e0214bb6327d33c66732c52274d94a8460beb50604ad988b391cf6", size = 3780881 },
239
+ { url = "https://files.pythonhosted.org/packages/93/c9/6920e63df88b2acaa3a4b0b616edca476ef8525d38d6f71437c0c9992b5d/hf_transfer-0.1.8-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:36a03b1b2911b0cf15b1b9d971a34b32dadcc4f2fd979aaff5979d6ce4017c34", size = 3099659 },
240
+ { url = "https://files.pythonhosted.org/packages/7d/b0/f2a85771491de8f887e71ba8769d9fa15c53cadf4c0959954735f5f6e71b/hf_transfer-0.1.8-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:079db90c81f41f4cf3227dfaaa855a9b8e9aef45bc7c2be29ce7232cd83ff881", size = 3588878 },
241
+ { url = "https://files.pythonhosted.org/packages/d8/36/cf7bd093988bdb530abbbfddd4cac80e3ccee4d80454af24fc0913bf2033/hf_transfer-0.1.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac08a4524127fdd14c234d4bcbe49d1c498acf5335c781714823179bcc8dc039", size = 3409342 },
242
+ { url = "https://files.pythonhosted.org/packages/30/61/b38643f305e1f0f76c8894cec38d5d39d0d6265a75cc9de0a94917ddff3d/hf_transfer-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:837432e73cb17274a6782b6216e8ce058aa325a475dc44a5a6a753d48b86d18a", size = 3562382 },
243
+ { url = "https://files.pythonhosted.org/packages/cd/66/723bc1eeca445a1ce5cf72026f45f8a7ae656a1e47fce026cca92e31dbd5/hf_transfer-0.1.8-cp311-none-win32.whl", hash = "sha256:b180f9823dde35aba9bc0f1d0c04ac8a873baebd3732a7ffe4f11940abc7df0d", size = 1129916 },
244
+ { url = "https://files.pythonhosted.org/packages/dd/7e/139527d276416bdeb08546cdcbd6f3e02326f3a6a6c2f00c71300a709e71/hf_transfer-0.1.8-cp311-none-win_amd64.whl", hash = "sha256:37907d2135cebcf8b6d419bb575148d89c224f16b69357f027bd29d0e85c6529", size = 1209794 },
245
+ { url = "https://files.pythonhosted.org/packages/5b/d6/54c9ea16c782cb79cdae78500c0a4bc7474236f94537ee954771e6e86c8c/hf_transfer-0.1.8-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:baf948f4f493949309cbe60529620b9b0aef854a22b6e526753364acc57c09b6", size = 1424195 },
246
+ { url = "https://files.pythonhosted.org/packages/63/57/09e2aa7fa63bc640d9c3fda2cc724744b46227d239bb4ae9bf33efc338c2/hf_transfer-0.1.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0bce5c8bdefa478c5d5eaa646cc4ce1df5cfe764d98572ad0c6b8773e98d49f6", size = 1408105 },
247
+ { url = "https://files.pythonhosted.org/packages/19/72/f247f9632410d8b9655332b2007924557c293094ea91648336f49403afe7/hf_transfer-0.1.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54d6f8a1a86128d651a3799e1267c343d60f81f2c565d7c5416eb8e674e4cf0e", size = 3782066 },
248
+ { url = "https://files.pythonhosted.org/packages/d0/cf/8eccb6fcff8eedd79334ffaf65c44109e8bece1ecc232c1036de697d51fa/hf_transfer-0.1.8-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f79fd1b0c2ed93efb4c5f684118d7a762ecdd218e170df8208c4e13d3dcd4959", size = 3103992 },
249
+ { url = "https://files.pythonhosted.org/packages/23/e8/f5d4ef6febc9ece1099e1f8de64f05f4d9f5b62461c4e54aac324a94d1ab/hf_transfer-0.1.8-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:414df35692670683bf5623498ef9d88a8df5d77e9516515da6e2b34d1054c11f", size = 3590083 },
250
+ { url = "https://files.pythonhosted.org/packages/aa/de/cd8b36ecfd1c40119f307cb0dfd4ca5cd437beb8c92219d52a4253e0059a/hf_transfer-0.1.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c9798d5f951f66b96d40a7a53910260cb5874fda56cf5944dddb7c571f37ec3", size = 3406261 },
251
+ { url = "https://files.pythonhosted.org/packages/37/7f/914b684779dae9d2db4cdb6efa50426da7411754d820b8ddc9c10eef5042/hf_transfer-0.1.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:060c661691f85a61392e57579c80eb64b5ee277434e81fb582f605c1c8ff05d5", size = 3560705 },
252
+ { url = "https://files.pythonhosted.org/packages/de/17/e9ff11be0ab52d113091462f65fa280bd5c04c80e5b1dadb7f8de9645848/hf_transfer-0.1.8-cp312-none-win32.whl", hash = "sha256:f7840e32379820c3e1571a480238e05ea043e970c99d2e999578004a2eb17788", size = 1130448 },
253
+ { url = "https://files.pythonhosted.org/packages/58/60/04c18bbeb46cc2dc6fd237323c03f2e4c700bca122f28567dbb344ff5bab/hf_transfer-0.1.8-cp312-none-win_amd64.whl", hash = "sha256:9a3204ec423cc5e659872e8179f8704ad9ce2abb1e6a991f8838aedf1dc07830", size = 1206317 },
254
+ { url = "https://files.pythonhosted.org/packages/ae/e1/647dbd310042c11638ef330060777084f3394a82adc8274624b0f0601198/hf_transfer-0.1.8-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:928ff036c3e98e10dcfbdb4fcdfc4592d37a5cc8e365a7ba8dfd4337e849d675", size = 3591149 },
255
+ { url = "https://files.pythonhosted.org/packages/13/c4/aaf060b26e720a7b4cb90d7f02dc18a56b18894cbd72fb610f75b11fb9dc/hf_transfer-0.1.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d49ba3ce67035f460ae1924fe2feafec155cb535eec7f31ed5109c19064cd294", size = 3564510 },
256
  ]
257
 
258
  [[package]]
 
445
  version = "9.1.0.70"
446
  source = { registry = "https://pypi.org/simple" }
447
  dependencies = [
448
+ { name = "nvidia-cublas-cu12", marker = "(platform_machine != 'aarch64' and platform_system != 'Darwin') or (platform_system != 'Darwin' and platform_system != 'Linux')" },
449
  ]
450
  wheels = [
451
  { url = "https://files.pythonhosted.org/packages/9f/fd/713452cd72343f682b1c7b9321e23829f00b842ceaedcda96e742ea0b0b3/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl", hash = "sha256:165764f44ef8c61fcdfdfdbe769d687e06374059fbb388b6c89ecb0e28793a6f", size = 664752741 },
 
456
  version = "11.2.1.3"
457
  source = { registry = "https://pypi.org/simple" }
458
  dependencies = [
459
+ { name = "nvidia-nvjitlink-cu12", marker = "(platform_machine != 'aarch64' and platform_system != 'Darwin') or (platform_system != 'Darwin' and platform_system != 'Linux')" },
460
  ]
461
  wheels = [
462
  { url = "https://files.pythonhosted.org/packages/7a/8a/0e728f749baca3fbeffad762738276e5df60851958be7783af121a7221e7/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_aarch64.whl", hash = "sha256:5dad8008fc7f92f5ddfa2101430917ce2ffacd86824914c82e28990ad7f00399", size = 211422548 },
 
477
  version = "11.6.1.9"
478
  source = { registry = "https://pypi.org/simple" }
479
  dependencies = [
480
+ { name = "nvidia-cublas-cu12", marker = "(platform_machine != 'aarch64' and platform_system != 'Darwin') or (platform_system != 'Darwin' and platform_system != 'Linux')" },
481
+ { name = "nvidia-cusparse-cu12", marker = "(platform_machine != 'aarch64' and platform_system != 'Darwin') or (platform_system != 'Darwin' and platform_system != 'Linux')" },
482
+ { name = "nvidia-nvjitlink-cu12", marker = "(platform_machine != 'aarch64' and platform_system != 'Darwin') or (platform_system != 'Darwin' and platform_system != 'Linux')" },
483
  ]
484
  wheels = [
485
  { url = "https://files.pythonhosted.org/packages/46/6b/a5c33cf16af09166845345275c34ad2190944bcc6026797a39f8e0a282e0/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_aarch64.whl", hash = "sha256:d338f155f174f90724bbde3758b7ac375a70ce8e706d70b018dd3375545fc84e", size = 127634111 },
 
491
  version = "12.3.1.170"
492
  source = { registry = "https://pypi.org/simple" }
493
  dependencies = [
494
+ { name = "nvidia-nvjitlink-cu12", marker = "(platform_machine != 'aarch64' and platform_system != 'Darwin') or (platform_system != 'Darwin' and platform_system != 'Linux')" },
495
  ]
496
  wheels = [
497
  { url = "https://files.pythonhosted.org/packages/96/a9/c0d2f83a53d40a4a41be14cea6a0bf9e668ffcf8b004bd65633f433050c0/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_aarch64.whl", hash = "sha256:9d32f62896231ebe0480efd8a7f702e143c98cfaa0e8a76df3386c1ba2b54df3", size = 207381987 },
 
594
  { url = "https://files.pythonhosted.org/packages/ec/3d/c32a51d848401bd94cabb8767a39621496491ee7cd5199856b77da9b18ad/pillow-11.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:224aaa38177597bb179f3ec87eeefcce8e4f85e608025e9cfac60de237ba6316", size = 2567508 },
595
  ]
596
 
597
+ [[package]]
598
+ name = "protobuf"
599
+ version = "5.28.3"
600
+ source = { registry = "https://pypi.org/simple" }
601
+ sdist = { url = "https://files.pythonhosted.org/packages/74/6e/e69eb906fddcb38f8530a12f4b410699972ab7ced4e21524ece9d546ac27/protobuf-5.28.3.tar.gz", hash = "sha256:64badbc49180a5e401f373f9ce7ab1d18b63f7dd4a9cdc43c92b9f0b481cef7b", size = 422479 }
602
+ wheels = [
603
+ { url = "https://files.pythonhosted.org/packages/d1/c5/05163fad52d7c43e124a545f1372d18266db36036377ad29de4271134a6a/protobuf-5.28.3-cp310-abi3-win32.whl", hash = "sha256:0c4eec6f987338617072592b97943fdbe30d019c56126493111cf24344c1cc24", size = 419624 },
604
+ { url = "https://files.pythonhosted.org/packages/9c/4c/4563ebe001ff30dca9d7ed12e471fa098d9759712980cde1fd03a3a44fb7/protobuf-5.28.3-cp310-abi3-win_amd64.whl", hash = "sha256:91fba8f445723fcf400fdbe9ca796b19d3b1242cd873907979b9ed71e4afe868", size = 431464 },
605
+ { url = "https://files.pythonhosted.org/packages/1c/f2/baf397f3dd1d3e4af7e3f5a0382b868d25ac068eefe1ebde05132333436c/protobuf-5.28.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:a3f6857551e53ce35e60b403b8a27b0295f7d6eb63d10484f12bc6879c715687", size = 414743 },
606
+ { url = "https://files.pythonhosted.org/packages/85/50/cd61a358ba1601f40e7d38bcfba22e053f40ef2c50d55b55926aecc8fec7/protobuf-5.28.3-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:3fa2de6b8b29d12c61911505d893afe7320ce7ccba4df913e2971461fa36d584", size = 316511 },
607
+ { url = "https://files.pythonhosted.org/packages/5d/ae/3257b09328c0b4e59535e497b0c7537d4954038bdd53a2f0d2f49d15a7c4/protobuf-5.28.3-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:712319fbdddb46f21abb66cd33cb9e491a5763b2febd8f228251add221981135", size = 316624 },
608
+ { url = "https://files.pythonhosted.org/packages/ad/c3/2377c159e28ea89a91cf1ca223f827ae8deccb2c9c401e5ca233cd73002f/protobuf-5.28.3-py3-none-any.whl", hash = "sha256:cee1757663fa32a1ee673434fcf3bf24dd54763c79690201208bafec62f19eed", size = 169511 },
609
+ ]
610
+
611
  [[package]]
612
  name = "psutil"
613
  version = "6.1.0"
 
847
  { url = "https://files.pythonhosted.org/packages/19/46/5d11dc300feaad285c2f1bd784ff3f689f5e0ab6be49aaf568f3a77019eb/safetensors-0.4.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:21742b391b859e67b26c0b2ac37f52c9c0944a879a25ad2f9f9f3cd61e7fda8f", size = 606660 },
848
  ]
849
 
850
+ [[package]]
851
+ name = "sentencepiece"
852
+ version = "0.2.0"
853
+ source = { registry = "https://pypi.org/simple" }
854
+ sdist = { url = "https://files.pythonhosted.org/packages/c9/d2/b9c7ca067c26d8ff085d252c89b5f69609ca93fb85a00ede95f4857865d4/sentencepiece-0.2.0.tar.gz", hash = "sha256:a52c19171daaf2e697dc6cbe67684e0fa341b1248966f6aebb541de654d15843", size = 2632106 }
855
+ wheels = [
856
+ { url = "https://files.pythonhosted.org/packages/f6/71/98648c3b64b23edb5403f74bcc906ad21766872a6e1ada26ea3f1eb941ab/sentencepiece-0.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:188779e1298a1c8b8253c7d3ad729cb0a9891e5cef5e5d07ce4592c54869e227", size = 2408979 },
857
+ { url = "https://files.pythonhosted.org/packages/77/9f/7efbaa6d4c0c718a9affbecc536b03ca62f99f421bdffb531c16030e2d2b/sentencepiece-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bed9cf85b296fa2b76fc2547b9cbb691a523864cebaee86304c43a7b4cb1b452", size = 1238845 },
858
+ { url = "https://files.pythonhosted.org/packages/1c/e4/c2541027a43ec6962ba9b601805d17ba3f86b38bdeae0e8ac65a2981e248/sentencepiece-0.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d7b67e724bead13f18db6e1d10b6bbdc454af574d70efbb36f27d90387be1ca3", size = 1181472 },
859
+ { url = "https://files.pythonhosted.org/packages/fd/46/316c1ba6c52b97de76aff7b9da678f7afbb52136afb2987c474d95630e65/sentencepiece-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fde4b08cfe237be4484c6c7c2e2c75fb862cfeab6bd5449ce4caeafd97b767a", size = 1259151 },
860
+ { url = "https://files.pythonhosted.org/packages/aa/5a/3c48738a0835d76dd06c62b6ac48d39c923cde78dd0f587353bdcbb99851/sentencepiece-0.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c378492056202d1c48a4979650981635fd97875a00eabb1f00c6a236b013b5e", size = 1355931 },
861
+ { url = "https://files.pythonhosted.org/packages/a6/27/33019685023221ca8ed98e8ceb7ae5e166032686fa3662c68f1f1edf334e/sentencepiece-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1380ce6540a368de2ef6d7e6ba14ba8f3258df650d39ba7d833b79ee68a52040", size = 1301537 },
862
+ { url = "https://files.pythonhosted.org/packages/ca/e4/55f97cef14293171fef5f96e96999919ab5b4d1ce95b53547ad653d7e3bf/sentencepiece-0.2.0-cp310-cp310-win32.whl", hash = "sha256:a1151d6a6dd4b43e552394aed0edfe9292820272f0194bd56c7c1660a0c06c3d", size = 936747 },
863
+ { url = "https://files.pythonhosted.org/packages/85/f4/4ef1a6e0e9dbd8a60780a91df8b7452ada14cfaa0e17b3b8dfa42cecae18/sentencepiece-0.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:d490142b0521ef22bc1085f061d922a2a6666175bb6b42e588ff95c0db6819b2", size = 991525 },
864
+ { url = "https://files.pythonhosted.org/packages/32/43/8f8885168a47a02eba1455bd3f4f169f50ad5b8cebd2402d0f5e20854d04/sentencepiece-0.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:17982700c4f6dbb55fa3594f3d7e5dd1c8659a274af3738e33c987d2a27c9d5c", size = 2409036 },
865
+ { url = "https://files.pythonhosted.org/packages/0f/35/e63ba28062af0a3d688a9f128e407a1a2608544b2f480cb49bf7f4b1cbb9/sentencepiece-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7c867012c0e8bcd5bdad0f791609101cb5c66acb303ab3270218d6debc68a65e", size = 1238921 },
866
+ { url = "https://files.pythonhosted.org/packages/de/42/ae30952c4a0bd773e90c9bf2579f5533037c886dfc8ec68133d5694f4dd2/sentencepiece-0.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7fd6071249c74f779c5b27183295b9202f8dedb68034e716784364443879eaa6", size = 1181477 },
867
+ { url = "https://files.pythonhosted.org/packages/e3/ac/2f2ab1d60bb2d795d054eebe5e3f24b164bc21b5a9b75fba7968b3b91b5a/sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f90c55a65013cbb8f4d7aab0599bf925cde4adc67ae43a0d323677b5a1c6cb", size = 1259182 },
868
+ { url = "https://files.pythonhosted.org/packages/45/fb/14633c6ecf262c468759ffcdb55c3a7ee38fe4eda6a70d75ee7c7d63c58b/sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b293734059ef656dcd65be62ff771507bea8fed0a711b6733976e1ed3add4553", size = 1355537 },
869
+ { url = "https://files.pythonhosted.org/packages/fb/12/2f5c8d4764b00033cf1c935b702d3bb878d10be9f0b87f0253495832d85f/sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e58b47f933aca74c6a60a79dcb21d5b9e47416256c795c2d58d55cec27f9551d", size = 1301464 },
870
+ { url = "https://files.pythonhosted.org/packages/4e/b1/67afc0bde24f6dcb3acdea0dd8dcdf4b8b0db240f6bacd39378bd32d09f8/sentencepiece-0.2.0-cp311-cp311-win32.whl", hash = "sha256:c581258cf346b327c62c4f1cebd32691826306f6a41d8c4bec43b010dee08e75", size = 936749 },
871
+ { url = "https://files.pythonhosted.org/packages/a2/f6/587c62fd21fc988555b85351f50bbde43a51524caafd63bc69240ded14fd/sentencepiece-0.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:0993dbc665f4113017892f1b87c3904a44d0640eda510abcacdfb07f74286d36", size = 991520 },
872
+ { url = "https://files.pythonhosted.org/packages/27/5a/141b227ed54293360a9ffbb7bf8252b4e5efc0400cdeac5809340e5d2b21/sentencepiece-0.2.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ea5f536e32ea8ec96086ee00d7a4a131ce583a1b18d130711707c10e69601cb2", size = 2409370 },
873
+ { url = "https://files.pythonhosted.org/packages/2e/08/a4c135ad6fc2ce26798d14ab72790d66e813efc9589fd30a5316a88ca8d5/sentencepiece-0.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d0cb51f53b6aae3c36bafe41e86167c71af8370a039f542c43b0cce5ef24a68c", size = 1239288 },
874
+ { url = "https://files.pythonhosted.org/packages/49/0a/2fe387f825ac5aad5a0bfe221904882106cac58e1b693ba7818785a882b6/sentencepiece-0.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3212121805afc58d8b00ab4e7dd1f8f76c203ddb9dc94aa4079618a31cf5da0f", size = 1181597 },
875
+ { url = "https://files.pythonhosted.org/packages/cc/38/e4698ee2293fe4835dc033c49796a39b3eebd8752098f6bd0aa53a14af1f/sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a3149e3066c2a75e0d68a43eb632d7ae728c7925b517f4c05c40f6f7280ce08", size = 1259220 },
876
+ { url = "https://files.pythonhosted.org/packages/12/24/fd7ef967c9dad2f6e6e5386d0cadaf65cda8b7be6e3861a9ab3121035139/sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:632f3594d3e7ac8b367bca204cb3fd05a01d5b21455acd097ea4c0e30e2f63d7", size = 1355962 },
877
+ { url = "https://files.pythonhosted.org/packages/4f/d2/18246f43ca730bb81918f87b7e886531eda32d835811ad9f4657c54eee35/sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f295105c6bdbb05bd5e1b0cafbd78ff95036f5d3641e7949455a3f4e5e7c3109", size = 1301706 },
878
+ { url = "https://files.pythonhosted.org/packages/8a/47/ca237b562f420044ab56ddb4c278672f7e8c866e183730a20e413b38a989/sentencepiece-0.2.0-cp312-cp312-win32.whl", hash = "sha256:fb89f811e5efd18bab141afc3fea3de141c3f69f3fe9e898f710ae7fe3aab251", size = 936941 },
879
+ { url = "https://files.pythonhosted.org/packages/c6/97/d159c32642306ee2b70732077632895438867b3b6df282354bd550cf2a67/sentencepiece-0.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a673a72aab81fef5ebe755c6e0cc60087d1f3a4700835d40537183c1703a45f", size = 991994 },
880
+ ]
881
+
882
  [[package]]
883
  name = "setuptools"
884
  version = "75.3.0"
 
888
  { url = "https://files.pythonhosted.org/packages/90/12/282ee9bce8b58130cb762fbc9beabd531549952cac11fc56add11dcb7ea0/setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd", size = 1251070 },
889
  ]
890
 
891
+ [[package]]
892
+ name = "smmap"
893
+ version = "5.0.1"
894
+ source = { registry = "https://pypi.org/simple" }
895
+ sdist = { url = "https://files.pythonhosted.org/packages/88/04/b5bf6d21dc4041000ccba7eb17dd3055feb237e7ffc2c20d3fae3af62baa/smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62", size = 22291 }
896
+ wheels = [
897
+ { url = "https://files.pythonhosted.org/packages/a7/a5/10f97f73544edcdef54409f1d839f6049a0d79df68adbc1ceb24d1aaca42/smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da", size = 24282 },
898
+ ]
899
+
900
  [[package]]
901
  name = "sympy"
902
  version = "1.13.1"
 
1004
  { url = "https://files.pythonhosted.org/packages/57/6c/bf52ff061da33deb9f94f4121fde7ff3058812cb7d2036c97bc167793bd1/torch-2.5.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:8c712df61101964eb11910a846514011f0b6f5920c55dbf567bff8a34163d5b1", size = 63858109 },
1005
  ]
1006
 
1007
+ [[package]]
1008
+ name = "torchao"
1009
+ version = "0.6.1"
1010
+ source = { registry = "https://pypi.org/simple" }
1011
+ wheels = [
1012
+ { url = "https://files.pythonhosted.org/packages/9a/b9/d98bc56b8f428dab47099edcb0efe2c97ade265ddf7ce3b22192c9f0cf3b/torchao-0.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:51823f7c993e53fbf36a0e365cfd8ab2493a1d419783b663ef0954d763cea4a3", size = 813752 },
1013
+ { url = "https://files.pythonhosted.org/packages/4a/da/1b38da2c13dd33fa32656e39f4d2bbd1d34585964c6b2da54771cd1b670c/torchao-0.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:188fb6fb63595fe90f7b96aff93536e8e0bd131c8cfa39258da790d52affd805", size = 2225408 },
1014
+ { url = "https://files.pythonhosted.org/packages/5d/80/dfbd92550528b39c33920ec4126d6d91676295970e9512562a9949539de6/torchao-0.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ec420a0853314044f1895b0f513c37001ea2f685f5db5b4b375a4aa56342bd7e", size = 815065 },
1015
+ { url = "https://files.pythonhosted.org/packages/90/c2/19661fed3ea15e6a886b7175fdfc517e0b1be69122ca3337b8ac588358c4/torchao-0.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffe91fa7e4a5a9dda226f25d54519f28c0b56344801a01df8859cbc91821650f", size = 2226353 },
1016
+ { url = "https://files.pythonhosted.org/packages/70/11/94a04984f727e834ccd09d80153f749effc37c8e6ecfa17bbdf62a46c4c8/torchao-0.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:11382b798686eae4260278187ea882ba03a977376a4eee16fca3e73a0f7654ba", size = 813933 },
1017
+ { url = "https://files.pythonhosted.org/packages/ec/b1/32ed4c6c1a82ea734f7b46d940a2cd9af9f7425ca0cafdcfaf69108655ab/torchao-0.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9522762a7da4cd1fc92b3fcc4c1283b0443c287829077ee7854bbeca00f38b8", size = 2226506 },
1018
+ ]
1019
+
1020
  [[package]]
1021
  name = "tqdm"
1022
  version = "4.66.6"
 
1055
  version = "3.1.0"
1056
  source = { registry = "https://pypi.org/simple" }
1057
  dependencies = [
1058
+ { name = "filelock", marker = "(platform_machine != 'aarch64' and platform_system != 'Darwin') or (platform_system != 'Darwin' and platform_system != 'Linux')" },
1059
  ]
1060
  wheels = [
1061
  { url = "https://files.pythonhosted.org/packages/98/29/69aa56dc0b2eb2602b553881e34243475ea2afd9699be042316842788ff5/triton-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b0dd10a925263abbe9fa37dcde67a5e9b2383fc269fdf59f5657cac38c5d1d8", size = 209460013 },