maxffarrell commited on
Commit
8dea295
·
verified ·
1 Parent(s): 27ca70c

Pin reproducible runtime dependencies and checkpoint-specific export settings

Browse files
Files changed (3) hide show
  1. SHA256SUMS +2 -2
  2. convert_mini.py +9 -0
  3. validate_mini.py +2 -0
SHA256SUMS CHANGED
@@ -3,7 +3,7 @@ cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
3
  2c7ae2534f71c5b654eab75d7a974ebdb21ab137354bb3d0bd59aca2a736b8fe README.md
4
  9a27b3030743c234d6971b79592d0c39bf29f5e469ec406071b303a2f917a551 SOURCE.json
5
  13b2a7499c445d25eb9e6c7be9c242b30f7f88e2f6f1d70bc3b3becd50b0cc55 config.json
6
- d720cb43ee361fb162de1c5b8fb0460a9fde9f5a5f7f463e415293efd9e954cf convert_mini.py
7
  6e91d7729b36183cbbb7df684d1601efcd8ef25858f9c93fa31bf96a1c720bb8 coreai_mini.py
8
  3a83da88f746a41c45a23f3fcb3306978191bea6d93177a9207c4c479599c456 manifest.json
9
  d4e1bf42e2598b84d5800323fdec87fbf338613e8e866e6bb5ce11ed628c8cb2 requirements.txt
@@ -26,7 +26,7 @@ a8d97fff1f3efd130401987198943d69c67202f47e7f029d8887fea06bbcf573 text.aimodel/m
26
  b330fa3eef9565b6d4d2743ab3f2c71e87bed2b1246f92d7d7702be7da4bff33 text.aimodel/main.mlirb
27
  4c017ad5ee82a62b803dd371fa4a1b5585839d1896aee649ca1c909480304292 text.aimodel/metadata.json
28
  9fd55248d51d33976b324fc11592e28071da7d41e0e9401dfb7082e30574b7b1 tokenizer.json
29
- d733722602caf019fa2243033a62d890ac69339da38af6ddcbd99d79f07d6813 validate_mini.py
30
  72225fef1b5ebbdf0813c64b2bd63f491a77a36d06452eb77f9a50f7deae23aa validation.json
31
  046186ca6d28b322f5bc0d83cf26f9be271d2f1df6070f5c84c92e00ff9bb8c6 vision.aimodel/main.hash
32
  3c25d133ca87ec965d1e579e5027e9d71bc7aabe9356d98361806dddfd8ff596 vision.aimodel/main.mlirb
 
3
  2c7ae2534f71c5b654eab75d7a974ebdb21ab137354bb3d0bd59aca2a736b8fe README.md
4
  9a27b3030743c234d6971b79592d0c39bf29f5e469ec406071b303a2f917a551 SOURCE.json
5
  13b2a7499c445d25eb9e6c7be9c242b30f7f88e2f6f1d70bc3b3becd50b0cc55 config.json
6
+ e1cf24594a59921b4589c74ca28b99b9049fef3914ed4bbe0cac14160ac3891a convert_mini.py
7
  6e91d7729b36183cbbb7df684d1601efcd8ef25858f9c93fa31bf96a1c720bb8 coreai_mini.py
8
  3a83da88f746a41c45a23f3fcb3306978191bea6d93177a9207c4c479599c456 manifest.json
9
  d4e1bf42e2598b84d5800323fdec87fbf338613e8e866e6bb5ce11ed628c8cb2 requirements.txt
 
26
  b330fa3eef9565b6d4d2743ab3f2c71e87bed2b1246f92d7d7702be7da4bff33 text.aimodel/main.mlirb
27
  4c017ad5ee82a62b803dd371fa4a1b5585839d1896aee649ca1c909480304292 text.aimodel/metadata.json
28
  9fd55248d51d33976b324fc11592e28071da7d41e0e9401dfb7082e30574b7b1 tokenizer.json
