NeuroVision-API / Deployment /shard_model.py
pahariomnisavanataryan's picture
feat: update to Llama-4 and refine deployment files
358011e
Raw
History Blame Contribute Delete
1.01 kB
import os
from transformers import BlipForQuestionAnswering
def shard_model():
project_root = os.path.dirname(os.path.dirname(__file__))
input_model_dir = os.path.join(project_root, "models", "last-saved-model")
output_model_dir = os.path.join(project_root, "models", "sharded-model")
print(f"Loading model from {input_model_dir}...")
# Load the model strictly preferring safetensors
model = BlipForQuestionAnswering.from_pretrained(
input_model_dir,
use_safetensors=True,
device_map="cpu"
)
print(f"Saving sharded model to {output_model_dir} (max chunk size: 400MB)...")
os.makedirs(output_model_dir, exist_ok=True)
# max_shard_size forces it to break the safetensors into multiple 400MB files
model.save_pretrained(
output_model_dir,
max_shard_size="400MB",
safe_serialization=True
)
print("Done! The model is now sharded and ready for upload.")
if __name__ == "__main__":
shard_model()