29
+ a6e34cdf9e0864eb66ee272357b9a4afe37498834cca5e220fe148754a8d73b0 validate_mini.py
30
  72225fef1b5ebbdf0813c64b2bd63f491a77a36d06452eb77f9a50f7deae23aa validation.json
31
  046186ca6d28b322f5bc0d83cf26f9be271d2f1df6070f5c84c92e00ff9bb8c6 vision.aimodel/main.hash
32
  3c25d133ca87ec965d1e579e5027e9d71bc7aabe9356d98361806dddfd8ff596 vision.aimodel/main.mlirb
convert_mini.py CHANGED
@@ -4,6 +4,14 @@ from pathlib import Path
4
  import torch
5
  from coreai_torch import TorchConverter,get_decomp_table
6
 
 
 
 
 
 
 
 
 
7
  class Text(torch.nn.Module):
8
  def __init__(self,m):
9
  super().__init__(); self.m=m
@@ -33,6 +41,7 @@ def main():
33
  source=Path(a.source).resolve();out=Path(a.output);out.mkdir(parents=True,exist_ok=True)
34
  sys.path.insert(0,str(source/'serve'))
35
  from amos.model import load_run
 
36
  torch.set_num_threads(4)
37
  m,codec=load_run(source);m.eval()
38
  args=(torch.full((1,a.length),codec.pad,dtype=torch.int32),torch.arange(a.length,dtype=torch.int32)[None],torch.zeros(1,a.length,dtype=torch.int32),torch.zeros(1,a.length,dtype=torch.int32),torch.zeros(1,a.length,m.encoder.config.hidden_size),torch.zeros(1,a.length,1,dtype=torch.bool))
 
4
  import torch
5
  from coreai_torch import TorchConverter,get_decomp_table
6
 
7
+ PINNED_DEPENDENCIES={'jhu-clsp/ettin-encoder-400m':'7662476d60abb071a5bd319c9f3074f3072c062d','google/siglip2-base-patch16-224':'75de2d55ec2d0b4efc50b3e9ad70dba96a7b2fa2'}
8
+ def pin_dependencies():
9
+ from huggingface_hub import hf_hub_download
10
+ import amos.packing,amos.vision
11
+ def pinned(repo,filename,**kwargs):
12
+ return hf_hub_download(repo,filename,revision=PINNED_DEPENDENCIES[repo],**kwargs)
13
+ amos.packing.hf_hub_download=pinned;amos.vision.hf_hub_download=pinned
14
+
15
  class Text(torch.nn.Module):
16
  def __init__(self,m):
17
  super().__init__(); self.m=m
 
41
  source=Path(a.source).resolve();out=Path(a.output);out.mkdir(parents=True,exist_ok=True)
42
  sys.path.insert(0,str(source/'serve'))
43
  from amos.model import load_run
44
+ pin_dependencies()
45
  torch.set_num_threads(4)
46
  m,codec=load_run(source);m.eval()
47
  args=(torch.full((1,a.length),codec.pad,dtype=torch.int32),torch.arange(a.length,dtype=torch.int32)[None],torch.zeros(1,a.length,dtype=torch.int32),torch.zeros(1,a.length,dtype=torch.int32),torch.zeros(1,a.length,m.encoder.config.hidden_size),torch.zeros(1,a.length,1,dtype=torch.bool))
validate_mini.py CHANGED
@@ -19,6 +19,8 @@ async def main():
19
  from amos.model import load_run,pack_request,decode
20
  from amos.packing import collate
21
  from amos.vision import preprocess
 
 
22
  torch.set_num_threads(4);reference,codec=load_run(source)
23
  ai=await AmosMini.load(root)
24
  cases=[
 
19
  from amos.model import load_run,pack_request,decode
20
  from amos.packing import collate
21
  from amos.vision import preprocess
22
+ from convert_mini import pin_dependencies
23
+ pin_dependencies()
24
  torch.set_num_threads(4);reference,codec=load_run(source)
25
  ai=await AmosMini.load(root)
26
  cases=[